d1140f3a3207cdab557bcacea96af70e3771412e
[gnulib.git] / ChangeLog
1 2010-03-07  Bruno Haible  <bruno@clisp.org>
2
3         stdio: Avoid #define replacements in C++ mode.
4         * lib/stdio.in.h: Include c++defs.h.
5         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
6         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
7         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
8         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
9         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
10         namespaced alias symbol.
11         * modules/stdio (Depends-on): Add c++defs.
12         (Makefile.am): Update stdio.h rule.
13
14         spawn: Avoid #define replacements in C++ mode.
15         * lib/spawn.in.h: Include c++defs.h.
16         (posix_spawn, posix_spawnp, posix_spawnattr_init,
17         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
18         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
19         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
20         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
21         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
22         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
23         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
24         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
25         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
26         In C++, define a namespaced alias symbol.
27         * modules/spawn (Depends-on): Add c++defs.
28         (Makefile.am): Update spawn.h rule.
29
30         signal: Avoid #define replacements in C++ mode.
31         * lib/signal.in.h: Include c++defs.h.
32         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
33         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
34         namespaced alias symbol.
35         * modules/signal (Depends-on): Add c++defs.
36         (Makefile.am): Update signal.h rule.
37
38         search: Avoid #define replacements in C++ mode.
39         * lib/search.in.h: Include c++defs.h.
40         (_gl_search_compar_fn, _gl_search_action_fn): New types.
41         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
42         symbol.
43         * modules/search (Depends-on): Add c++defs.
44         (Makefile.am): Update search.h rule.
45
46         math: Avoid #define replacements in C++ mode.
47         * lib/math.in.h: Include c++defs.h.
48         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
49         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
50         trunc, truncl): In C++, define a namespaced alias symbol.
51         * modules/math (Depends-on): Add c++defs.
52         (Makefile.am): Update math.h rule.
53
54         locale: Avoid #define replacements in C++ mode.
55         * lib/locale.in.h: Include c++defs.h.
56         (duplocale): In C++, define a namespaced alias symbol.
57         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
58         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
59         * modules/locale (Depends-on): Add c++defs.
60         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
61
62         langinfo: Avoid #define replacements in C++ mode.
63         * lib/langinfo.in.h: Include c++defs.h.
64         (nl_langinfo): In C++, define a namespaced alias symbol.
65         * modules/langinfo (Depends-on): Add c++defs.
66         (Makefile.am): Update langinfo.h rule.
67
68         iconv-h: Avoid #define replacements in C++ mode.
69         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
70         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
71         symbol.
72         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
73         whenever iconv is present.
74         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
75         (Makefile.am): Update iconv.h rule.
76
77         glob: Avoid #define replacements in C++ mode.
78         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
79         (_gl_glob_errfunc_fn): New type.
80         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
81         symbol.
82         * modules/glob (Depends-on): Add c++defs, warn-on-use.
83         (Makefile.am): Update glob.h rule.
84
85         fcntl-h: Avoid #define replacements in C++ mode.
86         * lib/fcntl.in.h: Include c++defs.h.
87         (fcntl, open, openat): In C++, define a namespaced alias symbol.
88         * modules/fcntl-h (Depends-on): Add c++defs.
89         (Makefile.am): Update fcntl.h rule.
90
91         dirent: Avoid #define replacements in C++ mode.
92         * lib/dirent.in.h: Include c++defs.h.
93         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
94         namespaced alias symbol.
95         (dirfd): Update declaration.
96         * modules/dirent (Depends-on): Add c++defs.
97         (Makefile.am): Update dirent.h rule.
98
99         ctype: Make it usable in C++ code.
100         * lib/ctype.in.h: Include c++defs.h.
101         (isblank): Declare as extern "C".
102         * modules/ctype (Depends-on): Add c++defs.
103         (Makefile.am): Update ctype.h rule.
104
105         New module 'c++defs'.
106         * modules/c++defs: New file.
107         * build-aux/c++defs.h: New file.
108         Reported by John W. Eaton <jwe@gnu.org>.
109
110 2010-03-07  Bruno Haible  <bruno@clisp.org>
111
112         logb: Provide missing declaration for Cygwin.
113         * lib/math.in.h (logb): New declaration.
114         * m4/logb.m4: New file.
115         * modules/logb (Files): Add m4/logb.m4.
116         (Depends-on): Add math.
117         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
118         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
119         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
120         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
121         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
122
123 2010-03-07  Bruno Haible  <bruno@clisp.org>
124
125         Fix test-cond link error.
126         * tests/test-cond.c: Include <stdio.h>.
127
128 2010-03-07  Bruno Haible  <bruno@clisp.org>
129
130         Fix test-dirent-safer link error.
131         * modules/dirent-safer-tests (Makefile.am): Define
132         test_dirent_safer_LDADD.
133
134 2010-03-07  Bruno Haible  <bruno@clisp.org>
135
136         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
137         among default module list.
138
139 2010-03-07  Bruno Haible  <bruno@clisp.org>
140
141         Fix link error on platforms with GNU libiconv.
142         * modules/unistr/u8-strcoll-tests (Makefile): Define
143         test_u8_strcoll_LDADD.
144         * modules/unistr/u16-strcoll-tests (Makefile): Define
145         test_u16_strcoll_LDADD.
146         * modules/unistr/u32-strcoll-tests (Makefile): Define
147         test_u32_strcoll_LDADD.
148
149 2010-03-07  Bruno Haible  <bruno@clisp.org>
150
151         Use POSIX declarations for socket functions.
152         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
153         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
154         rpl_sendto): Change declaration to match POSIX.
155         * lib/connect.c (rpl_connect): Likewise.
156         * lib/accept.c (rpl_accept): Likewise.
157         * lib/bind.c (rpl_bind): Likewise.
158         * lib/getpeername.c (rpl_getpeername): Likewise.
159         * lib/getsockname.c (rpl_getsockname): Likewise.
160         * lib/recv.c (rpl_recv): Likewise.
161         * lib/send.c (rpl_send): Likewise.
162         * lib/recvfrom.c (rpl_recvfrom): Likewise.
163         * lib/sendto.c (rpl_sendto): Likewise.
164
165 2010-03-06  Bruno Haible  <bruno@clisp.org>
166
167         Clarify access, euidaccess, faccessat.
168         * doc/posix-functions/faccessat.texi: Mention security problem under
169         "Other problems", not "Portability problems".
170         * doc/posix-functions/access.texi: Likewise. Mention a related security
171         problem.
172         * doc/glibc-functions/euidaccess.texi: Mention security problems.
173         * lib/euidaccess.c: Add comments about platforms.
174         * lib/unistd.in.h (access, euidaccess): Add warnings.
175
176 2010-03-07  Bruno Haible  <bruno@clisp.org>
177
178         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
179         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
180         (POSIX_SPAWN_SETSCHEDULER): Likewise.
181         (POSIX_SPAWN_USEVFORK): Define in a way that works when
182         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
183         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
184         declare when POSIX_SPAWN_SETSCHEDULER is zero.
185         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
186         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
187         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
188         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
189         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
190         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
191         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
192         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
193         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
194         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
195         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
196         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
197         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
198         Likewise.
199         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
200         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
201         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
202         Likewise.
203         * tests/test-spawn.c (main): Make it work when
204         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
205
206 2010-03-07  Bruno Haible  <bruno@clisp.org>
207
208         Fix incorrect Makefile.am generation in German locale.
209         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
210         Execute sed command with character range in C locale.
211
212 2010-03-06  Bruno Haible  <bruno@clisp.org>
213
214         Tests for module 'iconv-h'.
215         * modules/iconv-h-tests: New file.
216         * tests/test-iconv-h.c: New file.
217
218         New module 'iconv-h'.
219         * modules/iconv-h: New file.
220         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
221         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
222         (configure.ac): Remove gl_ICONV_H.
223         (Makefile.am): Remove rule for iconv.h.
224
225 2010-03-06  Bruno Haible  <bruno@clisp.org>
226
227         More consistent naming of *.m4 files.
228         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
229         * modules/wctype (Files): Update.
230
231         More consistent naming of *.m4 files.
232         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
233         * modules/wchar (Files): Update.
234
235 2010-03-06  Jim Meyering  <meyering@redhat.com>
236
237         euidaccess: relax license to LGPLv2+
238         * modules/euidaccess (License): Relax to LGPLv2+.
239
240 2010-03-06  Bruno Haible  <bruno@clisp.org>
241
242         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
243         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
244         (Makefile.am): Augment lib_SOURCES instead.
245
246 2010-03-04  Jim Meyering  <meyering@redhat.com>
247
248         utime: remove obsolete module
249         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
250         unnecessary for years, and has been marked as obsolete for 10 months.
251         * modules/utime: Remove file.
252         * lib/utime.c: Remove file.
253         * m4/utime.m4: Remove file.
254         * m4/utimes-null.m4: Remove file.
255         * doc/posix-functions/utime.texi (utime): Remove reference to
256         the module.  Move the sole "fixed by gnulib" item into the
257         "problems not fixed by Gnulib" list.
258         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
259
260 2010-03-05  Simon Josefsson  <simon@josefsson.org>
261
262         * modules/exit (License): Relax license to LGPLv2+.
263         (Status): Mark as obsolete.
264         * NEWS: Mention deprecated 'exit' module.
265         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
266         of now obsolete 'exit'.
267
268 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
269
270         fts-lgpl: remove unused module
271         * modules/fts-lgpl: Remove.
272         * MODULES.html.sh (func_all_modules): Adjust.
273         * check-module (find_included_lib_files): Adjust.
274         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
275
276 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
277
278         copy-acl: enhance Solaris ACL error handling
279         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
280         * lib/set-mode-acl.c (qset_acl): Likewise.
281
282 2010-03-02  Bruno Haible  <bruno@clisp.org>
283
284         spawn: Don't override the system defined values on FreeBSD 8.
285         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
286         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
287         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
288         if HAVE_POSIX_SPAWN is 1.
289         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
290
291 2010-03-01  Bruno Haible  <bruno@clisp.org>
292
293         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
294         regarding Automake.
295
296 2010-02-25  Bruno Haible  <bruno@clisp.org>
297
298         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
299         * gnulib-tool: Define 'echo' as a function only before the ksh alias
300         setting, not afterwards.
301         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
302
303 2010-02-24  Eric Blake  <eblake@redhat.com>
304
305         bootstrap, git-version-gen: use timestamp
306         * build-aux/git-version-gen (scriptversion): Force UTC.
307         * build-aux/bootstrap (scriptversion): New variable.
308
309         bootstrap: allow older git
310         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
311         older than 1.6.4.  Requested by the libvirt project.
312
313 2010-02-23  Eric Blake  <eblake@redhat.com>
314
315         warn-on-use: work with old autoconf
316         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
317         AS_VAR semantics of autoconf 2.60.
318         Reported by Bruno Haible.
319
320         bootstrap: improve some comments
321         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
322         clarification comments.
323
324         gettimeofday: provide correct function
325         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
326         when replacement is declared, otherwise provide gettimeofday.
327         Reported by Michael Goffioul.
328
329 2010-02-23  Jim Meyering  <meyering@redhat.com>
330
331         lib-ignore: relax license to "unlimited", not LGPLv2+
332         * modules/lib-ignore (License): Relax to "unlimited".
333
334 2010-02-23  Jim Meyering  <meyering@redhat.com>
335
336         lib-ignore: relax license to LGPLv2+
337         * modules/lib-ignore (License): Relax to LGPLv2+.
338
339 2010-02-22  Eric Blake  <eblake@redhat.com>
340
341         lseek: avoid bash 3.2 broken pipe bug
342         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
343         warning from bash 3.2.
344         Reported by Ben Pfaff, with analysis from Bruno Haible.
345
346         bootstrap: support non-FSF copyright holder
347         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
348         bootstrap.conf override of COPYRIGHT_HOLDER.
349         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
350
351         bootstrap: interoperate with gettext 0.14.1
352         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
353
354         bootstrap: allow for alternate submodule location
355         * build-aux/bootstrap (gnulib_path): New variable; use instead of
356         hardcoding submodule location.
357         (gnulib_mk): Allow direct use of Makefile.am.
358
359         bootstrap: use GNULIB_SRCDIR to reduce disk usage
360         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
361         rather than reconfiguring where the submodule points.
362
363         gettimeofday: restore support for platforms that lack function
364         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
365         replacement if function is missing.
366         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
367         * modules/sys_time (Makefile.am): Substitute it.
368         * lib/sys_time.in.h (gettimeofday): Check it.
369         Reported by Michael Goffioul.
370
371 2010-02-21  Bruno Haible  <bruno@clisp.org>
372
373         * lib/stdio.in.h (obstack_printf): Fix typo.
374
375 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
376
377         vc-list-files: use bzr ls's -R option
378         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
379         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
380
381 2010-02-21  Jim Meyering  <meyering@redhat.com>
382
383         init.sh: fix EXEEXT shims to work also for names like test-prog
384         * tests/init.sh: Re-exec a better shell, when needed.
385         If the current shell lacks support for posix $(...), an init.sh-using
386         test will now try to find a shell that supports that.  If EXEEXT is
387         nonempty, we also require support for hyphen-in-alias-name and shell
388         substitutions like ${var#glob}.  Failure to find such a shell results
389         in a skipped test.
390
391 2010-02-21  Bruno Haible  <bruno@clisp.org>
392
393         Really work around around "broken pipe" error message from bash 3.2.
394         * gnulib-tool (func_reset_sigpipe): Remove function.
395         (echo): In bash 3.2, define to a function that uses printf.
396         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
397
398 2010-02-20  Bruno Haible  <bruno@clisp.org>
399
400         Restore support for automake 1.9.6 with autoconf 2.61.
401         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
402         Reported by James Youngman <jay@gnu.org>.
403
404 2010-02-20  Bruno Haible  <bruno@clisp.org>
405
406         Improve *printf warning condition.
407         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
408         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
409         and the function is overridden due to SIGPIPE emulation.
410
411 2010-02-20  Bruno Haible  <bruno@clisp.org>
412
413         * lib/stdio.in.h: Tweak comments.
414
415 2010-02-19  Bruno Haible  <bruno@clisp.org>
416
417         Make it easier to find modules. New gnulib-tool option '--find'.
418         * gnulib-tool: New option --find.
419         (func_usage): Document it.
420         (func_sanitize_modulelist): New function, extracted from
421         func_all_modules.
422         (func_all_modules): Invoke it.
423         * doc/gnulib-tool.texi (Which modules?): New node.
424
425 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
426
427         * lib/sys_select.in.h: Provide select replacement even if
428         sys/select.h exists on a system, for Interix.
429
430 2010-02-18  Jim Meyering  <meyering@redhat.com>
431
432         init.sh: don't use $(...) just yet
433         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
434         to accommodate e.g., Solaris' /bin/sh.
435
436 2010-02-17  Bruno Haible  <bruno@clisp.org>
437
438         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
439         Reported by Ludovic Courtès <ludo@gnu.org>.
440
441 2010-02-16  Simon Josefsson  <simon@josefsson.org>
442
443         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
444         linking with -lintl.
445
446 2010-02-17  Simon Josefsson  <simon@josefsson.org>
447
448         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
449         if not provided by the system's netdb.h.  Reported by
450         ludo@gnu.org (Ludovic Courtès).
451
452 2010-02-15  Jim Meyering  <meyering@redhat.com>
453
454         init.sh: improve portability and efficiency
455         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
456         "dummy" in a for loop.
457         Use '!', not '^' to select the complement of a character set used
458         in a "case" statement.
459         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
460         Suggestions from Eric Blake.
461
462         init.sh: automatically accommodate programs with the .exe suffix
463         Automatically arrange for an invocation of "prog" to execute the
464         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
465         may use the simpler "prog", yet still work when built on a system
466         that requires specifying the added suffix.
467         Do this by constructing a function named "prog" that invokes
468         "prog.exe" for each .exe file in selected directories.
469         * tests/init.sh (find_exe_basenames_): New function.
470         (create_exe_shim_functions_): New function.
471         (path_prepend_): Use it.
472
473         maint.mk: mark syntax-check sc_*.m rules as .PHONY
474         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
475         "make -t syntax-check" doesn't create a ton of sc_*.m files.
476
477 2010-02-14  Jim Meyering  <meyering@redhat.com>
478
479         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
480         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
481         (sc_prohibit_hash_pjw_without_use): New rule.
482
483         maint.mk: allow the default upload destination dir to be overridden
484         * top/maint.mk (upload_dest_dir_): Define with a default that
485         preserves the status quo.
486         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
487         Reported by Peter Simons.
488
489         maint.mk: prohibit inclusion of "hash.h" without_use
490         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
491
492 2010-02-10  Jim Meyering  <meyering@redhat.com>
493
494         maint.mk: prohibit inclusion of "ignore-value.h" without_use
495         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
496
497 2010-02-09  Eric Blake  <ebb9@byu.net>
498         and Bruno Haible  <bruno@clisp.org>
499
500         obstack-printf-posix: ensure declaration
501         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
502         extracted from gl_FUNC_OBSTACK_PRINTF.
503         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
504         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
505         Likewise.
506         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
507         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
508         0.
509
510 2010-02-08  Bruno Haible  <bruno@clisp.org>
511
512         gnulib-tool: Fix typo in 2010-02-07 commit.
513         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
514         Reported by Eric Blake.
515
516 2010-02-07  Bruno Haible  <bruno@clisp.org>
517
518         gnulib-tool: Fix up caching patches.
519         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
520         option --no-cache. Use associative arrays when supported by the shell.
521         (sed_comments): New variable.
522         (modcache): Renamed from do_cache.
523         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
524         abbreviate unnecessarily.
525         (have_associative): New variable.
526         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
527         way also for ksh and zsh.
528         (func_init_sed_convert_to_cache_statements): New function, extracted
529         from func_cache_lookup_module. Add support for associative arrays.
530         Don't set the c_MODULE_cached variable here. Ignore all lines before
531         the first field header. Remove only the final newline, not all trailing
532         newlines. Support empty fields correctly. Limit the use of 'eval' to
533         assignments.
534         (func_get_description, func_get_status, func_get_notice,
535         func_get_applicability, func_get_filelist, func_get_dependencies,
536         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
537         func_get_automake_snippet, func_get_include_directive,
538         func_get_link_directive, func_get_license, func_get_maintainer):
539         Update documentation. List the unoptimized code first. Add support for
540         associative arrays. Limit the use of 'eval' to assignments.
541         (func_get_applicability): Undo stylistic pessimisations.
542         (func_get_automake_snippet, func_get_include_directive): Reduce code
543         duplication.
544         (func_modules_transitive_closure, func_modules_add_dummy,
545         func_modules_notice, func_modules_to_filelist, func_add_file,
546         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
547         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
548         func_create_testdir, func_create_megatestdir): Update documentation.
549
550 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
551
552         * gnulib-tool (func_cache_lookup_module): Store the module name
553         belonging to the cache variable; error out if two different
554         module names map to the same cache variable name.
555
556 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
557
558         gnulib-tool: Make caching optional.
559         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
560         Update matching short versions of --no-changelog.
561         (func_usage): Update.
562         (sed_extract_cache_prog): Renamed from ...
563         (sed_extract_prog): ... this; revert to old extraction script.
564         (func_get_description, func_get_status)
565         (func_get_notice, func_get_applicability, func_get_filelist)
566         (func_get_dependencies, func_get_autoconf_early_snippet)
567         (func_get_autoconf_snippet, func_get_automake_snippet)
568         (func_get_include_directive, func_get_link_directive)
569         (func_get_license, func_get_maintainer): If $do_cache is false,
570         use old, non-caching extraction scripts.
571         Suggestion by Bruno Haible.
572
573 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
574
575         gnulib-tool: cache module metainformation.
576         * gnulib-tool (sed_extract_prog): Match newline before each
577         header, and rewrite header to a shell variable suffix.
578         (func_cache_var, func_cache_lookup_module): New functions,
579         to turn a module name into a cache variable prefix, and to
580         look up and cache module metainformation.
581         (func_get_description, func_get_status)
582         (func_get_notice, func_get_applicability, func_get_filelist)
583         (func_get_dependencies, func_get_autoconf_early_snippet)
584         (func_get_autoconf_snippet, func_get_automake_snippet)
585         (func_get_include_directive, func_get_link_directive)
586         (func_get_license, func_get_maintainer): Use
587         func_cache_lookup_module.
588
589 2010-02-07  Bruno Haible  <bruno@clisp.org>
590
591         fnctl: Fix missing dependency.
592         * modules/fcntl (Depends-on): Add getdtablesize.
593         Reported by John W. Eaton <jwe@gnu.org>.
594
595 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
596
597         Argp: fix recognition of short alias options.
598
599         * lib/argp-parse.c (convert_options): Fix improper use of
600         `|' between character values.
601         * tests/test-argp.c (group1_option): New alias option
602         --read (-r).
603         (group1_parser): Special handling for 'r'.
604         (test15): New test case.
605         (test_fun): Add test15.
606         * tests/test-argp-2.sh: Update expected --help and --usage
607         outputs.
608
609 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
610
611         * tests/test-argp.c: Fix indentation.
612
613 2010-02-04  Eric Blake  <ebb9@byu.net>
614
615         gettimeofday: expose type of second argument
616         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
617         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
618         * tests/test-gettimeofday.c: Use it to silence warning.
619         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
620         the issue.
621
622 2010-02-03  Jim Meyering  <meyering@redhat.com>
623
624         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
625         * lib/regcomp.c (TYPE_SIGNED): Define.
626         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
627
628         regcomp.c: avoid a new -Wshadow warning
629         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
630
631 2010-02-01  Jim Meyering  <meyering@redhat.com>
632
633         removing useless parentheses in cpp #define directives
634         For motivation, see commit c0221df4, "define STREQ(a,b)
635         consistently, removing useless parentheses"
636         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
637         * lib/mountlist.c (MNT_IGNORE): Likewise.
638         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
639
640 2010-02-01  Eric Blake  <ebb9@byu.net>
641
642         sys_time: use link-warning
643         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
644         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
645         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
646         * modules/sys_time (Depends-on): Add warn-on-use.
647         (Makefile.am): Always build replacement.
648         (configure.ac): Update substitutions.
649         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
650         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
651         bother with SYS_TIME_H.
652         * modules/gettimeofday (configure.ac): Declare indicator.
653         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
654         in use.
655
656         closein-tests: silence compiler warning
657         * tests/test-closein.c (main): Ignore fread result.
658         * modules/closein-tests (Depends-on): Add ignore-value.
659
660         tests: silence warning about system return
661         * tests/test-areadlink-with-size.c (main): Ignore system result.
662         * tests/test-areadlink.c (main): Likewise.
663         * tests/test-areadlinkat-with-size.c (main): Likewise.
664         * tests/test-areadlinkat.c (main): Likewise.
665         * tests/test-canonicalize-lgpl.c (main): Likewise.
666         * tests/test-canonicalize.c (main): Likewise.
667         * tests/test-chown.c (main): Likewise.
668         * tests/test-fchownat.c (main): Likewise.
669         * tests/test-fdutimensat.c (main): Likewise.
670         * tests/test-fstatat.c (main): Likewise.
671         * tests/test-futimens.c (main): Likewise.
672         * tests/test-lchown.c (main): Likewise.
673         * tests/test-link.c (main): Likewise.
674         * tests/test-linkat.c (main): Likewise.
675         * tests/test-lstat.c (main): Likewise.
676         * tests/test-mkdir.c (main): Likewise.
677         * tests/test-mkdirat.c (main): Likewise.
678         * tests/test-mkfifo.c (main): Likewise.
679         * tests/test-mkfifoat.c (main): Likewise.
680         * tests/test-mknod.c (main): Likewise.
681         * tests/test-readlink.c (main): Likewise.
682         * tests/test-remove.c (main): Likewise.
683         * tests/test-rename.c (main): Likewise.
684         * tests/test-renameat.c (main): Likewise.
685         * tests/test-rmdir.c (main): Likewise.
686         * tests/test-symlink.c (main): Likewise.
687         * tests/test-symlinkat.c (main): Likewise.
688         * tests/test-unlink.c (main): Likewise.
689         * tests/test-unlinkat.c (main): Likewise.
690         * tests/test-utimens.c (main): Likewise.
691         * tests/test-utimensat.c (main): Likewise.
692         * modules/areadlink-tests (Depends-on): Add ignore-value.
693         * modules/areadlink-with-size-tests (Depends-on): Likewise.
694         * modules/areadlinkat-tests (Depends-on): Likewise.
695         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
696         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
697         * modules/canonicalize-tests (Depends-on): Likewise.
698         * modules/chown-tests (Depends-on): Likewise.
699         * modules/fdutimensat-tests (Depends-on): Likewise.
700         * modules/futimens-tests (Depends-on): Likewise.
701         * modules/lchown-tests (Depends-on): Likewise.
702         * modules/link-tests (Depends-on): Likewise.
703         * modules/linkat-tests (Depends-on): Likewise.
704         * modules/lstat-tests (Depends-on): Likewise.
705         * modules/mkdir-tests (Depends-on): Likewise.
706         * modules/mkfifo-tests (Depends-on): Likewise.
707         * modules/mkfifoat-tests (Depends-on): Likewise.
708         * modules/mknod-tests (Depends-on): Likewise.
709         * modules/openat-tests (Depends-on): Likewise.
710         * modules/readlink-tests (Depends-on): Likewise.
711         * modules/remove-tests (Depends-on): Likewise.
712         * modules/rename-tests (Depends-on): Likewise.
713         * modules/renameat-tests (Depends-on): Likewise.
714         * modules/rmdir-tests (Depends-on): Likewise.
715         * modules/symlink-tests (Depends-on): Likewise.
716         * modules/symlinkat-tests (Depends-on): Likewise.
717         * modules/unlink-tests (Depends-on): Likewise.
718         * modules/utimens-tests (Depends-on): Likewise.
719         * modules/utimensat-tests (Depends-on): Likewise.
720
721 2010-01-31  Bruno Haible  <bruno@clisp.org>
722
723         Perform the same test for many <math.h> functions.
724         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
725         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
726         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
727         of gl_MATHFUNC.
728         * modules/acos (configure.ac): Likewise.
729         * modules/asin (configure.ac): Likewise.
730         * modules/atan (configure.ac): Likewise.
731         * modules/atan2 (configure.ac): Likewise.
732         * modules/cbrt (configure.ac): Likewise.
733         * modules/copysign (configure.ac): Likewise.
734         * modules/cos (configure.ac): Likewise.
735         * modules/cosh (configure.ac): Likewise.
736         * modules/erf (configure.ac): Likewise.
737         * modules/erfc (configure.ac): Likewise.
738         * modules/exp (configure.ac): Likewise.
739         * modules/fmod (configure.ac): Likewise.
740         * modules/hypot (configure.ac): Likewise.
741         * modules/j0 (configure.ac): Likewise.
742         * modules/j1 (configure.ac): Likewise.
743         * modules/jn (configure.ac): Likewise.
744         * modules/lgamma (configure.ac): Likewise.
745         * modules/log (configure.ac): Likewise.
746         * modules/log10 (configure.ac): Likewise.
747         * modules/log1p (configure.ac): Likewise.
748         * modules/pow (configure.ac): Likewise.
749         * modules/remainder (configure.ac): Likewise.
750         * modules/sin (configure.ac): Likewise.
751         * modules/sinh (configure.ac): Likewise.
752         * modules/tan (configure.ac): Likewise.
753         * modules/tanh (configure.ac): Likewise.
754         * modules/y0 (configure.ac): Likewise.
755         * modules/y1 (configure.ac): Likewise.
756         * modules/yn (configure.ac): Likewise.
757         Suggested by Paolo Bonzini.
758
759 2010-01-31  Bruno Haible  <bruno@clisp.org>
760
761         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
762
763 2010-01-31  Bruno Haible  <bruno@clisp.org>
764
765         Work around getdelim() bug on FreeBSD 8.0.
766         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
767         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
768         not work.
769         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
770         is 1.
771         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
772         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
773         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
774         a non-zero size.
775         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
776
777 2010-01-31  Bruno Haible  <bruno@clisp.org>
778
779         Work around getline() bug on FreeBSD 8.0.
780         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
781         and a non-zero size.
782         * tests/test-getline.c (main): Likewise.
783         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
784         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
785
786 2010-01-28  Eric Blake  <ebb9@byu.net>
787
788         regex: fix build failure
789         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
790         platforms.
791
792 2010-01-28  Jim Meyering  <meyering@redhat.com>
793
794         regex: do not ignore memory allocation failure
795         * lib/regex_internal.c (create_cd_newstate): Detect
796         re_node_set_init_copy failure.   Extracted from glibc commit
797         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
798
799         regex: sync more white-space changes from libc
800         * lib/regex_internal.c: White-space only changes.
801         * lib/regexec.c: Likewise.
802
803         regex: add many uses of __attribute_warn_unused_result__
804         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
805         * lib/regexec.c: Likewise.
806         Extracted from a messy glibc commit.
807
808         regcomp.c: spelling and merge-artifact from glibc
809         * lib/regcomp.c: Merge remainder of glibc's
810         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
811
812         regcomp.c: sync white-space changes from glibc
813         * lib/regcomp.c: Merge to accommodate white space
814         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
815
816         regcomp.c: do not ignore internal return values
817         * lib/regcomp.c: Do not ignore internal return values.
818         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
819         but without its white-space changes and spelling fixes.
820
821         regex_internal.h: define __attribute_warn_unused_result__
822         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
823
824         maint: add a syntax-check rule to check for vulnerable Makefile.in
825         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
826
827 2010-01-27  Jim Meyering  <meyering@redhat.com>
828
829         ncftpput-ftp: clean up spaces
830         * build-aux/ncftpput-ftp: Make Copyright line consistent.
831         Remove trailing blanks.
832
833 2010-01-27  Simon Josefsson  <simon@josefsson.org>
834
835         * build-aux/git-version-gen: Fix copyright statement.
836         * build-aux/gnupload: Likewise.
837         * tests/test-arcfour.c: Likewise.
838         * tests/test-arctwo.c: Likewise.
839         * tests/test-count-one-bits.c: Likewise.
840         * tests/test-crc.c: Likewise.
841         * tests/test-des.c: Likewise.
842         * tests/test-gc-arcfour.c: Likewise.
843         * tests/test-gc-arctwo.c: Likewise.
844         * tests/test-gc-des.c: Likewise.
845         * tests/test-gc-hmac-md5.c: Likewise.
846         * tests/test-gc-hmac-sha1.c: Likewise.
847         * tests/test-gc-md2.c: Likewise.
848         * tests/test-gc-md4.c: Likewise.
849         * tests/test-gc-md5.c: Likewise.
850         * tests/test-gc-pbkdf2-sha1.c: Likewise.
851         * tests/test-gc-rijndael.c: Likewise.
852         * tests/test-gc-sha1.c: Likewise.
853         * tests/test-gc.c: Likewise.
854         * tests/test-gethostname.c: Likewise.
855         * tests/test-gettimeofday.c: Likewise.
856         * tests/test-hash.c: Likewise.
857         * tests/test-hmac-md5.c: Likewise.
858         * tests/test-hmac-sha1.c: Likewise.
859         * tests/test-md2.c: Likewise.
860         * tests/test-md4.c: Likewise.
861         * tests/test-md5.c: Likewise.
862         * tests/test-memchr.c: Likewise.
863         * tests/test-memchr2.c: Likewise.
864         * tests/test-memcmp.c: Likewise.
865         * tests/test-memmem.c: Likewise.
866         * tests/test-memrchr.c: Likewise.
867         * tests/test-rawmemchr.c: Likewise.
868         * tests/test-read-file.c: Likewise.
869         * tests/test-rijndael.c: Likewise.
870         * tests/test-sockets.c: Likewise.
871         * tests/test-strchrnul.c: Likewise.
872         * tests/test-strstr.c: Likewise.
873         * tests/test-strtod.c: Likewise.
874         * build-aux/ncftpput-ftp: Likewise.
875
876 2010-01-26  Eric Blake  <ebb9@byu.net>
877
878         ignore-value: update recommended header name
879         * modules/ignore-value (Include): Only use <> for headers that
880         exist in glibc.
881
882 2010-01-26  Jim Meyering  <meyering@redhat.com>
883
884         test-userspec.c: avoid compiler warnings
885         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
886         and "initialization discards qualifiers..." warnings.
887         Put the first "uid" in its own scope, and make char* members "const".
888
889 2010-01-25  Bruno Haible  <bruno@clisp.org>
890
891         gnulib-tool: Make warning diagnostics consistent.
892         * gnulib-tool (func_warning): New function.
893         Use it everywhere where gnulib-tool produces output to stderr and it is
894         not a fatal error.
895
896 2010-01-25  Bruno Haible  <bruno@clisp.org>
897
898         Fix test dependencies.
899         * modules/xstrtol-tests (Depends-on): Add inttypes.
900         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
901
902 2010-01-25 Pádraig Brady <P@draigBrady.com>
903
904         syntax-check: detect incorrect boolean macro values in config.h
905         * modules/maintainer-makefile (configure.ac): Parameterize the location
906         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
907         The logic is from Eric Blake and the location indicated by Jim Meyering.
908         Note the more natural CONFIG_HEADER name is prohibited by automake
909         for backwards compatibility reasons.
910         * top/maint.mk (sc_Wundef_boolean): New rule.
911
912 2010-01-25  Jim Meyering  <meyering@redhat.com>
913
914         bootstrap: detect MacOS 10.6's shasum, too
915         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
916         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
917
918 2010-01-23  Jim Meyering  <meyering@redhat.com>
919
920         xstrtoll: new module
921         * modules/xstrtoll: New file.
922         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
923         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
924         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
925         ./configure fails if you use this module and lack "long long".
926         * modules/xstrtoll-tests: New module.
927         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
928         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
929         new init.sh-based test framework.
930
931 2010-01-24  Bruno Haible  <bruno@clisp.org>
932
933         Tests for module 'yn'.
934         * modules/yn-tests: New file.
935         * tests/test-yn.c: New file.
936
937         Tests for module 'y1'.
938         * modules/y1-tests: New file.
939         * tests/test-y1.c: New file.
940
941         Tests for module 'y0'.
942         * modules/y0-tests: New file.
943         * tests/test-y0.c: New file.
944
945         Tests for module 'tanh'.
946         * modules/tanh-tests: New file.
947         * tests/test-tanh.c: New file.
948
949         Tests for module 'tan'.
950         * modules/tan-tests: New file.
951         * tests/test-tan.c: New file.
952
953         Tests for module 'sqrt'.
954         * modules/sqrt-tests: New file.
955         * tests/test-sqrt.c: New file.
956
957         Tests for module 'sinh'.
958         * modules/sinh-tests: New file.
959         * tests/test-sinh.c: New file.
960
961         Tests for module 'sin'.
962         * modules/sin-tests: New file.
963         * tests/test-sin.c: New file.
964
965         Tests for module 'rint'.
966         * modules/rint-tests: New file.
967         * tests/test-rint.c: New file.
968
969         Tests for module 'remainder'.
970         * modules/remainder-tests: New file.
971         * tests/test-remainder.c: New file.
972
973         Tests for module 'pow'.
974         * modules/pow-tests: New file.
975         * tests/test-pow.c: New file.
976
977         Tests for module 'nextafter'.
978         * modules/nextafter-tests: New file.
979         * tests/test-nextafter.c: New file.
980
981         Tests for module 'modf'.
982         * modules/modf-tests: New file.
983         * tests/test-modf.c: New file.
984
985         Tests for module 'logb'.
986         * modules/logb-tests: New file.
987         * tests/test-logb.c: New file.
988
989         Tests for module 'log1p'.
990         * modules/log1p-tests: New file.
991         * tests/test-log1p.c: New file.
992
993         Tests for module 'log10'.
994         * modules/log10-tests: New file.
995         * tests/test-log10.c: New file.
996
997         Tests for module 'log'.
998         * modules/log-tests: New file.
999         * tests/test-log.c: New file.
1000
1001         Tests for module 'lgamma'.
1002         * modules/lgamma-tests: New file.
1003         * tests/test-lgamma.c: New file.
1004
1005         Tests for module 'ldexp'.
1006         * modules/ldexp-tests: New file.
1007         * tests/test-ldexp.c: New file.
1008
1009         Tests for module 'jn'.
1010         * modules/jn-tests: New file.
1011         * tests/test-jn.c: New file.
1012
1013         Tests for module 'j1'.
1014         * modules/j1-tests: New file.
1015         * tests/test-j1.c: New file.
1016
1017         Tests for module 'j0'.
1018         * modules/j0-tests: New file.
1019         * tests/test-j0.c: New file.
1020
1021         Tests for module 'hypot'.
1022         * modules/hypot-tests: New file.
1023         * tests/test-hypot.c: New file.
1024
1025         Tests for module 'fmod'.
1026         * modules/fmod-tests: New file.
1027         * tests/test-fmod.c: New file.
1028
1029         Tests for module 'fabs'.
1030         * modules/fabs-tests: New file.
1031         * tests/test-fabs.c: New file.
1032
1033         Tests for module 'exp'.
1034         * modules/exp-tests: New file.
1035         * tests/test-exp.c: New file.
1036
1037         Tests for module 'erfc'.
1038         * modules/erfc-tests: New file.
1039         * tests/test-erfc.c: New file.
1040
1041         Tests for module 'erf'.
1042         * modules/erf-tests: New file.
1043         * tests/test-erf.c: New file.
1044
1045         Tests for module 'cosh'.
1046         * modules/cosh-tests: New file.
1047         * tests/test-cosh.c: New file.
1048
1049         Tests for module 'cos'.
1050         * modules/cos-tests: New file.
1051         * tests/test-cos.c: New file.
1052
1053         Tests for module 'copysign'.
1054         * modules/copysign-tests: New file.
1055         * tests/test-copysign.c: New file.
1056
1057         Tests for module 'cbrt'.
1058         * modules/cbrt-tests: New file.
1059         * tests/test-cbrt.c: New file.
1060
1061         Tests for module 'atan2'.
1062         * modules/atan2-tests: New file.
1063         * tests/test-atan2.c: New file.
1064
1065         Tests for module 'atan'.
1066         * modules/atan-tests: New file.
1067         * tests/test-atan.c: New file.
1068
1069         Tests for module 'asin'.
1070         * modules/asin-tests: New file.
1071         * tests/test-asin.c: New file.
1072
1073         Tests for module 'acos'.
1074         * modules/acos-tests: New file.
1075         * tests/test-acos.c: New file.
1076
1077 2010-01-24  Bruno Haible  <bruno@clisp.org>
1078
1079         Fix tests for common <math.h> functions.
1080         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
1081         code snippet that references the function pointer, rather than merely
1082         calling the function. Substitute the FUNC_LIBM variable.
1083         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
1084         * modules/acos (configure.ac): Likewise.
1085         * modules/asin (configure.ac): Likewise.
1086         * modules/atan (configure.ac): Likewise.
1087         * modules/atan2 (configure.ac): Likewise.
1088         * modules/cbrt (configure.ac): Likewise.
1089         * modules/copysign (configure.ac): Likewise.
1090         * modules/cos (configure.ac): Likewise.
1091         * modules/cosh (configure.ac): Likewise.
1092         * modules/erf (configure.ac): Likewise.
1093         * modules/erfc (configure.ac): Likewise.
1094         * modules/exp (configure.ac): Likewise.
1095         * modules/fabs (configure.ac): Likewise.
1096         * modules/fmod (configure.ac): Likewise.
1097         * modules/hypot (configure.ac): Likewise.
1098         * modules/j0 (configure.ac): Likewise.
1099         * modules/j1 (configure.ac): Likewise.
1100         * modules/jn (configure.ac): Likewise.
1101         * modules/ldexp (configure.ac): Likewise.
1102         * modules/lgamma (configure.ac): Likewise.
1103         * modules/log (configure.ac): Likewise.
1104         * modules/log10 (configure.ac): Likewise.
1105         * modules/log1p (configure.ac): Likewise.
1106         * modules/logb (configure.ac): Likewise.
1107         * modules/modf (configure.ac): Likewise.
1108         * modules/nextafter (configure.ac): Likewise.
1109         * modules/pow (configure.ac): Likewise.
1110         * modules/remainder (configure.ac): Likewise.
1111         * modules/rint (configure.ac): Likewise.
1112         * modules/sin (configure.ac): Likewise.
1113         * modules/sinh (configure.ac): Likewise.
1114         * modules/tan (configure.ac): Likewise.
1115         * modules/tanh (configure.ac): Likewise.
1116         * modules/y0 (configure.ac): Likewise.
1117         * modules/y1 (configure.ac): Likewise.
1118         * modules/yn (configure.ac): Likewise.
1119
1120 2010-01-24  Bruno Haible  <bruno@clisp.org>
1121
1122         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
1123         * tests/test-acosl.c (x): New variable.
1124         (main): Store argument in x and fetch it from x.
1125         * tests/test-asinl.c (x): New variable.
1126         (main): Store argument in x and fetch it from x.
1127         * tests/test-atanl.c (x): New variable.
1128         (main): Store argument in x and fetch it from x.
1129         * tests/test-cosl.c (x): New variable.
1130         (main): Store argument in x and fetch it from x.
1131         * tests/test-expl.c (x): New variable.
1132         (main): Store argument in x and fetch it from x.
1133         * tests/test-logl.c (x): New variable.
1134         (main): Store argument in x and fetch it from x.
1135         * tests/test-sinl.c (x): New variable.
1136         (main): Store argument in x and fetch it from x.
1137         * tests/test-sqrtl.c (x): New variable.
1138         (main): Store argument in x and fetch it from x.
1139         * tests/test-tanl.c (x): New variable.
1140         (main): Store argument in x and fetch it from x.
1141
1142 2010-01-24  Bruno Haible  <bruno@clisp.org>
1143
1144         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
1145         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
1146         assignments to the initial TESTS_ENVIRONMENT.
1147         * doc/gnulib.texi (Unit test modules): Document it.
1148         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
1149         TESTS_ENVIRONMENT.
1150         * modules/btowc-tests (Makefile.am): Likewise.
1151         * modules/c-stack-tests (Makefile.am): Likewise.
1152         * modules/c-strcase-tests (Makefile.am): Likewise.
1153         * modules/copy-file-tests (Makefile.am): Likewise.
1154         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
1155         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
1156         * modules/mbrtowc-tests (Makefile.am): Likewise.
1157         * modules/mbscasecmp-tests (Makefile.am): Likewise.
1158         * modules/mbscasestr-tests (Makefile.am): Likewise.
1159         * modules/mbschr-tests (Makefile.am): Likewise.
1160         * modules/mbscspn-tests (Makefile.am): Likewise.
1161         * modules/mbsinit-tests (Makefile.am): Likewise.
1162         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
1163         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
1164         * modules/mbspbrk-tests (Makefile.am): Likewise.
1165         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
1166         * modules/mbsrchr-tests (Makefile.am): Likewise.
1167         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
1168         * modules/mbsspn-tests (Makefile.am): Likewise.
1169         * modules/mbsstr-tests (Makefile.am): Likewise.
1170         * modules/nl_langinfo-tests (Makefile.am): Likewise.
1171         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
1172         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
1173         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
1174         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
1175         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
1176         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
1177         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
1178         * modules/wcrtomb-tests (Makefile.am): Likewise.
1179         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
1180         * modules/wcsrtombs-tests (Makefile.am): Likewise.
1181         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
1182         assignments from TESTS_ENVIRONMENT.
1183         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
1184         augmentation.
1185         * modules/argp-version-etc-tests (Makefile.am): Likewise.
1186         * modules/atexit-tests (Makefile.am): Likewise.
1187         * modules/binary-io-tests (Makefile.am): Likewise.
1188         * modules/closein-tests (Makefile.am): Likewise.
1189         * modules/dprintf-posix-tests (Makefile.am): Likewise.
1190         * modules/exclude-tests (Makefile.am): Likewise.
1191         * modules/fflush-tests (Makefile.am): Likewise.
1192         * modules/fpending-tests (Makefile.am): Likewise.
1193         * modules/fprintf-posix-tests (Makefile.am): Likewise.
1194         * modules/freadahead-tests (Makefile.am): Likewise.
1195         * modules/freadptr-tests (Makefile.am): Likewise.
1196         * modules/freadseek-tests (Makefile.am): Likewise.
1197         * modules/fseek-tests (Makefile.am): Likewise.
1198         * modules/fseeko-tests (Makefile.am): Likewise.
1199         * modules/ftell-tests (Makefile.am): Likewise.
1200         * modules/ftello-tests (Makefile.am): Likewise.
1201         * modules/idpriv-drop-tests (Makefile.am): Likewise.
1202         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
1203         * modules/lseek-tests (Makefile.am): Likewise.
1204         * modules/parse-duration-tests (Makefile.am): Likewise.
1205         * modules/perror-tests (Makefile.am): Likewise.
1206         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
1207         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
1208         * modules/pipe-tests (Makefile.am): Likewise.
1209         * modules/pread-tests (Makefile.am): Likewise.
1210         * modules/printf-posix-tests (Makefile.am): Likewise.
1211         * modules/select-tests (Makefile.am): Likewise.
1212         * modules/sigpipe-tests (Makefile.am): Likewise.
1213         * modules/tsearch-tests (Makefile.am): Likewise.
1214         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
1215         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
1216         * modules/uniname/uniname-tests (Makefile.am): Likewise.
1217         * modules/uniwidth/width-tests (Makefile.am): Likewise.
1218         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
1219         * modules/version-etc-tests (Makefile.am): Likewise.
1220         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
1221         * modules/vprintf-posix-tests (Makefile.am): Likewise.
1222         * modules/xalloc-die-tests (Makefile.am): Likewise.
1223         * modules/xprintf-posix-tests (Makefile.am): Likewise.
1224         * modules/xstrtoimax-tests (Makefile.am): Likewise.
1225         * modules/xstrtol-tests (Makefile.am): Likewise.
1226         * modules/xstrtoumax-tests (Makefile.am): Likewise.
1227         * modules/yesno-tests (Makefile.am): Likewise.
1228         Suggested by Jim Meyering.
1229
1230 2010-01-24  Bruno Haible  <bruno@clisp.org>
1231
1232         More documentation.
1233         * doc/gnulib.texi (Writing modules): New chapter.
1234         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
1235         the new chapter.
1236
1237 2010-01-24  Jim Meyering  <meyering@redhat.com>
1238
1239         maint.mk: do not prepend "./" after filtering
1240         * top/maint.mk (_prepend_srcdir_prefix): New variable
1241         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
1242         "./" when $(srcdir) is ".".
1243
1244         define STREQ(a,b) consistently, removing useless parentheses
1245         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
1246         since the only risk is that "a" or "b" contains an unparenthesized
1247         comma, but if either did that, STREQ would have 3 or more arguments.
1248         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
1249         * lib/fts.c (STREQ): Remove unnecessary parentheses.
1250         * lib/hash-triple.c (STREQ): Likewise.
1251         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
1252         * lib/getugroups.c (STREQ): Likewise.
1253
1254 2010-01-23  Jim Meyering  <meyering@redhat.com>
1255
1256         maint.mk: fix syntax-check in a non-srcdir build directory
1257         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
1258         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
1259
1260 2010-01-22  Jim Meyering  <meyering@redhat.com>
1261
1262         userspec: add unit tests
1263         * tests/test-userspec.c: New file.
1264         * modules/userspec-tests: Likewise.
1265
1266 2010-01-21  Jim Meyering  <meyering@redhat.com>
1267
1268         maint.mk: handle source file names containing "." robustly
1269         * top/maint.mk (_dot_escaped_srcdir): Define.
1270         (VC_LIST): Use it in LHS of sed substitution.
1271
1272 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
1273
1274         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
1275         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
1276         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
1277         from a non-srcdir build.
1278
1279 2010-01-20  Eric Blake  <ebb9@byu.net>
1280
1281         warn-on-use: use instead of link-warning
1282         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
1283         * modules/unistd (Depends-on, Makefile.am): Likewise.
1284         * modules/arpa_inet (Depends-on): Replace link-warning with
1285         warn-on-use.
1286         (Makefile.am): Update rules accordingly.
1287         * modules/ctype (Depends-on, Makefile.am): Likewise.
1288         * modules/dirent (Depends-on, Makefile.am): Likewise.
1289         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
1290         * modules/inttypes (Depends-on, Makefile.am): Likewise.
1291         * modules/langinfo (Depends-on, Makefile.am): Likewise.
1292         * modules/locale (Depends-on, Makefile.am): Likewise.
1293         * modules/math (Depends-on, Makefile.am): Likewise.
1294         * modules/search (Depends-on, Makefile.am): Likewise.
1295         * modules/signal (Depends-on, Makefile.am): Likewise.
1296         * modules/spawn (Depends-on, Makefile.am): Likewise.
1297         * modules/stdlib (Depends-on, Makefile.am): Likewise.
1298         * modules/string (Depends-on, Makefile.am): Likewise.
1299         * modules/strings (Depends-on, Makefile.am): Likewise.
1300         * modules/sys_file (Depends-on, Makefile.am): Likewise.
1301         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
1302         * modules/sys_select (Depends-on, Makefile.am): Likewise.
1303         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
1304         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
1305         * modules/sys_times (Depends-on, Makefile.am): Likewise.
1306         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
1307         * modules/wchar (Depends-on, Makefile.am): Likewise.
1308         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
1309         should be poisoned.
1310         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
1311         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
1312         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
1313         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
1314         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
1315         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
1316         * m4/math_h.m4 (gl_MATH_H): Likewise.
1317         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
1318         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
1319         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
1320         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
1321         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
1322         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
1323         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
1324         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
1325         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
1326         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
1327         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
1328         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
1329         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
1330         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
1331         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1332         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
1333         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
1334         GL_LINK_WARNING.
1335         * lib/ctype.in.h: Likewise.
1336         * lib/dirent.in.h: Likewise.
1337         * lib/fcntl.in.h: Likewise.
1338         * lib/inttypes.in.h: Likewise.
1339         * lib/langinfo.in.h: Likewise.
1340         * lib/locale.in.h: Likewise.
1341         * lib/math.in.h: Likewise.
1342         * lib/search.in.h: Likewise.
1343         * lib/signal.in.h: Likewise.
1344         * lib/spawn.in.h: Likewise.
1345         * lib/stdio.in.h: Likewise.
1346         * lib/stdlib.in.h: Likewise.
1347         * lib/string.in.h: Likewise.
1348         * lib/strings.in.h: Likewise.
1349         * lib/sys_file.in.h: Likewise.
1350         * lib/sys_ioctl.in.h: Likewise.
1351         * lib/sys_select.in.h: Likewise.
1352         * lib/sys_socket.in.h: Likewise.
1353         * lib/sys_stat.in.h: Likewise.
1354         * lib/sys_times.in.h: Likewise.
1355         * lib/sys_utsname.in.h: Likewise.
1356         * lib/unistd.in.h: Likewise.
1357         * lib/wchar.in.h: Likewise.
1358
1359 2010-01-20  Bruno Haible  <bruno@clisp.org>
1360
1361         Avoid duplicate -lm.
1362         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
1363         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
1364         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
1365         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
1366         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
1367         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
1368         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
1369         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
1370         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
1371         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
1372         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
1373         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
1374         Reported by Paolo Bonzini.
1375
1376 2010-01-19  Bruno Haible  <bruno@clisp.org>
1377
1378         langinfo, nl_langinfo: Relicense under LGPLv2+.
1379         * modules/langinfo (License): Change to LGPLv2+.
1380         * modules/nl_langinfo (License): Likewise.
1381         Patch by David Lutterkort <lutter@redhat.com>.
1382
1383 2010-01-19  Bruno Haible  <bruno@clisp.org>
1384
1385         Avoid compilation error with cc on OSF/1 5.1.
1386         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
1387         statement, not before.
1388         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1389
1390 2010-01-18  Bruno Haible  <bruno@clisp.org>
1391
1392         Avoid a link error due to the __printf__ symbol.
1393         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
1394         and 2.6.x.
1395         (__format__, __printf__): Remove definitions.
1396         * lib/argp-fmtstream.h: Likewise.
1397         * lib/argp.h: Likewise.
1398         * lib/error.h: Likewise.
1399         * lib/vasnprintf.h: Likewise.
1400         * lib/xprintf.h: Likewise.
1401         * lib/xvasprintf.h: Likewise.
1402         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1403
1404 2010-01-18  Bruno Haible  <bruno@clisp.org>
1405
1406         Tests for module 'tanl'.
1407         * modules/tanl-tests: New file.
1408         * tests/test-tanl.c: New file.
1409
1410         Tests for module 'sqrtl'.
1411         * modules/sqrtl-tests: New file.
1412         * tests/test-sqrtl.c: New file.
1413
1414         Tests for module 'sinl'.
1415         * modules/sinl-tests: New file.
1416         * tests/test-sinl.c: New file.
1417
1418         Tests for module 'logl'.
1419         * modules/logl-tests: New file.
1420         * tests/test-logl.c: New file.
1421
1422         Tests for module 'expl'.
1423         * modules/expl-tests: New file.
1424         * tests/test-expl.c: New file.
1425
1426         Tests for module 'cosl'.
1427         * modules/cosl-tests: New file.
1428         * tests/test-cosl.c: New file.
1429
1430         Tests for module 'atanl'.
1431         * modules/atanl-tests: New file.
1432         * tests/test-atanl.c: New file.
1433
1434         Tests for module 'asinl'.
1435         * modules/asinl-tests: New file.
1436         * tests/test-asinl.c: New file.
1437
1438         Tests for module 'acosl'.
1439         * modules/acosl-tests: New file.
1440         * tests/test-acosl.c: New file.
1441
1442         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
1443         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
1444         tanl): Use the standard gnulib idiom.
1445         * lib/cosl.c: Don't include trigl.c and sincosl.c.
1446         * lib/sinl.c: Likewise.
1447         * lib/tanl.c: Don't include trigl.c.
1448         (kernel_tanl): Make static.
1449         * lib/sincosl.c: Include trigl.h first.
1450         * lib/trigl.c: Likewise.
1451         * m4/acosl.m4: New file.
1452         * m4/asinl.m4: New file.
1453         * m4/atanl.m4: New file.
1454         * m4/cosl.m4: New file.
1455         * m4/expl.m4: New file.
1456         * m4/logl.m4: New file.
1457         * m4/sinl.m4: New file.
1458         * m4/sqrtl.m4: New file.
1459         * m4/tanl.m4: New file.
1460         * m4/mathl.m4: Remove file.
1461         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
1462         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
1463         Don't initialize GNULIB_MATHL.
1464         * modules/acosl: New file.
1465         * modules/asinl: New file.
1466         * modules/atanl: New file.
1467         * modules/cosl: New file.
1468         * modules/expl: New file.
1469         * modules/logl: New file.
1470         * modules/sinl: New file.
1471         * modules/sqrtl: New file.
1472         * modules/tanl: New file.
1473         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
1474         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
1475         substitute GNULIB_MATHL.
1476         * modules/mathl: Rewritten.
1477         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
1478         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
1479         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
1480         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
1481         * doc/posix-functions/expl.texi: Mention the 'expl' module.
1482         * doc/posix-functions/logl.texi: Mention the 'logl' module.
1483         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
1484         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
1485         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
1486
1487 2010-01-18  Bruno Haible  <bruno@clisp.org>
1488
1489         sqrt: Make gl_FUNC_SQRT requirable.
1490         * m4/sqrt.m4: New file.
1491         * modules/sqrt (Files): Add it.
1492         (configure.ac): Invoke gl_FUNC_SQRT.
1493
1494 2010-01-18  Bruno Haible  <bruno@clisp.org>
1495
1496         New modules for common <math.h> functions.
1497         * m4/mathfunc.m4: New file.
1498         * modules/acos: New file.
1499         * modules/asin: New file.
1500         * modules/atan: New file.
1501         * modules/atan2: New file.
1502         * modules/cbrt: New file.
1503         * modules/copysign: New file.
1504         * modules/cos: New file.
1505         * modules/cosh: New file.
1506         * modules/erf: New file.
1507         * modules/erfc: New file.
1508         * modules/exp: New file.
1509         * modules/fabs: New file.
1510         * modules/fmod: New file.
1511         * modules/hypot: New file.
1512         * modules/j0: New file.
1513         * modules/j1: New file.
1514         * modules/jn: New file.
1515         * modules/ldexp: New file.
1516         * modules/lgamma: New file.
1517         * modules/log: New file.
1518         * modules/log10: New file.
1519         * modules/log1p: New file.
1520         * modules/logb: New file.
1521         * modules/modf: New file.
1522         * modules/nextafter: New file.
1523         * modules/pow: New file.
1524         * modules/remainder: New file.
1525         * modules/rint: New file.
1526         * modules/sin: New file.
1527         * modules/sinh: New file.
1528         * modules/sqrt: New file.
1529         * modules/tan: New file.
1530         * modules/tanh: New file.
1531         * modules/y0: New file.
1532         * modules/y1: New file.
1533         * modules/yn: New file.
1534         * doc/posix-functions/acos.texi: Mention the 'acos' module.
1535         * doc/posix-functions/asin.texi: Mention the 'asin' module.
1536         * doc/posix-functions/atan.texi: Mention the 'atan' module.
1537         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
1538         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
1539         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
1540         * doc/posix-functions/cos.texi: Mention the 'cos' module.
1541         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
1542         * doc/posix-functions/erf.texi: Mention the 'erf' module.
1543         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
1544         * doc/posix-functions/exp.texi: Mention the 'exp' module.
1545         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
1546         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
1547         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
1548         * doc/posix-functions/j0.texi: Mention the 'j0' module.
1549         * doc/posix-functions/j1.texi: Mention the 'j1' module.
1550         * doc/posix-functions/jn.texi: Mention the 'jn' module.
1551         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
1552         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
1553         * doc/posix-functions/log.texi: Mention the 'log' module.
1554         * doc/posix-functions/log10.texi: Mention the 'log10' module.
1555         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
1556         * doc/posix-functions/logb.texi: Mention the 'logb' module.
1557         * doc/posix-functions/modf.texi: Mention the 'modf' module.
1558         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
1559         * doc/posix-functions/pow.texi: Mention the 'pow' module.
1560         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
1561         * doc/posix-functions/rint.texi: Mention the 'rint' module.
1562         * doc/posix-functions/sin.texi: Mention the 'sin' module.
1563         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
1564         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
1565         * doc/posix-functions/tan.texi: Mention the 'tan' module.
1566         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
1567         * doc/posix-functions/y0.texi: Mention the 'y0' module.
1568         * doc/posix-functions/y1.texi: Mention the 'y1' module.
1569         * doc/posix-functions/yn.texi: Mention the 'yn' module.
1570
1571 2010-01-18  Jim Meyering  <meyering@redhat.com>
1572
1573         ignore-value: relax license to LGPLv2+
1574         * modules/ignore-value (License): Relax to LGPLv2+.
1575
1576         getdate: don't leak when TZ contains two or more '"'s
1577         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
1578         double quote in TZ after the first one.
1579
1580         readtokens: do not leak internal token_lengths buffer
1581         * lib/readtokens.c (readtokens): Free the local, lengths,
1582         when the supplied "token_lengths" parameter is NULL.
1583
1584 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1585
1586         Fix a couple of missing LIBTHREAD link failures on AIX.
1587         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
1588         $(LIBTHREAD).
1589         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
1590
1591         Link test-poll against INET_PTON_LIB.
1592         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
1593         for inet_pton on Solaris 10.
1594
1595 2010-01-17  Bruno Haible  <bruno@clisp.org>
1596
1597         unistdio/*-sprintf: Fix typo in module description.
1598         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
1599         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
1600         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
1601         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
1602         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
1603         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
1604         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
1605         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1606
1607 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1608
1609         gnulib-tool: fix filelist for AIX, HP-UX ksh.
1610         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
1611         variables in shell case patterns, for AIX and HP-UX ksh.
1612
1613         Split large sed scripts, for HP-UX sed.
1614         * modules/stdio: Split sed scripts around 50 sed commands,
1615         to avoid HP-UX limit of 99 commands, in the near future.
1616         * modules/string: Likewise.
1617         * modules/unistd: Likewise.
1618
1619         gnulib-tool: avoid writing in the current directory.
1620         * gnulib-tool (func_emit_lib_Makefile_am)
1621         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
1622         not in the current directory, so concurrent gnulib-tool
1623         instances do not interfere.
1624
1625 2010-01-16  Jim Meyering  <meyering@redhat.com>
1626
1627         doc: update users.txt
1628         * users.txt: Add grep.
1629         (diffutils, gzip): Update URLs.
1630
1631 2010-01-12  Bruno Haible  <bruno@clisp.org>
1632
1633         posix_spawn: Avoid test failure on Cygwin.
1634         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
1635         characters.
1636         Reported by Simon Josefsson.
1637
1638 2010-01-12  Bruno Haible  <bruno@clisp.org>
1639
1640         * tests/test-cond.c (main): When skipping the test, show the reason.
1641
1642 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1643
1644         * lib/striconv.c (str_cd_iconv): Avoid if before free.
1645
1646 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1647
1648         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
1649         VC_LIST_ALWAYS_EXCLUDE_REGEX.
1650
1651 2010-01-12  Eric Blake  <ebb9@byu.net>
1652
1653         build: guarantee AS_VAR_IF
1654         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
1655         (gl_AS_VAR_IF): Move...
1656         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
1657         Reported by Simon Josefsson.
1658
1659 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1660
1661         * lib/stdio.in.h: Fix typo.
1662
1663 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1664
1665         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
1666         libgpg-error.
1667
1668 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1669
1670         * tests/test-xalloc-die.sh: Use $EXEEXT.
1671
1672 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1673             Bruno Haible  <bruno@clisp.org>
1674
1675         getlogin, getlogin_r: Avoid test failure.
1676         * tests/test-getlogin.c: Include <stdio.h>.
1677         (main): Skip the test when the function fails because stdin is not a
1678         tty.
1679         * tests/test-getlogin_r.c: Include <stdio.h>.
1680         (main): Skip the test when the function fails because stdin is not a
1681         tty.
1682
1683 2010-01-11  Eric Blake  <ebb9@byu.net>
1684
1685         tests: avoid more large file warnings
1686         * tests/test-fflush.c: Avoid warning about ftell use.
1687         * tests/test-fseek.c: Avoid warning about fseek use.
1688
1689 2010-01-10  Bruno Haible  <bruno@clisp.org>
1690
1691         nproc: Work better on Linux when /proc and /sys are not mounted.
1692         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
1693         as lower bound when, on glibc/Linux systems,
1694         sysconf (_SC_NPROCESSORS_CONF) returns 1.
1695         Suggested by Pádraig Brady <P@draigbrady.com>.
1696         Reported by Dmitry V. Levin <ldv@altlinux.org>.
1697
1698         nproc: Refactor.
1699         * lib/nproc.c (num_processors_via_affinity_mask): New function,
1700         extracted from num_processors.
1701         (num_processors): Call it.
1702
1703 2010-01-11  Jim Meyering  <meyering@redhat.com>
1704
1705         utimecmp: avoid new warning from upcoming gcc-4.5.0
1706         * lib/utimecmp.c (BILLION): Define using #define rather than an
1707         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
1708
1709 2010-01-11  Eric Blake  <ebb9@byu.net>
1710
1711         math: add portability warnings for classification macros
1712         * modules/math (Depends-on): Add warn-on-use.
1713         (Makefile.am): Provide new substitutions.
1714         * m4/math_h.m4 (gl_MATH_H): Require inline.
1715         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
1716         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
1717         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
1718         implement warnings.
1719
1720         unistd: warn on use of environ without module
1721         * modules/unistd (Depends-on): Add warn-on-use.
1722         (Makefile.am): Provide new substitutions.
1723         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
1724         * lib/unistd.in.h (environ): Wrap with a warning helper function.
1725
1726         stdio: warn on suspicious uses
1727         * modules/stdio (Depends-on): Add warn-on-use.
1728         (Makefile.am): Provide new substitutions.
1729         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
1730         fseeko.
1731         * lib/stdio.in.h (gets): Always warn on use.
1732         (fseek, ftell): Adjust when warnings are issued, and honor
1733         _GL_NO_LARGE_FILES as a way to silence the warning.
1734         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
1735         any warning about large file offsets.
1736         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
1737         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
1738         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
1739         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
1740         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
1741         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
1742         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
1743         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
1744
1745         warn-on-use: new module
1746         * modules/warn-on-use: New file.
1747         * build-aux/warn-on-use.h: Likewise.
1748         * m4/warn-on-use.m4: Likewise.
1749         * MODULES.html.sh (Support for building): Mention it.
1750
1751 2010-01-10  Bruno Haible  <bruno@clisp.org>
1752
1753         Tests for module 'unistr/u32-strdup'.
1754         * modules/unistr/u32-strdup-tests: New file.
1755         * tests/unistr/test-u32-strdup.c: New file.
1756
1757         Tests for module 'unistr/u16-strdup'.
1758         * modules/unistr/u16-strdup-tests: New file.
1759         * tests/unistr/test-u16-strdup.c: New file.
1760
1761         Tests for module 'unistr/u8-strdup'.
1762         * modules/unistr/u8-strdup-tests: New file.
1763         * tests/unistr/test-u8-strdup.c: New file.
1764         * tests/unistr/test-strdup.h: New file.
1765
1766         Tests for module 'unistr/u32-strncmp'.
1767         * modules/unistr/u32-strncmp-tests: New file.
1768         * tests/unistr/test-u32-strncmp.c: New file.
1769
1770         Tests for module 'unistr/u16-strncmp'.
1771         * modules/unistr/u16-strncmp-tests: New file.
1772         * tests/unistr/test-u16-strncmp.c: New file.
1773
1774         Tests for module 'unistr/u8-strncmp'.
1775         * modules/unistr/u8-strncmp-tests: New file.
1776         * tests/unistr/test-u8-strncmp.c: New file.
1777         * tests/unistr/test-strncmp.h: New file.
1778
1779         Tests for module 'unistr/u32-strcoll'.
1780         * modules/unistr/u32-strcoll-tests: New file.
1781         * tests/unistr/test-u32-strcoll.c: New file.
1782
1783         Tests for module 'unistr/u16-strcoll'.
1784         * modules/unistr/u16-strcoll-tests: New file.
1785         * tests/unistr/test-u16-strcoll.c: New file.
1786
1787         Tests for module 'unistr/u8-strcoll'.
1788         * modules/unistr/u8-strcoll-tests: New file.
1789         * tests/unistr/test-u8-strcoll.c: New file.
1790
1791         Tests for module 'unistr/u32-strcmp'.
1792         * modules/unistr/u32-strcmp-tests: New file.
1793         * tests/unistr/test-u32-strcmp.c: New file.
1794         * tests/unistr/test-u32-strcmp.h: New file.
1795
1796         Tests for module 'unistr/u16-strcmp'.
1797         * modules/unistr/u16-strcmp-tests: New file.
1798         * tests/unistr/test-u16-strcmp.c: New file.
1799         * tests/unistr/test-u16-strcmp.h: New file.
1800
1801         Tests for module 'unistr/u8-strcmp'.
1802         * modules/unistr/u8-strcmp-tests: New file.
1803         * tests/unistr/test-u8-strcmp.c: New file.
1804         * tests/unistr/test-u8-strcmp.h: New file.
1805         * tests/unistr/test-strcmp.h: New file.
1806
1807         Tests for module 'unistr/u32-strncat'.
1808         * modules/unistr/u32-strncat-tests: New file.
1809         * tests/unistr/test-u32-strncat.c: New file.
1810
1811         Tests for module 'unistr/u16-strncat'.
1812         * modules/unistr/u16-strncat-tests: New file.
1813         * tests/unistr/test-u16-strncat.c: New file.
1814
1815         Tests for module 'unistr/u8-strncat'.
1816         * modules/unistr/u8-strncat-tests: New file.
1817         * tests/unistr/test-u8-strncat.c: New file.
1818         * tests/unistr/test-strncat.h: New file.
1819
1820         Tests for module 'unistr/u32-strcat'.
1821         * modules/unistr/u32-strcat-tests: New file.
1822         * tests/unistr/test-u32-strcat.c: New file.
1823
1824         Tests for module 'unistr/u16-strcat'.
1825         * modules/unistr/u16-strcat-tests: New file.
1826         * tests/unistr/test-u16-strcat.c: New file.
1827
1828         Tests for module 'unistr/u8-strcat'.
1829         * modules/unistr/u8-strcat-tests: New file.
1830         * tests/unistr/test-u8-strcat.c: New file.
1831         * tests/unistr/test-strcat.h: New file.
1832
1833         Tests for module 'unistr/u32-stpncpy'.
1834         * modules/unistr/u32-stpncpy-tests: New file.
1835         * tests/unistr/test-u32-stpncpy.c: New file.
1836
1837         Tests for module 'unistr/u16-stpncpy'.
1838         * modules/unistr/u16-stpncpy-tests: New file.
1839         * tests/unistr/test-u16-stpncpy.c: New file.
1840
1841         Tests for module 'unistr/u8-stpncpy'.
1842         * modules/unistr/u8-stpncpy-tests: New file.
1843         * tests/unistr/test-u8-stpncpy.c: New file.
1844         * tests/unistr/test-stpncpy.h: New file.
1845
1846         Tests for module 'unistr/u32-strncpy'.
1847         * modules/unistr/u32-strncpy-tests: New file.
1848         * tests/unistr/test-u32-strncpy.c: New file.
1849
1850         Tests for module 'unistr/u16-strncpy'.
1851         * modules/unistr/u16-strncpy-tests: New file.
1852         * tests/unistr/test-u16-strncpy.c: New file.
1853
1854         Tests for module 'unistr/u8-strncpy'.
1855         * modules/unistr/u8-strncpy-tests: New file.
1856         * tests/unistr/test-u8-strncpy.c: New file.
1857         * tests/unistr/test-strncpy.h: New file.
1858
1859         Tests for module 'unistr/u32-stpcpy'.
1860         * modules/unistr/u32-stpcpy-tests: New file.
1861         * tests/unistr/test-u32-stpcpy.c: New file.
1862
1863         Tests for module 'unistr/u16-stpcpy'.
1864         * modules/unistr/u16-stpcpy-tests: New file.
1865         * tests/unistr/test-u16-stpcpy.c: New file.
1866
1867         Tests for module 'unistr/u8-stpcpy'.
1868         * modules/unistr/u8-stpcpy-tests: New file.
1869         * tests/unistr/test-u8-stpcpy.c: New file.
1870         * tests/unistr/test-stpcpy.h: New file.
1871
1872         Tests for module 'unistr/u32-strcpy'.
1873         * modules/unistr/u32-strcpy-tests: New file.
1874         * tests/unistr/test-u32-strcpy.c: New file.
1875
1876         Tests for module 'unistr/u16-strcpy'.
1877         * modules/unistr/u16-strcpy-tests: New file.
1878         * tests/unistr/test-u16-strcpy.c: New file.
1879
1880         Tests for module 'unistr/u8-strcpy'.
1881         * modules/unistr/u8-strcpy-tests: New file.
1882         * tests/unistr/test-u8-strcpy.c: New file.
1883         * tests/unistr/test-strcpy.h: New file.
1884
1885         Tests for module 'unistr/u32-strnlen'.
1886         * modules/unistr/u32-strnlen-tests: New file.
1887         * tests/unistr/test-u32-strnlen.c: New file.
1888
1889         Tests for module 'unistr/u16-strnlen'.
1890         * modules/unistr/u16-strnlen-tests: New file.
1891         * tests/unistr/test-u16-strnlen.c: New file.
1892
1893         Tests for module 'unistr/u8-strnlen'.
1894         * modules/unistr/u8-strnlen-tests: New file.
1895         * tests/unistr/test-u8-strnlen.c: New file.
1896         * tests/unistr/test-strnlen.h: New file.
1897
1898         Tests for module 'unistr/u32-strlen'.
1899         * modules/unistr/u32-strlen-tests: New file.
1900         * tests/unistr/test-u32-strlen.c: New file.
1901
1902         Tests for module 'unistr/u16-strlen'.
1903         * modules/unistr/u16-strlen-tests: New file.
1904         * tests/unistr/test-u16-strlen.c: New file.
1905
1906         Tests for module 'unistr/u8-strlen'.
1907         * modules/unistr/u8-strlen-tests: New file.
1908         * tests/unistr/test-u8-strlen.c: New file.
1909
1910         Tests for module 'unistr/u32-prev'.
1911         * modules/unistr/u32-prev-tests: New file.
1912         * tests/unistr/test-u32-prev.c: New file.
1913
1914         Tests for module 'unistr/u16-prev'.
1915         * modules/unistr/u16-prev-tests: New file.
1916         * tests/unistr/test-u16-prev.c: New file.
1917
1918         Tests for module 'unistr/u8-prev'.
1919         * modules/unistr/u8-prev-tests: New file.
1920         * tests/unistr/test-u8-prev.c: New file.
1921
1922         Tests for module 'unistr/u32-next'.
1923         * modules/unistr/u32-next-tests: New file.
1924         * tests/unistr/test-u32-next.c: New file.
1925
1926         Tests for module 'unistr/u16-next'.
1927         * modules/unistr/u16-next-tests: New file.
1928         * tests/unistr/test-u16-next.c: New file.
1929
1930         Tests for module 'unistr/u8-next'.
1931         * modules/unistr/u8-next-tests: New file.
1932         * tests/unistr/test-u8-next.c: New file.
1933
1934         Tests for module 'unistr/u32-strmbtouc'.
1935         * modules/unistr/u32-strmbtouc-tests: New file.
1936         * tests/unistr/test-u32-strmbtouc.c: New file.
1937
1938         Tests for module 'unistr/u16-strmbtouc'.
1939         * modules/unistr/u16-strmbtouc-tests: New file.
1940         * tests/unistr/test-u16-strmbtouc.c: New file.
1941
1942         Tests for module 'unistr/u8-strmbtouc'.
1943         * modules/unistr/u8-strmbtouc-tests: New file.
1944         * tests/unistr/test-u8-strmbtouc.c: New file.
1945
1946         Tests for module 'unistr/u32-strmblen'.
1947         * modules/unistr/u32-strmblen-tests: New file.
1948         * tests/unistr/test-u32-strmblen.c: New file.
1949
1950         Tests for module 'unistr/u16-strmblen'.
1951         * modules/unistr/u16-strmblen-tests: New file.
1952         * tests/unistr/test-u16-strmblen.c: New file.
1953
1954         Tests for module 'unistr/u8-strmblen'.
1955         * modules/unistr/u8-strmblen-tests: New file.
1956         * tests/unistr/test-u8-strmblen.c: New file.
1957
1958         Tests for module 'unistr/u32-cpy-alloc'.
1959         * modules/unistr/u32-cpy-alloc-tests: New file.
1960         * tests/unistr/test-u32-cpy-alloc.c: New file.
1961
1962         Tests for module 'unistr/u16-cpy-alloc'.
1963         * modules/unistr/u16-cpy-alloc-tests: New file.
1964         * tests/unistr/test-u16-cpy-alloc.c: New file.
1965
1966         Tests for module 'unistr/u8-cpy-alloc'.
1967         * modules/unistr/u8-cpy-alloc-tests: New file.
1968         * tests/unistr/test-u8-cpy-alloc.c: New file.
1969         * tests/unistr/test-cpy-alloc.h: New file.
1970
1971         Tests for module 'unistr/u32-mbsnlen'.
1972         * modules/unistr/u32-mbsnlen-tests: New file.
1973         * tests/unistr/test-u32-mbsnlen.c: New file.
1974
1975         Tests for module 'unistr/u16-mbsnlen'.
1976         * modules/unistr/u16-mbsnlen-tests: New file.
1977         * tests/unistr/test-u16-mbsnlen.c: New file.
1978
1979         Tests for module 'unistr/u8-mbsnlen'.
1980         * modules/unistr/u8-mbsnlen-tests: New file.
1981         * tests/unistr/test-u8-mbsnlen.c: New file.
1982
1983         Tests for module 'unistr/u32-chr'.
1984         * modules/unistr/u32-chr-tests: New file.
1985         * tests/unistr/test-u32-chr.c: New file.
1986
1987         Tests for module 'unistr/u16-chr'.
1988         * modules/unistr/u16-chr-tests: New file.
1989         * tests/unistr/test-u16-chr.c: New file.
1990
1991         Tests for module 'unistr/u8-chr'.
1992         * modules/unistr/u8-chr-tests: New file.
1993         * tests/unistr/test-u8-chr.c: New file.
1994         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
1995
1996         Tests for module 'unistr/u32-cmp2'.
1997         * modules/unistr/u32-cmp2-tests: New file.
1998         * tests/unistr/test-u32-cmp2.c: New file.
1999
2000         Tests for module 'unistr/u16-cmp2'.
2001         * modules/unistr/u16-cmp2-tests: New file.
2002         * tests/unistr/test-u16-cmp2.c: New file.
2003
2004         Tests for module 'unistr/u8-cmp2'.
2005         * modules/unistr/u8-cmp2-tests: New file.
2006         * tests/unistr/test-u8-cmp2.c: New file.
2007         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
2008
2009         Tests for module 'unistr/u32-cmp'.
2010         * modules/unistr/u32-cmp-tests: New file.
2011         * tests/unistr/test-u32-cmp.c: New file.
2012
2013         Tests for module 'unistr/u16-cmp'.
2014         * modules/unistr/u16-cmp-tests: New file.
2015         * tests/unistr/test-u16-cmp.c: New file.
2016
2017         Tests for module 'unistr/u8-cmp'.
2018         * modules/unistr/u8-cmp-tests: New file.
2019         * tests/unistr/test-u8-cmp.c: New file.
2020         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
2021
2022         Tests for module 'unistr/u32-set'.
2023         * modules/unistr/u32-set-tests: New file.
2024         * tests/unistr/test-u32-set.c: New file.
2025
2026         Tests for module 'unistr/u16-set'.
2027         * modules/unistr/u16-set-tests: New file.
2028         * tests/unistr/test-u16-set.c: New file.
2029
2030         Tests for module 'unistr/u8-set'.
2031         * modules/unistr/u8-set-tests: New file.
2032         * tests/unistr/test-u8-set.c: New file.
2033         * tests/unistr/test-set.h: New file.
2034
2035         Tests for module 'unistr/u32-move'.
2036         * modules/unistr/u32-move-tests: New file.
2037         * tests/unistr/test-u32-move.c: New file.
2038
2039         Tests for module 'unistr/u16-move'.
2040         * modules/unistr/u16-move-tests: New file.
2041         * tests/unistr/test-u16-move.c: New file.
2042
2043         Tests for module 'unistr/u8-move'.
2044         * modules/unistr/u8-move-tests: New file.
2045         * tests/unistr/test-u8-move.c: New file.
2046         * tests/unistr/test-move.h: New file.
2047
2048         Tests for module 'unistr/u32-cpy'.
2049         * modules/unistr/u32-cpy-tests: New file.
2050         * tests/unistr/test-u32-cpy.c: New file.
2051
2052         Tests for module 'unistr/u16-cpy'.
2053         * modules/unistr/u16-cpy-tests: New file.
2054         * tests/unistr/test-u16-cpy.c: New file.
2055
2056         Tests for module 'unistr/u8-cpy'.
2057         * modules/unistr/u8-cpy-tests: New file.
2058         * tests/unistr/test-u8-cpy.c: New file.
2059         * tests/unistr/test-cpy.h: New file.
2060
2061 2010-01-09  Bruno Haible  <bruno@clisp.org>
2062
2063         Tests for module 'unistr/u32-uctomb'.
2064         * modules/unistr/u32-uctomb-tests: New file.
2065         * tests/unistr/test-u32-uctomb.c: New file.
2066
2067         Tests for module 'unistr/u16-uctomb'.
2068         * modules/unistr/u16-uctomb-tests: New file.
2069         * tests/unistr/test-u16-uctomb.c: New file.
2070
2071         Tests for module 'unistr/u8-uctomb'.
2072         * modules/unistr/u8-uctomb-tests: New file.
2073         * tests/unistr/test-u8-uctomb.c: New file.
2074
2075         Tests for module 'unistr/u32-mbtoucr'.
2076         * modules/unistr/u32-mbtoucr-tests: New file.
2077         * tests/unistr/test-u32-mbtoucr.c: New file.
2078
2079         Tests for module 'unistr/u16-mbtoucr'.
2080         * modules/unistr/u16-mbtoucr-tests: New file.
2081         * tests/unistr/test-u16-mbtoucr.c: New file.
2082
2083         Tests for module 'unistr/u8-mbtoucr'.
2084         * modules/unistr/u8-mbtoucr-tests: New file.
2085         * tests/unistr/test-u8-mbtoucr.c: New file.
2086
2087         Tests for module 'unistr/u32-mbtouc'.
2088         * modules/unistr/u32-mbtouc-tests: New file.
2089         * tests/unistr/test-u32-mbtouc.c: New file.
2090
2091         Tests for module 'unistr/u16-mbtouc'.
2092         * modules/unistr/u16-mbtouc-tests: New file.
2093         * tests/unistr/test-u16-mbtouc.c: New file.
2094
2095         Tests for module 'unistr/u8-mbtouc'.
2096         * modules/unistr/u8-mbtouc-tests: New file.
2097         * tests/unistr/test-u8-mbtouc.c: New file.
2098
2099         Tests for module 'unistr/u32-mbtouc-unsafe'.
2100         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
2101         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
2102         * tests/unistr/test-u32-mbtouc.h: New file.
2103
2104         Tests for module 'unistr/u16-mbtouc-unsafe'.
2105         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
2106         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
2107         * tests/unistr/test-u16-mbtouc.h: New file.
2108
2109         Tests for module 'unistr/u8-mbtouc-unsafe'.
2110         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
2111         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
2112         * tests/unistr/test-u8-mbtouc.h: New file.
2113
2114         Tests for module 'unistr/u32-mblen'.
2115         * modules/unistr/u32-mblen-tests: New file.
2116         * tests/unistr/test-u32-mblen.c: New file.
2117
2118         Tests for module 'unistr/u16-mblen'.
2119         * modules/unistr/u16-mblen-tests: New file.
2120         * tests/unistr/test-u16-mblen.c: New file.
2121
2122         Tests for module 'unistr/u8-mblen'.
2123         * modules/unistr/u8-mblen-tests: New file.
2124         * tests/unistr/test-u8-mblen.c: New file.
2125
2126         Tests for module 'unistr/u32-to-u16'.
2127         * modules/unistr/u32-to-u16-tests: New file.
2128         * tests/unistr/test-u32-to-u16.c: New file.
2129
2130         Tests for module 'unistr/u32-to-u8'.
2131         * modules/unistr/u32-to-u8-tests: New file.
2132         * tests/unistr/test-u32-to-u8.c: New file.
2133
2134         Tests for module 'unistr/u16-to-u32'.
2135         * modules/unistr/u16-to-u32-tests: New file.
2136         * tests/unistr/test-u16-to-u32.c: New file.
2137
2138         Tests for module 'unistr/u16-to-u8'.
2139         * modules/unistr/u16-to-u8-tests: New file.
2140         * tests/unistr/test-u16-to-u8.c: New file.
2141
2142         Tests for module 'unistr/u8-to-u32'.
2143         * modules/unistr/u8-to-u32-tests: New file.
2144         * tests/unistr/test-u8-to-u32.c: New file.
2145
2146         Tests for module 'unistr/u8-to-u16'.
2147         * modules/unistr/u8-to-u16-tests: New file.
2148         * tests/unistr/test-u8-to-u16.c: New file.
2149
2150         Tests for module 'unistr/u32-check'.
2151         * modules/unistr/u32-check-tests: New file.
2152         * tests/unistr/test-u32-check.c: New file.
2153
2154         Tests for module 'unistr/u16-check'.
2155         * modules/unistr/u16-check-tests: New file.
2156         * tests/unistr/test-u16-check.c: New file.
2157
2158         Tests for module 'unistr/u8-check'.
2159         * modules/unistr/u8-check-tests: New file.
2160         * tests/unistr/test-u8-check.c: New file.
2161
2162         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
2163         (category_equals): New function.
2164         (main): Add more tests.
2165         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
2166
2167         * tests/unictype/test-bidi_byname.c (main): Add more tests.
2168
2169 2010-01-10  Bruno Haible  <bruno@clisp.org>
2170
2171         unistr/u*-strcoll: Try harder to distinguish different strings.
2172         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
2173         compare s1 and s2 to see if they are different.
2174
2175 2010-01-10  Bruno Haible  <bruno@clisp.org>
2176
2177         unistr/u*-stpncpy: Fix the return value.
2178         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
2179         description of the return value consistent with stpncpy in glibc.
2180         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
2181         written non-NUL unit.
2182
2183 2010-01-10  Bruno Haible  <bruno@clisp.org>
2184
2185         unistr/u*-next: Add missing dependencies.
2186         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
2187         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
2188         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
2189
2190 2010-01-10  Bruno Haible  <bruno@clisp.org>
2191
2192         unistr/u8-mbsnlen: Fix return value for incomplete character.
2193         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
2194         u8_mblen.
2195         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
2196         Remove unistr/u8-mblen.
2197         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
2198         u16_mblen.
2199         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
2200         Remove unistr/u16-mblen.
2201
2202 2010-01-10  Bruno Haible  <bruno@clisp.org>
2203
2204         wchar: Fix compilation error when <wchar.h> is used from coreutils.
2205         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
2206         Reported by Brian Gough <bjg@gnu.org> and
2207         Chris Clayton <chris2553@googlemail.com> via
2208         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
2209
2210 2010-01-09  Bruno Haible  <bruno@clisp.org>
2211
2212         unistr/u16-to-u32: Reject invalid input.
2213         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
2214         u16_mbtouc.
2215         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
2216         Remove unistr/u16-mbtouc.
2217
2218         unistr/u16-to-u8: Reject invalid input.
2219         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
2220         u16_mbtouc.
2221         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
2222         Remove unistr/u16-mbtouc.
2223
2224         unistr/u8-to-u32: Reject invalid input.
2225         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
2226         u8_mbtouc.
2227         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
2228         Remove unistr/u8-mbtouc.
2229
2230         unistr/u8-to-u16: Reject invalid input.
2231         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
2232         u8_mbtouc.
2233         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
2234         Remove unistr/u8-mbtouc.
2235
2236 2010-01-09  Bruno Haible  <bruno@clisp.org>
2237
2238         Tests for module 'getlogin'.
2239         * modules/getlogin-tests: New file.
2240         * tests/test-getlogin.c: New file.
2241
2242         New module 'getlogin'.
2243         * lib/unistd.in.h (getlogin): New declaration.
2244         * lib/getlogin.c: New file.
2245         * m4/getlogin.m4: New file.
2246         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
2247         HAVE_GETLOGIN.
2248         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
2249         HAVE_GETLOGIN.
2250         * modules/getlogin: New file.
2251         * doc/posix-functions/getlogin.texi: Mention the new module.
2252         Reported by John W. Eaton <jwe@gnu.org>.
2253
2254 2010-01-09  Bruno Haible  <bruno@clisp.org>
2255
2256         getlogin_r: Support for native Windows.
2257         * lib/getlogin_r.c: Include <windows.h>
2258         (getlogin_r): Implement for native Windows.
2259         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
2260         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
2261         via John W. Eaton <jwe@gnu.org>.
2262
2263 2010-01-09  Bruno Haible  <bruno@clisp.org>
2264
2265         getlogin_r: Small fixes.
2266         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
2267         succeeds.
2268         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
2269         before testing whether getlogin_r is declared. No need to set
2270         HAVE_DECL_GETLOGIN_R to 1.
2271         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
2272
2273 2010-01-09  Bruno Haible  <bruno@clisp.org>
2274
2275         * lib/unistd.in.h (getlogin_r): Add comment.
2276
2277 2010-01-09  Bruno Haible  <bruno@clisp.org>
2278
2279         Tests for module 'getlogin_r'.
2280         * modules/getlogin_r-tests: New file.
2281         * tests/test-getlogin_r.c: New file.
2282
2283 2010-01-09  Jim Meyering  <meyering@redhat.com>
2284
2285         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
2286         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
2287         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
2288
2289 2010-01-08  Simon Josefsson  <simon@josefsson.org>
2290
2291         * lib/dup2.c (rpl_dup2): Improve comment.
2292
2293 2010-01-08  Eric Blake  <ebb9@byu.net>
2294
2295         maint.mk: allow packages to add makefile @@ exceptions
2296         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
2297         (sc_makefile_check): Rename...
2298         (sc_makefile_at_at_check): ...to this, and use hook.
2299
2300         dup2: work around mingw bug
2301         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
2302         Reported by Simon Josefsson.
2303
2304 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
2305
2306         glob: Fix C++ compilation.
2307         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
2308         C++.
2309
2310 2010-01-07  Bruno Haible  <bruno@clisp.org>
2311
2312         Fix indentation of wctype.in.h, broken since 2007-01-06.
2313         * lib/wctype.in.h: Fix indentation of preprocessor directives.
2314
2315 2010-01-07  Bruno Haible  <bruno@clisp.org>
2316
2317         mbslen: Avoid collision with system function.
2318         * lib/string.in.h [MirBSD]: Include <wchar.h>.
2319         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
2320         * m4/mbslen.m4: New file.
2321         * modules/mbslen (Files): Add it.
2322         (configure.ac): Invoke gl_MBSLEN.
2323         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
2324         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
2325         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
2326         via Ian Beckwith <ianb@erislabs.net>.
2327
2328 2010-01-07  Bruno Haible  <bruno@clisp.org>
2329
2330         dirent: Document the last fix.
2331         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
2332
2333 2010-01-07  Bruno Haible  <bruno@clisp.org>
2334
2335         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
2336         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
2337         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
2338         va_list are defined.
2339         * doc/posix-headers/stdio.texi: Document the bug of missing types.
2340         Reported by Eric Blake.
2341
2342 2010-01-07  Bruno Haible  <bruno@clisp.org>
2343
2344         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
2345         * modules/xlist (Depends-on): Add 'list',
2346         * modules/xoset (Depends-on): Add 'oset'.
2347         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2348
2349 2010-01-07  Bruno Haible  <bruno@clisp.org>
2350
2351         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
2352         * doc/posix-functions/strncasecmp.texi: Likewise.
2353
2354 2010-01-07  Bruno Haible  <bruno@clisp.org>
2355
2356         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
2357
2358 2010-01-07  John W. Eaton  <jwe@octave.org>
2359
2360         wctype: allow C++ use
2361         * lib/wctype.in.h: Add extern "C" block for C++.
2362
2363 2010-01-06  Eric Blake  <ebb9@byu.net>
2364
2365         maint.mk: detect incorrect GFDL usage
2366         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
2367
2368 2010-01-06  Jim Meyering  <meyering@redhat.com>
2369         and Eric Blake  <ebb9@byu.net>
2370
2371         maint.mk: ignore multi-line copyright in NEWS
2372         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
2373
2374 2010-01-06  Eric Blake  <ebb9@byu.net>
2375
2376         select: add missing dependency
2377         * modules/select-tests (Depends-on): Move sockets dependency...
2378         * modules/select (Depends-on): ...here.
2379         Reported by Ian Beckwith.
2380
2381         doc: regenerate INSTALL
2382         * doc/INSTALL: Reflect recent autoconf update.
2383         * doc/INSTALL.ISO: Likewise.
2384         * doc/INSTALL.UTF-8: Likewise.
2385
2386         pread: fix compilation on glibc
2387         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
2388         Reported by Ralf Wildenhues.
2389
2390         dirent: fix test failure
2391         * lib/dirent.in.h (includes): Guarantee ino_t.
2392         Reported by Ralf Wildenhues.
2393
2394 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
2395
2396         linkat, renameat: avoid bad free
2397         * lib/at-func2.c (at_func2): Fix typo.
2398         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
2399
2400 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2401
2402         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
2403         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
2404         to avoid failure of symlink test later.
2405
2406 2010-01-06  Eric Blake  <ebb9@byu.net>
2407
2408         stdio, unistd: guarantee ssize_t
2409         * lib/unistd.in.h (includes): Ensure that types required by POSIX
2410         2008 are exposed when needed.
2411         * lib/stdio.in.h (includes): Likewise.
2412         Reported by Ralf Wildenhues.
2413
2414 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
2415
2416         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
2417         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
2418         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
2419
2420 2010-01-06  Jim Meyering  <meyering@redhat.com>
2421
2422         readtokens: this module *does* require xalloc.h
2423         It uses only functions that were omitted by the old syntax-check rule.
2424         * lib/readtokens.c: Include "xalloc.h" once again.
2425         * modules/readtokens (Depends-on): Add xalloc.
2426         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
2427
2428 2010-01-05  Eric Blake  <ebb9@byu.net>
2429
2430         maint: support 'make announcement' from a VPATH build
2431         * top/maint.mk (announcement): Look for correct NEWS file.
2432
2433 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
2434
2435         utimens (fdutimens): ignore a negative FD, per contract
2436         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
2437         when we have a valid file descriptor.  Otherwise, using a brand
2438         new glibc (with just-patched futimens that now fails with EBADF)
2439         would cause this function to fail with ENOSYS.
2440         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
2441         See also http://bugzilla.redhat.com/552320.
2442
2443 2010-01-05  Eric Blake  <ebb9@byu.net>
2444
2445         strcase: document what it provides
2446         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
2447         gnulib module.
2448         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
2449         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
2450
2451 2010-01-05  Jim Meyering  <meyering@redhat.com>
2452
2453         maint: remove useless inclusions of "xalloc.h"
2454         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
2455         * lib/readtokens.c: Likewise.
2456         * lib/same.c: Likewise.
2457         * modules/getloadavg (Depends-on): Remove xalloc.
2458         * modules/readtokens: Likewise.
2459         * modules/same: Likewise.
2460
2461         maint.mk: include 4 more function names in alloca.h-checking regexp
2462         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
2463         regexp.  Before, we would give a false-positive (saying alloca.h
2464         is included unnecessarily) when the only uses involved omitted symbols.
2465
2466         xalloc.h: use consistent formatting
2467         * lib/xalloc.h: Move declarations to start in the first column.
2468
2469 2010-01-05  Eric Blake  <ebb9@byu.net>
2470
2471         mkdir: avoid xalloc
2472         * lib/mkdir.c (includes): Drop unused header.
2473         Reported by John W. Eaton.
2474
2475 2010-01-04  Jim Meyering  <meyering@redhat.com>
2476
2477         nl_langinfo: avoid configure-time syntax error
2478         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
2479         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
2480         the empty string.  Don't let that provoke a shell syntax error.
2481
2482         regcomp, regexec, fnmatch: avoid array bounds read error
2483         * lib/regcomp.c (build_equiv_class): From glibc:
2484         Use only the low 24 bits of a findidx return value as an index
2485         into the weights array.  Patch by Ulrich Drepper:
2486         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
2487         * lib/regexec.c (check_node_accept_bytes): Likewise.
2488         * lib/fnmatch_loop.c (FCT): Likewise.
2489
2490         regcomp: skip collseq lookup when there are no rules
2491         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
2492         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
2493
2494         regcomp: recognize ill-formed { } expressions
2495         * lib/regcomp.c (parse_dup_op): From glibc:
2496         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
2497
2498         regcomp: fix typo in comment
2499         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
2500         s/satisfy/satisfies/.
2501
2502         regcomp: sync from glibc: remove dead store
2503         * lib/regcomp.c (duplicate_node_closure): Remove useless
2504         search_duplicated_node call and dead store.
2505
2506         regcomp: sync from glibc; always use nl_langinfo
2507         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
2508         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
2509         * modules/regex (Depends-on): Add nl_langinfo.
2510
2511 2010-01-04  Eric Blake  <ebb9@byu.net>
2512
2513         fdopendir: fix configure test
2514         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
2515
2516 2010-01-01  Bruno Haible  <bruno@clisp.org>
2517
2518         wchar: Remove unused configure check.
2519         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
2520
2521 2010-01-01  Eric Blake  <ebb9@byu.net>
2522
2523         headers: make check of system header explicit
2524         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
2525         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
2526         ourselves.
2527         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
2528         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
2529         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
2530         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
2531         internals.
2532         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
2533         missing.
2534         Suggested by Bruno Haible.
2535
2536 2010-01-01  Jim Meyering  <meyering@redhat.com>
2537
2538         ChangeLog: tweak to eliminate unnecessary copyright line
2539         * ChangeLog: Remove a copyright line that was mistakenly updated
2540         by today's update-copyright run.  Reported by Eric Blake.
2541
2542         test-update-copyright: don't let envvar setting cause test failure
2543         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
2544
2545 2010-01-01  Bruno Haible  <bruno@clisp.org>
2546
2547         localename: Avoid gcc warning.
2548         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
2549         function if it is not used.
2550
2551 2010-01-01  Jim Meyering  <meyering@redhat.com>
2552
2553         update nearly all FSF copyright year lists to include 2010
2554         Use the same procedure as for 2009, outlined in
2555         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
2556
2557         version-etc: set COPYRIGHT_YEAR to 2010
2558         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
2559
2560 2009-12-31  Eric Blake  <ebb9@byu.net>
2561
2562         doc: correct availability of cygwin 1.5.x getopt
2563         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
2564         variables.
2565         * doc/posix-functions/opterr.texi (opterr): Likewise.
2566         * doc/posix-functions/optind.texi (optind): Likewise.
2567         * doc/posix-functions/optopt.texi (optopt): Likewise.
2568         * doc/posix-functions/tzname.texi (tzname): Likewise.
2569
2570         openat: update maintainer
2571         * modules/openat (Maintainer): Add myself.
2572
2573         utimens: avoid shadowing warning
2574         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
2575         buffers into one, to avoid shadowing, as well as avoiding a
2576         redundant stat.
2577         Reported by Jim Meyering.
2578
2579         test-dup2: avoid compiler warning
2580         * tests/test-dup2.c (is_inheritable): Only define if used.
2581
2582 2010-01-01  Bruno Haible  <bruno@clisp.org>
2583
2584         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
2585         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
2586         defined, use wctomb instead of wcrtomb.
2587
2588 2010-01-01  Bruno Haible  <bruno@clisp.org>
2589
2590         iconv: Reject native Solaris iconv.
2591         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
2592         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
2593
2594 2009-12-31  Bruno Haible  <bruno@clisp.org>
2595
2596         * tests/test-signal.c (main): Remove test of 'SIG'.
2597
2598 2009-12-31  Bruno Haible  <bruno@clisp.org>
2599
2600         spawn: Fix incomplete fix.
2601         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
2602         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
2603         warnings for GNULIB_POSIXCHECK again.
2604         Reported by Eric Blake.
2605
2606 2009-12-31  Bruno Haible  <bruno@clisp.org>
2607
2608         Avoid namespace pollution on glibc systems.
2609         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
2610         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
2611         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
2612         glibc systems.
2613
2614 2009-12-31  Bruno Haible  <bruno@clisp.org>
2615
2616         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
2617         (gl_REPLACE_WCHAR_H): Turn into a no-op.
2618         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
2619         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
2620         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
2621         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
2622         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
2623
2624 2009-12-31  Bruno Haible  <bruno@clisp.org>
2625
2626         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
2627         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
2628         afterwards.
2629
2630 2009-12-31  Bruno Haible  <bruno@clisp.org>
2631
2632         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
2633         SYS_UTSNAME_H.
2634
2635 2009-12-31  Bruno Haible  <bruno@clisp.org>
2636
2637         spawn: Fix misapplied patch.
2638         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
2639         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
2640         warnings for GNULIB_POSIXCHECK.
2641
2642 2009-12-31  Bruno Haible  <bruno@clisp.org>
2643
2644         times: Update after sys_times changed.
2645         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
2646         * modules/times (Files): Add it.
2647         (configure.ac): Invoke gl_FUNC_TIMES.
2648
2649 2009-12-31  Bruno Haible  <bruno@clisp.org>
2650
2651         Use AC_C_INLINE where necessary.
2652         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
2653         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
2654         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
2655         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
2656         * m4/mbfile.m4 (gl_MBFILE): Likewise.
2657         * m4/mbiter.m4 (gl_MBITER): Likewise.
2658         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
2659         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2660         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
2661         * modules/u64 (configure.ac): Likewise.
2662
2663 2009-12-31  Bruno Haible  <bruno@clisp.org>
2664
2665         Use AC_C_INLINE instead of module 'inline' where possible.
2666         * modules/inline (Description): Clarify purpose.
2667         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
2668         * modules/count-one-bits (Depends-on): Remove inline.
2669         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
2670         * modules/openat (Depends-on): Remove inline.
2671         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
2672         instead of depending on module 'inline'.
2673         * modules/filevercmp (Depends-on, configure.ac): Likewise.
2674         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
2675         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
2676         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
2677         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
2678         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
2679         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
2680         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
2681         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
2682         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
2683         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
2684         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
2685         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
2686         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
2687         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
2688         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
2689         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
2690         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
2691         Likewise.
2692         * modules/unictype/property-ascii-hex-digit (Depends-on,
2693         configure.ac): Likewise.
2694         * modules/unictype/property-bidi-arabic-digit (Depends-on,
2695         configure.ac): Likewise.
2696         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
2697         configure.ac): Likewise.
2698         * modules/unictype/property-bidi-block-separator (Depends-on,
2699         configure.ac): Likewise.
2700         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
2701         configure.ac): Likewise.
2702         * modules/unictype/property-bidi-common-separator (Depends-on,
2703         configure.ac): Likewise.
2704         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
2705         Likewise.
2706         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
2707         configure.ac): Likewise.
2708         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
2709         configure.ac): Likewise.
2710         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
2711         configure.ac): Likewise.
2712         * modules/unictype/property-bidi-european-digit (Depends-on,
2713         configure.ac): Likewise.
2714         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
2715         configure.ac): Likewise.
2716         * modules/unictype/property-bidi-left-to-right (Depends-on,
2717         configure.ac): Likewise.
2718         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
2719         configure.ac): Likewise.
2720         * modules/unictype/property-bidi-other-neutral (Depends-on,
2721         configure.ac): Likewise.
2722         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
2723         Likewise.
2724         * modules/unictype/property-bidi-segment-separator (Depends-on,
2725         configure.ac): Likewise.
2726         * modules/unictype/property-bidi-whitespace (Depends-on,
2727         configure.ac): Likewise.
2728         * modules/unictype/property-combining (Depends-on, configure.ac):
2729         Likewise.
2730         * modules/unictype/property-composite (Depends-on, configure.ac):
2731         Likewise.
2732         * modules/unictype/property-currency-symbol (Depends-on,
2733         configure.ac): Likewise.
2734         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
2735         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
2736         Likewise.
2737         * modules/unictype/property-default-ignorable-code-point (Depends-on,
2738         configure.ac): Likewise.
2739         * modules/unictype/property-deprecated (Depends-on, configure.ac):
2740         Likewise.
2741         * modules/unictype/property-diacritic (Depends-on, configure.ac):
2742         Likewise.
2743         * modules/unictype/property-extender (Depends-on, configure.ac):
2744         Likewise.
2745         * modules/unictype/property-format-control (Depends-on, configure.ac):
2746         Likewise.
2747         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
2748         Likewise.
2749         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
2750         Likewise.
2751         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
2752         Likewise.
2753         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
2754         Likewise.
2755         * modules/unictype/property-hyphen (Depends-on, configure.ac):
2756         Likewise.
2757         * modules/unictype/property-id-continue (Depends-on, configure.ac):
2758         Likewise.
2759         * modules/unictype/property-id-start (Depends-on, configure.ac):
2760         Likewise.
2761         * modules/unictype/property-ideographic (Depends-on, configure.ac):
2762         Likewise.
2763         * modules/unictype/property-ids-binary-operator (Depends-on,
2764         configure.ac): Likewise.
2765         * modules/unictype/property-ids-trinary-operator (Depends-on,
2766         configure.ac): Likewise.
2767         * modules/unictype/property-ignorable-control (Depends-on,
2768         configure.ac): Likewise.
2769         * modules/unictype/property-iso-control (Depends-on, configure.ac):
2770         Likewise.
2771         * modules/unictype/property-join-control (Depends-on, configure.ac):
2772         Likewise.
2773         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
2774         Likewise.
2775         * modules/unictype/property-line-separator (Depends-on, configure.ac):
2776         Likewise.
2777         * modules/unictype/property-logical-order-exception (Depends-on,
2778         configure.ac): Likewise.
2779         * modules/unictype/property-lowercase (Depends-on, configure.ac):
2780         Likewise.
2781         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
2782         * modules/unictype/property-non-break (Depends-on, configure.ac):
2783         Likewise.
2784         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
2785         Likewise.
2786         * modules/unictype/property-numeric (Depends-on, configure.ac):
2787         Likewise.
2788         * modules/unictype/property-other-alphabetic (Depends-on,
2789         configure.ac): Likewise.
2790         * modules/unictype/property-other-default-ignorable-code-point
2791         (Depends-on, configure.ac): Likewise.
2792         * modules/unictype/property-other-grapheme-extend (Depends-on,
2793         configure.ac): Likewise.
2794         * modules/unictype/property-other-id-continue (Depends-on,
2795         configure.ac): Likewise.
2796         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
2797         Likewise.
2798         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
2799         Likewise.
2800         * modules/unictype/property-other-math (Depends-on, configure.ac):
2801         Likewise.
2802         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
2803         Likewise.
2804         * modules/unictype/property-paired-punctuation (Depends-on,
2805         configure.ac): Likewise.
2806         * modules/unictype/property-paragraph-separator (Depends-on,
2807         configure.ac): Likewise.
2808         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
2809         Likewise.
2810         * modules/unictype/property-pattern-white-space (Depends-on,
2811         configure.ac): Likewise.
2812         * modules/unictype/property-private-use (Depends-on, configure.ac):
2813         Likewise.
2814         * modules/unictype/property-punctuation (Depends-on, configure.ac):
2815         Likewise.
2816         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
2817         Likewise.
2818         * modules/unictype/property-radical (Depends-on, configure.ac):
2819         Likewise.
2820         * modules/unictype/property-sentence-terminal (Depends-on,
2821         configure.ac): Likewise.
2822         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
2823         Likewise.
2824         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
2825         * modules/unictype/property-terminal-punctuation (Depends-on,
2826         configure.ac): Likewise.
2827         * modules/unictype/property-titlecase (Depends-on, configure.ac):
2828         Likewise.
2829         * modules/unictype/property-unassigned-code-value (Depends-on,
2830         configure.ac): Likewise.
2831         * modules/unictype/property-unified-ideograph (Depends-on,
2832         configure.ac): Likewise.
2833         * modules/unictype/property-uppercase (Depends-on, configure.ac):
2834         Likewise.
2835         * modules/unictype/property-variation-selector (Depends-on,
2836         configure.ac): Likewise.
2837         * modules/unictype/property-white-space (Depends-on, configure.ac):
2838         Likewise.
2839         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
2840         Likewise.
2841         * modules/unictype/property-xid-start (Depends-on, configure.ac):
2842         Likewise.
2843         * modules/unictype/property-zero-width (Depends-on, configure.ac):
2844         Likewise.
2845         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
2846         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
2847         Likewise.
2848
2849 2009-12-31  Bruno Haible  <bruno@clisp.org>
2850
2851         Remove unnecessary AC_C_INLINE invocation.
2852         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
2853         since 2009-08-21.
2854
2855 2009-12-31  Jim Meyering  <meyering@redhat.com>
2856
2857         maint.mk: don't require explicit gpg_key_ID in cfg.mk
2858         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
2859         With this change, we can all remove the gpg_key_ID = ... definition
2860         from our respective cfg.mk files.
2861
2862         maint.mk: create announcement template in ~/, not in /tmp
2863         * top/maint.mk (emit_upload_commands): Adjust.
2864         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
2865         Remove temporary file, .ci-msg.
2866
2867 2009-12-31  Eric Blake  <ebb9@byu.net>
2868
2869         link-warning: always build headers with link warnings
2870         * modules/arpa_inet (Makefile.am): Always build replacement
2871         header.
2872         * modules/ctype (Makefile.am): Likewise.
2873         * modules/dirent (Makefile.am): Likewise.
2874         * modules/inttypes (Makefile.am): Likewise.
2875         * modules/langinfo (Makefile.am): Likewise.
2876         * modules/locale (Makefile.am): Likewise.
2877         * modules/spawn (Makefile.am): Likewise.
2878         * modules/sys_file (Makefile.am): Likewise.
2879         * modules/sys_ioctl (Makefile.am): Likewise.
2880         * modules/sys_select (Makefile.am): Likewise.
2881         * modules/sys_socket (Makefile.am): Likewise.
2882         * modules/sys_times (Makefile.am): Likewise.
2883         * modules/sys_utsname (Makefile.am): Likewise.
2884         * modules/sys_wait (Makefile.am): Likewise.
2885         * modules/wchar (Makefile.am): Likewise.
2886         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
2887         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
2888         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
2889         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
2890         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
2891         Likewise.
2892         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
2893         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
2894         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
2895         Likewise.
2896         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
2897         Likewise.
2898         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
2899         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
2900         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
2901         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
2902         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
2903         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
2904         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
2905         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
2906         (gl_WCHAR_H_DEFAULTS): Likewise.
2907
2908 2009-12-31  Eric Blake  <ebb9@byu.net>
2909
2910         signal, spawn: use link warnings
2911         * lib/signal.in.h (sigset_t): Make unconditional.
2912         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
2913         (sigpending, sigprocmask, sigaction): Add link warnings.
2914         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
2915         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
2916         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
2917         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
2918         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
2919         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
2920         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
2921         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
2922         (posix_spawn_file_actions_destroy)
2923         (posix_spawn_file_actions_addopen)
2924         (posix_spawn_file_actions_addclose)
2925         (posix_spawwn_file_actions_adddup2): Likewise.
2926         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
2927         * tests/test-signal.c (main): Enhance test.
2928
2929         spawn: improve wrapper support
2930         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
2931         (gl_SPAWN_H_DEFAULTS): New defaults.
2932         * modules/spawn (Makefile.am): Substitute them.
2933         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
2934         Only declare if missing or broken.
2935
2936         sys_times, sys_utsname: use include_next
2937         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
2938         header.
2939         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
2940         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
2941         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
2942         * modules/sys_times (Depends-on): Add include_next.
2943         (Makefile.am): Substitute additional values.
2944         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
2945         * lib/sys_times.in.h (includes): Include native header, if
2946         available.
2947         * lib/sys_utsname.in.h (includes): Likewise.
2948         * tests/test-sys_times.c (main): Enhance test.
2949
2950         fdutimensat: revert prior patch
2951         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
2952         utimens.h.
2953         Reported by Bruno Haible.
2954
2955 2009-12-30  Eric Blake  <ebb9@byu.net>
2956
2957         sys_wait: drop link-warning dependency
2958         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
2959         link-warning efforts.
2960         * lib/sys_wait.in.h: Likewise.
2961
2962         fdutimensat: remove bogus dependency
2963         * modules/fdutimensat (Depends-on): Drop inline.
2964
2965         unistd: fix typo
2966         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
2967
2968 2009-12-30  Bruno Haible  <bruno@clisp.org>
2969
2970         Fix compilation error with Solaris cc.
2971         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
2972         * lib/unicase/u16-is-invariant.c: Likewise.
2973         * lib/unicase/u32-is-invariant.c: Likewise.
2974         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
2975
2976 2009-12-30  Bruno Haible  <bruno@clisp.org>
2977
2978         Fix test crash.
2979         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
2980         locales.
2981         Reported by Simon Josefsson <simon@josefsson.org>.
2982
2983 2009-12-30  Bruno Haible  <bruno@clisp.org>
2984
2985         Fix compilation error on most platforms.
2986         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
2987         Reported by Simon Josefsson <simon@josefsson.org>
2988         and Nelson H. F. Beebe <beebe@math.utah.edu>.
2989
2990 2009-12-30  Eric Blake  <ebb9@byu.net>
2991
2992         futimens, utimensat: work around ntfs-3g bug
2993         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
2994         a ctime bug is present, and expand workaround to cover ntfs-3g.
2995         * lib/utimens.c (fdutimens, lutimens): Likewise.
2996         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
2997         (validate_timespec): Adjust return value.
2998         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
2999         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
3000         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
3001
3002 2009-12-29  Eric Blake  <ebb9@byu.net>
3003
3004         link-warning: make usage consistent
3005         * modules/ctype (Depends-on): Add link-warning.
3006         (Makefile.am): Update rules accordingly.
3007         * modules/langinfo (Depends-on, Makefile.am): Likewise.
3008         * modules/locale (Depends-on, Makefile.am): Likewise.
3009         * modules/sys_file (Makefile.am): Likewise.
3010         * modules/getopt-posix (Makefile.am): Delete unused link warning
3011         efforts.
3012         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
3013         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
3014         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
3015         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
3016
3017         stdio: remove unused variables
3018         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
3019         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
3020         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
3021
3022         tests: test more substitute headers
3023         * modules/ctype-tests: New file.
3024         * modules/dirent-tests: Likewise.
3025         * modules/spawn-tests: Likewise.
3026         * modules/sys_file-tests: Likewise.
3027         * modules/sys_ioctl-tests: Likewise.
3028         * modules/sys_wait-tests: Likewise.
3029         * tests/test-ctype.c: Likewise.
3030         * tests/test-dirent.c: Likewise.
3031         * tests/test-spawn.c: Likewise.
3032         * tests/test-sys_file.c: Likewise.
3033         * tests/test-sys_ioctl.c: Likewise.
3034         * tests/test-sys_wait.c: Likewise.
3035         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
3036         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
3037         whether or not flock is in use.
3038
3039         tests: remove License section from module
3040         * modules/arpa_inet-tests: Remove unneeded section.
3041         * modules/byteswap-tests: Likewise.
3042         * modules/ceilf-tests: Likewise.
3043         * modules/ceill-tests: Likewise.
3044         * modules/crypto/des-tests: Likewise.
3045         * modules/crypto/gc-arcfour-tests: Likewise.
3046         * modules/crypto/gc-arctwo-tests: Likewise.
3047         * modules/crypto/gc-des-tests: Likewise.
3048         * modules/crypto/gc-hmac-md5-tests: Likewise.
3049         * modules/crypto/gc-hmac-sha1-tests: Likewise.
3050         * modules/crypto/gc-md2-tests: Likewise.
3051         * modules/crypto/gc-md4-tests: Likewise.
3052         * modules/crypto/gc-md5-tests: Likewise.
3053         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
3054         * modules/crypto/gc-rijndael-tests: Likewise.
3055         * modules/crypto/gc-sha1-tests: Likewise.
3056         * modules/crypto/gc-tests: Likewise.
3057         * modules/crypto/md2-tests: Likewise.
3058         * modules/crypto/md4-tests: Likewise.
3059         * modules/fcntl-h-tests: Likewise.
3060         * modules/floorf-tests: Likewise.
3061         * modules/floorl-tests: Likewise.
3062         * modules/frexp-nolibm-tests: Likewise.
3063         * modules/frexp-tests: Likewise.
3064         * modules/frexpl-nolibm-tests: Likewise.
3065         * modules/frexpl-tests: Likewise.
3066         * modules/getaddrinfo-tests: Likewise.
3067         * modules/inttypes-tests: Likewise.
3068         * modules/isfinite-tests: Likewise.
3069         * modules/isinf-tests: Likewise.
3070         * modules/ldexpl-tests: Likewise.
3071         * modules/locale-tests: Likewise.
3072         * modules/math-tests: Likewise.
3073         * modules/netdb-tests: Likewise.
3074         * modules/netinet_in-tests: Likewise.
3075         * modules/printf-frexp-tests: Likewise.
3076         * modules/printf-frexpl-tests: Likewise.
3077         * modules/priv-set-tests: Likewise.
3078         * modules/random_r-tests: Likewise.
3079         * modules/round-tests: Likewise.
3080         * modules/roundf-tests: Likewise.
3081         * modules/roundl-tests: Likewise.
3082         * modules/search-tests: Likewise.
3083         * modules/select-tests: Likewise.
3084         * modules/signal-tests: Likewise.
3085         * modules/stdbool-tests: Likewise.
3086         * modules/stddef-tests: Likewise.
3087         * modules/stdint-tests: Likewise.
3088         * modules/stdio-tests: Likewise.
3089         * modules/stdlib-tests: Likewise.
3090         * modules/string-tests: Likewise.
3091         * modules/strings-tests: Likewise.
3092         * modules/sys_select-tests: Likewise.
3093         * modules/sys_socket-tests: Likewise.
3094         * modules/sys_stat-tests: Likewise.
3095         * modules/sys_time-tests: Likewise.
3096         * modules/sys_utsname-tests: Likewise.
3097         * modules/sysexits-tests: Likewise.
3098         * modules/time-tests: Likewise.
3099         * modules/trunc-tests: Likewise.
3100         * modules/truncf-tests: Likewise.
3101         * modules/truncl-tests: Likewise.
3102         * modules/tsearch-tests: Likewise.
3103         * modules/unistd-tests: Likewise.
3104         * modules/wchar-tests: Likewise.
3105         * modules/wctype-tests: Likewise.
3106
3107         tests: fix license on several tests
3108         * tests/test-des.c: Update to GPLv3+.
3109         * tests/test-flock.c: Likewise.
3110         * tests/test-fsync.c: Likewise.
3111         * tests/test-futimens.h: Likewise.
3112         * tests/test-gc-arcfour.c: Likewise.
3113         * tests/test-gc-arctwo.c: Likewise.
3114         * tests/test-gc-des.c: Likewise.
3115         * tests/test-gc-hmac-md5.c: Likewise.
3116         * tests/test-gc-hmac-sha1.c: Likewise.
3117         * tests/test-gc-md2.c: Likewise.
3118         * tests/test-gc-md4.c: Likewise.
3119         * tests/test-gc-md5.c: Likewise.
3120         * tests/test-gc-pbkdf2-sha1.c: Likewise.
3121         * tests/test-gc-rijndael.c: Likewise.
3122         * tests/test-gc-sha1.c: Likewise.
3123         * tests/test-gc.c: Likewise.
3124         * tests/test-getcwd.c: Likewise.
3125         * tests/test-link.c: Likewise.
3126         * tests/test-link.h: Likewise.
3127         * tests/test-lutimens.h: Likewise.
3128         * tests/test-md2.c: Likewise.
3129         * tests/test-md4.c: Likewise.
3130         * tests/test-mkdir.h: Likewise.
3131         * tests/test-rename.c: Likewise.
3132         * tests/test-rename.h: Likewise.
3133         * tests/test-safe-alloc.c: Likewise.
3134         * tests/test-utimens-common.h: Likewise.
3135         * tests/test-utimens.h: Likewise.
3136
3137         maint: sync license texts
3138         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
3139         * doc/gpl-3.0.texi: Revert copyright year update.
3140         * doc/lgpl-3.0.texi: Likewise.
3141
3142 2009-12-29  Jim Meyering  <meyering@redhat.com>
3143
3144         update nearly all FSF copyright year lists to include 2009
3145         The files named by the following are exempted:
3146             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
3147               test -f "$dst" && { echo "$dst"; continue; }
3148               test -d "$dst" || continue
3149               echo "$dst"/$(basename "$src")
3150             done > exempt
3151             git ls-files tests/unictype >> exempt
3152         In the remaining files, convert to all-interval notation if
3153         - there is already at least one year interval like 2000-2003
3154         - the file is maintained by me
3155         - the file is in lib/uni*/, where that style already prevails
3156         Otherwise, use update-copyright's default.
3157
3158 2009-12-29  Simon Josefsson  <simon@josefsson.org>
3159         and Eric Blake  <ebb9@byu.net>
3160
3161         tests: don't require debug system() to pass
3162         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
3163         * tests/test-rmdir.h (test_rmdir_func): Likewise.
3164         * tests/test-unlink.h (test_unlink_func): Likewise.
3165         * tests/test-fstatat.c (main): ...into callers.
3166         * tests/test-lstat.c (main): Likewise.
3167         * tests/test-rmdir.c (main): Likewise.
3168         * tests/test-unlink.c (main): Likewise.
3169         * tests/test-unlinkat.c (main): Likewise.
3170         * tests/test-areadlink-with-size.c (main): Don't require a
3171         debug-only system call to pass, aiding cross-testing to mingw.
3172         * tests/test-areadlink.c (main): Likewise.
3173         * tests/test-areadlinkat-with-size.c (main): Likewise.
3174         * tests/test-areadlinkat.c (main): Likewise.
3175         * tests/test-canonicalize-lgpl.c (main): Likewise.
3176         * tests/test-canonicalize.c (main): Likewise.
3177         * tests/test-chown.c (main): Likewise.
3178         * tests/test-fchownat.c (main): Likewise.
3179         * tests/test-lchown.c (main): Likewise.
3180         * tests/test-fdutimensat.c (main): Likewise.
3181         * tests/test-futimens.c (main): Likewise.
3182         * tests/test-link.c (main): Likewise.
3183         * tests/test-linkat.c (main): Likewise.
3184         * tests/test-mkdir.c (main): Likewise.
3185         * tests/test-mkdirat.c (main): Likewise.
3186         * tests/test-mkfifo.c (main): Likewise.
3187         * tests/test-mkfifoat.c (main): Likewise.
3188         * tests/test-mknod.c (main): Likewise.
3189         * tests/test-readlink.c (main): Likewise.
3190         * tests/test-remove.c (main): Likewise.
3191         * tests/test-rename.c (main): Likewise.
3192         * tests/test-renameat.c (main): Likewise.
3193         * tests/test-symlink.c (main): Likewise.
3194         * tests/test-symlinkat.c (main): Likewise.
3195         * tests/test-utimens.c (main): Likewise.
3196         * tests/test-utimensat.c (main): Likewise.
3197
3198 2009-12-29  Simon Josefsson  <simon@josefsson.org>
3199
3200         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
3201         on $(UNUSED_PARAMETER_H) to avoid build failure.
3202
3203 2009-12-28  Jim Meyering  <meyering@redhat.com>
3204
3205         update-copyright: you may specify a max. line length other than 72
3206         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
3207
3208         maint: use consistent FSF copyright line syntax
3209         * lib/posixtm.c: Add missing comma in FSF copyright line.
3210         * lib/posixtm.h: Likewise.
3211         * lib/getugroups.c: Add missing ", Inc.".
3212
3213         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
3214         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
3215         FSF copyright line.  Remove trailing blanks.
3216
3217 2009-12-28  Eric Blake  <ebb9@byu.net>
3218
3219         test-dup2: reduce dependencies
3220         * modules/cloexec (Configure.ac): Set witness.
3221         * modules/dup2-tests (Depends-on): Drop cloexec.
3222         * tests/test-dup2.c (main): Skip portion of test if cloexec module
3223         not present.
3224         Suggested by Bruno Haible.
3225
3226 2009-12-26  Bruno Haible  <bruno@clisp.org>
3227
3228         Remove an unneeded dependency.
3229         * modules/fseterr (Depends-on): Remove dup2.
3230
3231 2009-12-26  Eric Blake  <ebb9@byu.net>
3232
3233         tests: use macros.h in more places
3234         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
3235         (ASSERT_STREAM): Provide default of stderr.
3236         * tests/test-dirent-safer.c: Include macros.h, using alternate
3237         stream for assertions.
3238         * tests/test-dup-safer.c: Likewise.
3239         * tests/test-freopen-safer.c: Likewise.
3240         * tests/test-getopt.c: Likewise.
3241         * tests/test-openat-safer.c: Likewise.
3242         * tests/test-pipe.c: Likewise.
3243         * tests/test-popen-safer.c: Likewise.
3244         * modules/dirent-safer-tests (Files): Include macros.h.
3245         * modules/unistd-safer-tests (Files): Likewise.
3246         * modules/freopen-safer-tests (Files): Likewise.
3247         * modules/getopt-posix-tests (Files): Likewise.
3248         * modules/openat-safer-tests (Files): Likewise.
3249         * modules/pipe-tests (Files): Likewise.
3250
3251 2009-12-26  Bruno Haible  <bruno@clisp.org>
3252
3253         javacomp: Portability fix.
3254         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
3255         that it also works on Solaris.
3256
3257 2009-12-26  Bruno Haible  <bruno@clisp.org>
3258
3259         localename: Fix storage allocation of gl_locale_name_thread's result.
3260         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
3261         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
3262         all platforms that have 'uselocale'.
3263         (gl_locale_name_thread_unsafe): New function, extracted from
3264         gl_locale_name_thread.
3265         (gl_locale_name_thread): Call struniq on all platforms that have
3266         'uselocale'.
3267         * tests/test-localename.c (test_locale_name_thread): Check that the
3268         resulting strings are permanently allocated.
3269         * modules/localename-tests (Depends-on): Add strdup.
3270
3271 2009-12-26  Bruno Haible  <bruno@clisp.org>
3272
3273         * tests/test-localename.c (categories): Fill in the strings.
3274
3275 2009-12-26  Jim Meyering  <meyering@redhat.com>
3276
3277         isdir: complete the removal of m4/isdir.m4
3278         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
3279
3280         isdir: clean up, since at least grep still uses it
3281         * lib/isdir.c: Include "isdir.h".
3282         (S_ISDIR): Remove now-unneeded definition.
3283         * modules/isdir (Files): Add lib/isdir.h.
3284         * lib/isdir.h: New file, with declaration.
3285         * m4/isdir.m4: Remove file -- unneeded.
3286
3287 2009-12-25  Bruno Haible  <bruno@clisp.org>
3288
3289         selinux-h: Make generated .h files standalone.
3290         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
3291         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
3292         * lib/se-selinux.in.h: Likewise.
3293         * modules/selinux-h (Depends-on): Add unused-parameter.
3294         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
3295         selinux/selinux.h and selinux/context.h.
3296         Suggested by Eric Blake.
3297
3298 2009-12-25  Bruno Haible  <bruno@clisp.org>
3299
3300         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
3301         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
3302         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
3303         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
3304         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
3305
3306 2009-12-24  Bruno Haible  <bruno@clisp.org>
3307
3308         openat: Fix warning.
3309         * lib/openat-proc.c: Include <unistd.h>.
3310
3311 2009-12-24  Bruno Haible  <bruno@clisp.org>
3312
3313         New module 'unused-parameter'.
3314         * build-aux/unused-parameter.h: New file, extracted from earlier
3315         gnulib-common.m4.
3316         * modules/unused-parameter: New file.
3317         * lib/unistr.h: Include unused-parameter.h.
3318         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
3319         _GL_UNUSED.
3320         * modules/unistr/base (Depends-on): Add unused-parameter.
3321
3322 2009-12-24  Bruno Haible  <bruno@clisp.org>
3323
3324         Add missing dependencies to 'extensions' module.
3325         * m4/extensions.m4: Add comment.
3326         * modules/accept4 (Depends-on): Add extensions.
3327         * modules/dup3 (Depends-on): Likewise.
3328         * modules/fcntl (Depends-on): Likewise.
3329         * modules/futimens (Depends-on): Likewise.
3330         * modules/mknod (Depends-on): Likewise.
3331         * modules/pipe2 (Depends-on): Likewise.
3332         * modules/stat-time (Depends-on): Likewise.
3333         * modules/strcasestr-simple (Depends-on): Likewise.
3334         * modules/strsignal (Depends-on): Likewise.
3335         * modules/utimensat (Depends-on): Likewise.
3336         * modules/localcharset (Depends-on): Likewise. Needed because of
3337         gl_FCNTL_O_FLAGS.
3338         * modules/wcrtomb (Depends-on): Likewise. Needed because of
3339         AC_TYPE_MBSTATE_T.
3340         * modules/wcsnrtombs (Depends-on): Likewise.
3341         * modules/wcsrtombs (Depends-on): Likewise.
3342
3343 2009-12-24  Bruno Haible  <bruno@clisp.org>
3344
3345         binary-io: Avoid gcc warning due to SET_BINARY.
3346         * lib/binary-io.h (SET_BINARY): Cast the result to void.
3347         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
3348
3349 2009-12-24  Bruno Haible  <bruno@clisp.org>
3350
3351         Avoid future namespace pollution on glibc systems.
3352         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
3353         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
3354         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
3355         glibc systems.
3356
3357 2009-12-24  Bruno Haible  <bruno@clisp.org>
3358
3359         Refactor common macros used in tests.
3360         * tests/macros.h: New file.
3361         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
3362         and/or <stdlib.h>, if appropriate.
3363         (ASSERT, SIZEOF): Remove macros.
3364         * tests/test-areadlink-with-size.c: Likewise.
3365         * tests/test-areadlinkat.c: Likewise.
3366         * tests/test-areadlinkat-with-size.c: Likewise.
3367         * tests/test-argmatch.c: Likewise.
3368         * tests/test-argv-iter.c: Likewise.
3369         * tests/test-array-mergesort.c: Likewise.
3370         * tests/test-array_list.c: Likewise.
3371         * tests/test-array_oset.c: Likewise.
3372         * tests/test-avltree_list.c: Likewise.
3373         * tests/test-avltree_oset.c: Likewise.
3374         * tests/test-avltreehash_list.c: Likewise.
3375         * tests/test-base64.c: Likewise.
3376         * tests/test-binary-io.c: Likewise.
3377         * tests/test-bitrotate.c: Likewise.
3378         * tests/test-btowc.c: Likewise.
3379         * tests/test-byteswap.c: Likewise.
3380         * tests/test-c-ctype.c: Likewise.
3381         * tests/test-c-stack.c: Likewise.
3382         * tests/test-c-strcasecmp.c: Likewise.
3383         * tests/test-c-strcasestr.c: Likewise.
3384         * tests/test-c-strncasecmp.c: Likewise.
3385         * tests/test-c-strstr.c: Likewise.
3386         * tests/test-canonicalize-lgpl.c: Likewise.
3387         * tests/test-canonicalize.c: Likewise.
3388         * tests/test-carray_list.c: Likewise.
3389         * tests/test-ceilf1.c: Likewise.
3390         * tests/test-ceilf2.c: Likewise.
3391         * tests/test-ceill.c: Likewise.
3392         * tests/test-chown.c: Likewise.
3393         * tests/test-cloexec.c: Likewise.
3394         * tests/test-copy-acl.c: Likewise.
3395         * tests/test-copy-file.c: Likewise.
3396         * tests/test-count-one-bits.c: Likewise.
3397         * tests/test-dprintf-posix.c: Likewise.
3398         * tests/test-dup2.c: Likewise.
3399         * tests/test-dup3.c: Likewise.
3400         * tests/test-duplocale.c: Likewise.
3401         * tests/test-fbufmode.c: Likewise.
3402         * tests/test-fchdir.c: Likewise.
3403         * tests/test-fchownat.c: Likewise.
3404         * tests/test-fcntl-safer.c: Likewise.
3405         * tests/test-fcntl.c: Likewise.
3406         * tests/test-fdopendir.c: Likewise.
3407         * tests/test-fdutimensat.c: Likewise.
3408         * tests/test-fflush2.c: Likewise.
3409         * tests/test-file-has-acl.c: Likewise.
3410         * tests/test-filevercmp.c: Likewise.
3411         * tests/test-flock.c: Likewise.
3412         * tests/test-floorf1.c: Likewise.
3413         * tests/test-floorf2.c: Likewise.
3414         * tests/test-floorl.c: Likewise.
3415         * tests/test-fnmatch.c: Likewise.
3416         * tests/test-fopen.h: Likewise.
3417         * tests/test-fpending.c: Likewise.
3418         * tests/test-fprintf-posix.c: Likewise.
3419         * tests/test-fpurge.c: Likewise.
3420         * tests/test-freadable.c: Likewise.
3421         * tests/test-freadahead.c: Likewise.
3422         * tests/test-freading.c: Likewise.
3423         * tests/test-freadptr.c: Likewise.
3424         * tests/test-freadptr2.c: Likewise.
3425         * tests/test-freadseek.c: Likewise.
3426         * tests/test-freopen.c: Likewise.
3427         * tests/test-frexp.c: Likewise.
3428         * tests/test-frexpl.c: Likewise.
3429         * tests/test-fseek.c: Likewise.
3430         * tests/test-fseeko.c: Likewise.
3431         * tests/test-fstatat.c: Likewise.
3432         * tests/test-fstrcmp.c: Likewise.
3433         * tests/test-fsync.c: Likewise.
3434         * tests/test-ftell.c: Likewise.
3435         * tests/test-ftello.c: Likewise.
3436         * tests/test-func.c: Likewise.
3437         * tests/test-futimens.c: Likewise.
3438         * tests/test-fwritable.c: Likewise.
3439         * tests/test-fwriting.c: Likewise.
3440         * tests/test-getcwd.c: Likewise.
3441         * tests/test-getdate.c: Likewise.
3442         * tests/test-getdelim.c: Likewise.
3443         * tests/test-getdtablesize.c: Likewise.
3444         * tests/test-getgroups.c: Likewise.
3445         * tests/test-getline.c: Likewise.
3446         * tests/test-getndelim2.c: Likewise.
3447         * tests/test-glob.c: Likewise.
3448         * tests/test-hash.c: Likewise.
3449         * tests/test-i-ring.c: Likewise.
3450         * tests/test-iconv-utf.c: Likewise.
3451         * tests/test-iconv.c: Likewise.
3452         * tests/test-idpriv-drop.c: Likewise.
3453         * tests/test-idpriv-droptemp.c: Likewise.
3454         * tests/test-inet_ntop.c: Likewise.
3455         * tests/test-inet_pton.c: Likewise.
3456         * tests/test-isblank.c: Likewise.
3457         * tests/test-isfinite.c: Likewise.
3458         * tests/test-isinf.c: Likewise.
3459         * tests/test-isnan.c: Likewise.
3460         * tests/test-isnand.h: Likewise.
3461         * tests/test-isnanf.h: Likewise.
3462         * tests/test-isnanl.h: Likewise.
3463         * tests/test-lchown.c: Likewise.
3464         * tests/test-ldexpl.c: Likewise.
3465         * tests/test-link.c: Likewise.
3466         * tests/test-linkat.c: Likewise.
3467         * tests/test-linked_list.c: Likewise.
3468         * tests/test-linkedhash_list.c: Likewise.
3469         * tests/test-localename.c: Likewise.
3470         * tests/test-lseek.c: Likewise.
3471         * tests/test-lstat.c: Likewise.
3472         * tests/test-mbmemcasecmp.c: Likewise.
3473         * tests/test-mbmemcasecoll.c: Likewise.
3474         * tests/test-mbrtowc.c: Likewise.
3475         * tests/test-mbscasecmp.c: Likewise.
3476         * tests/test-mbscasestr1.c: Likewise.
3477         * tests/test-mbscasestr2.c: Likewise.
3478         * tests/test-mbscasestr3.c: Likewise.
3479         * tests/test-mbscasestr4.c: Likewise.
3480         * tests/test-mbschr.c: Likewise.
3481         * tests/test-mbscspn.c: Likewise.
3482         * tests/test-mbsinit.c: Likewise.
3483         * tests/test-mbsncasecmp.c: Likewise.
3484         * tests/test-mbsnrtowcs.c: Likewise.
3485         * tests/test-mbspbrk.c: Likewise.
3486         * tests/test-mbspcasecmp.c: Likewise.
3487         * tests/test-mbsrchr.c: Likewise.
3488         * tests/test-mbsrtowcs.c: Likewise.
3489         * tests/test-mbsspn.c: Likewise.
3490         * tests/test-mbsstr1.c: Likewise.
3491         * tests/test-mbsstr2.c: Likewise.
3492         * tests/test-mbsstr3.c: Likewise.
3493         * tests/test-memchr.c: Likewise.
3494         * tests/test-memchr2.c: Likewise.
3495         * tests/test-memcmp.c: Likewise.
3496         * tests/test-memmem.c: Likewise.
3497         * tests/test-memrchr.c: Likewise.
3498         * tests/test-mkdir.c: Likewise.
3499         * tests/test-mkdirat.c: Likewise.
3500         * tests/test-mkfifo.c: Likewise.
3501         * tests/test-mkfifoat.c: Likewise.
3502         * tests/test-mknod.c: Likewise.
3503         * tests/test-nanosleep.c: Likewise.
3504         * tests/test-nl_langinfo.c: Likewise.
3505         * tests/test-obstack-printf.c: Likewise.
3506         * tests/test-open.c: Likewise.
3507         * tests/test-openat.c: Likewise.
3508         * tests/test-pipe-filter-gi1.c: Likewise.
3509         * tests/test-pipe-filter-gi2-main.c: Likewise.
3510         * tests/test-pipe-filter-ii1.c: Likewise.
3511         * tests/test-pipe-filter-ii2-main.c: Likewise.
3512         * tests/test-pipe2.c: Likewise.
3513         * tests/test-popen.h: Likewise.
3514         * tests/test-posixtm.c: Likewise.
3515         * tests/test-pread.c: Likewise.
3516         * tests/test-printf-frexp.c: Likewise.
3517         * tests/test-printf-frexpl.c: Likewise.
3518         * tests/test-printf-posix.c: Likewise.
3519         * tests/test-priv-set.c: Likewise.
3520         * tests/test-quotearg.c: Likewise.
3521         * tests/test-random_r.c: Likewise.
3522         * tests/test-rawmemchr.c: Likewise.
3523         * tests/test-rbtree_list.c: Likewise.
3524         * tests/test-rbtree_oset.c: Likewise.
3525         * tests/test-rbtreehash_list.c: Likewise.
3526         * tests/test-readlink.c: Likewise.
3527         * tests/test-remove.c: Likewise.
3528         * tests/test-rename.c: Likewise.
3529         * tests/test-renameat.c: Likewise.
3530         * tests/test-rmdir.c: Likewise.
3531         * tests/test-round1.c: Likewise.
3532         * tests/test-roundf1.c: Likewise.
3533         * tests/test-roundl.c: Likewise.
3534         * tests/test-safe-alloc.c: Likewise.
3535         * tests/test-sameacls.c: Likewise.
3536         * tests/test-set-mode-acl.c: Likewise.
3537         * tests/test-setenv.c: Likewise.
3538         * tests/test-sigaction.c: Likewise.
3539         * tests/test-signbit.c: Likewise.
3540         * tests/test-sleep.c: Likewise.
3541         * tests/test-snprintf-posix.c: Likewise.
3542         * tests/test-snprintf.c: Likewise.
3543         * tests/test-sprintf-posix.c: Likewise.
3544         * tests/test-stat-time.c: Likewise.
3545         * tests/test-stat.c: Likewise.
3546         * tests/test-strcasestr.c: Likewise.
3547         * tests/test-strchrnul.c: Likewise.
3548         * tests/test-strerror.c: Likewise.
3549         * tests/test-striconv.c: Likewise.
3550         * tests/test-striconveh.c: Likewise.
3551         * tests/test-striconveha.c: Likewise.
3552         * tests/test-strsignal.c: Likewise.
3553         * tests/test-strstr.c: Likewise.
3554         * tests/test-strtod.c: Likewise.
3555         * tests/test-strverscmp.c: Likewise.
3556         * tests/test-symlink.c: Likewise.
3557         * tests/test-symlinkat.c: Likewise.
3558         * tests/test-trunc1.c: Likewise.
3559         * tests/test-trunc2.c: Likewise.
3560         * tests/test-truncf1.c: Likewise.
3561         * tests/test-truncf2.c: Likewise.
3562         * tests/test-truncl.c: Likewise.
3563         * tests/test-uname.c: Likewise.
3564         * tests/test-unlink.c: Likewise.
3565         * tests/test-unlinkat.c: Likewise.
3566         * tests/test-unsetenv.c: Likewise.
3567         * tests/test-usleep.c: Likewise.
3568         * tests/test-utimens.c: Likewise.
3569         * tests/test-utimensat.c: Likewise.
3570         * tests/test-vasnprintf-posix.c: Likewise.
3571         * tests/test-vasnprintf-posix2.c: Likewise.
3572         * tests/test-vasnprintf.c: Likewise.
3573         * tests/test-vasprintf-posix.c: Likewise.
3574         * tests/test-vasprintf.c: Likewise.
3575         * tests/test-vdprintf-posix.c: Likewise.
3576         * tests/test-vfprintf-posix.c: Likewise.
3577         * tests/test-vprintf-posix.c: Likewise.
3578         * tests/test-vsnprintf-posix.c: Likewise.
3579         * tests/test-vsnprintf.c: Likewise.
3580         * tests/test-vsprintf-posix.c: Likewise.
3581         * tests/test-wcrtomb.c: Likewise.
3582         * tests/test-wcsnrtombs.c: Likewise.
3583         * tests/test-wcsrtombs.c: Likewise.
3584         * tests/test-wctype.c: Likewise.
3585         * tests/test-wcwidth.c: Likewise.
3586         * tests/test-xfprintf-posix.c: Likewise.
3587         * tests/test-xmemdup0.c: Likewise.
3588         * tests/test-xprintf-posix.c: Likewise.
3589         * tests/test-xvasprintf.c: Likewise.
3590         * tests/unicase/test-locale-language.c: Likewise.
3591         * tests/unicase/test-mapping-part1.h: Likewise.
3592         * tests/unicase/test-predicate-part1.h: Likewise.
3593         * tests/unicase/test-u8-casecmp.c: Likewise.
3594         * tests/unicase/test-u8-casecoll.c: Likewise.
3595         * tests/unicase/test-u8-casefold.c: Likewise.
3596         * tests/unicase/test-u8-is-cased.c: Likewise.
3597         * tests/unicase/test-u8-is-casefolded.c: Likewise.
3598         * tests/unicase/test-u8-is-lowercase.c: Likewise.
3599         * tests/unicase/test-u8-is-titlecase.c: Likewise.
3600         * tests/unicase/test-u8-is-uppercase.c: Likewise.
3601         * tests/unicase/test-u8-tolower.c: Likewise.
3602         * tests/unicase/test-u8-totitle.c: Likewise.
3603         * tests/unicase/test-u8-toupper.c: Likewise.
3604         * tests/unicase/test-u16-casecmp.c: Likewise.
3605         * tests/unicase/test-u16-casecoll.c: Likewise.
3606         * tests/unicase/test-u16-casefold.c: Likewise.
3607         * tests/unicase/test-u16-is-cased.c: Likewise.
3608         * tests/unicase/test-u16-is-casefolded.c: Likewise.
3609         * tests/unicase/test-u16-is-lowercase.c: Likewise.
3610         * tests/unicase/test-u16-is-titlecase.c: Likewise.
3611         * tests/unicase/test-u16-is-uppercase.c: Likewise.
3612         * tests/unicase/test-u16-tolower.c: Likewise.
3613         * tests/unicase/test-u16-totitle.c: Likewise.
3614         * tests/unicase/test-u16-toupper.c: Likewise.
3615         * tests/unicase/test-u32-casecmp.c: Likewise.
3616         * tests/unicase/test-u32-casecoll.c: Likewise.
3617         * tests/unicase/test-u32-casefold.c: Likewise.
3618         * tests/unicase/test-u32-is-cased.c: Likewise.
3619         * tests/unicase/test-u32-is-casefolded.c: Likewise.
3620         * tests/unicase/test-u32-is-lowercase.c: Likewise.
3621         * tests/unicase/test-u32-is-titlecase.c: Likewise.
3622         * tests/unicase/test-u32-is-uppercase.c: Likewise.
3623         * tests/unicase/test-u32-tolower.c: Likewise.
3624         * tests/unicase/test-u32-totitle.c: Likewise.
3625         * tests/unicase/test-u32-toupper.c: Likewise.
3626         * tests/unicase/test-ulc-casecmp.c: Likewise.
3627         * tests/unicase/test-ulc-casecoll.c: Likewise.
3628         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
3629         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
3630         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
3631         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
3632         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
3633         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
3634         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
3635         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
3636         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
3637         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
3638         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
3639         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
3640         * tests/unictype/test-bidi_byname.c: Likewise.
3641         * tests/unictype/test-bidi_name.c: Likewise.
3642         * tests/unictype/test-bidi_of.c: Likewise.
3643         * tests/unictype/test-bidi_test.c: Likewise.
3644         * tests/unictype/test-block_list.c: Likewise.
3645         * tests/unictype/test-block_of.c: Likewise.
3646         * tests/unictype/test-block_test.c: Likewise.
3647         * tests/unictype/test-categ_and.c: Likewise.
3648         * tests/unictype/test-categ_and_not.c: Likewise.
3649         * tests/unictype/test-categ_byname.c: Likewise.
3650         * tests/unictype/test-categ_name.c: Likewise.
3651         * tests/unictype/test-categ_none.c: Likewise.
3652         * tests/unictype/test-categ_of.c: Likewise.
3653         * tests/unictype/test-categ_or.c: Likewise.
3654         * tests/unictype/test-categ_test_withtable.c: Likewise.
3655         * tests/unictype/test-combining.c: Likewise.
3656         * tests/unictype/test-decdigit.c: Likewise.
3657         * tests/unictype/test-digit.c: Likewise.
3658         * tests/unictype/test-mirror.c: Likewise.
3659         * tests/unictype/test-numeric.c: Likewise.
3660         * tests/unictype/test-pr_byname.c: Likewise.
3661         * tests/unictype/test-pr_test.c: Likewise.
3662         * tests/unictype/test-predicate-part1.h: Likewise.
3663         * tests/unictype/test-scripts.c: Likewise.
3664         * tests/unictype/test-sy_c_ident.c: Likewise.
3665         * tests/unictype/test-sy_java_ident.c: Likewise.
3666         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
3667         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
3668         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
3669         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
3670         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
3671         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
3672         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
3673         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
3674         * tests/uninorm/test-canonical-decomposition.c: Likewise.
3675         * tests/uninorm/test-compat-decomposition.c: Likewise.
3676         * tests/uninorm/test-composition.c: Likewise.
3677         * tests/uninorm/test-decomposing-form.c: Likewise.
3678         * tests/uninorm/test-decomposition.c: Likewise.
3679         * tests/uninorm/test-u8-nfc.c: Likewise.
3680         * tests/uninorm/test-u8-nfd.c: Likewise.
3681         * tests/uninorm/test-u8-nfkc.c: Likewise.
3682         * tests/uninorm/test-u8-nfkd.c: Likewise.
3683         * tests/uninorm/test-u8-normcmp.c: Likewise.
3684         * tests/uninorm/test-u8-normcoll.c: Likewise.
3685         * tests/uninorm/test-u16-nfc.c: Likewise.
3686         * tests/uninorm/test-u16-nfd.c: Likewise.
3687         * tests/uninorm/test-u16-nfkc.c: Likewise.
3688         * tests/uninorm/test-u16-nfkd.c: Likewise.
3689         * tests/uninorm/test-u16-normcmp.c: Likewise.
3690         * tests/uninorm/test-u16-normcoll.c: Likewise.
3691         * tests/uninorm/test-u32-nfc.c: Likewise.
3692         * tests/uninorm/test-u32-nfd.c: Likewise.
3693         * tests/uninorm/test-u32-nfkc.c: Likewise.
3694         * tests/uninorm/test-u32-nfkd.c: Likewise.
3695         * tests/uninorm/test-u32-normalize-big.c: Likewise.
3696         * tests/uninorm/test-u32-normcmp.c: Likewise.
3697         * tests/uninorm/test-u32-normcoll.c: Likewise.
3698         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
3699         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
3700         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
3701         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
3702         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
3703         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
3704         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
3705         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
3706         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
3707         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
3708         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
3709         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
3710         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
3711         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
3712         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
3713         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
3714         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
3715         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
3716         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
3717         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
3718         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
3719         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
3720         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
3721         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
3722         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
3723         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
3724         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
3725         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
3726         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
3727         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
3728         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
3729         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
3730         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
3731         * tests/uniwidth/test-u8-strwidth.c: Likewise.
3732         * tests/uniwidth/test-u8-width.c: Likewise.
3733         * tests/uniwidth/test-u16-strwidth.c: Likewise.
3734         * tests/uniwidth/test-u16-width.c: Likewise.
3735         * tests/uniwidth/test-u32-strwidth.c: Likewise.
3736         * tests/uniwidth/test-u32-width.c: Likewise.
3737         * tests/uniwidth/test-uc_width.c: Likewise.
3738         * tests/uniwidth/test-uc_width2.c: Likewise.
3739         * modules/acl-tests (Files): Add tests/macros.h.
3740         * modules/areadlink-tests (Files): Likewise.
3741         * modules/areadlink-with-size-tests (Files): Likewise.
3742         * modules/areadlinkat-tests (Files): Likewise.
3743         * modules/areadlinkat-with-size-tests (Files): Likewise.
3744         * modules/argmatch-tests (Files): Likewise.
3745         * modules/argv-iter-tests (Files): Likewise.
3746         * modules/array-list-tests (Files): Likewise.
3747         * modules/array-mergesort-tests (Files): Likewise.
3748         * modules/array-oset-tests (Files): Likewise.
3749         * modules/avltree-list-tests (Files): Likewise.
3750         * modules/avltree-oset-tests (Files): Likewise.
3751         * modules/avltreehash-list-tests (Files): Likewise.
3752         * modules/base64-tests (Files): Likewise.
3753         * modules/binary-io-tests (Files): Likewise.
3754         * modules/bitrotate-tests (Files): Likewise.
3755         * modules/btowc-tests (Files): Likewise.
3756         * modules/byteswap-tests (Files): Likewise.
3757         * modules/c-ctype-tests (Files): Likewise.
3758         * modules/c-stack-tests (Files): Likewise.
3759         * modules/c-strcase-tests (Files): Likewise.
3760         * modules/c-strcasestr-tests (Files): Likewise.
3761         * modules/c-strstr-tests (Files): Likewise.
3762         * modules/canonicalize-lgpl-tests (Files): Likewise.
3763         * modules/canonicalize-tests (Files): Likewise.
3764         * modules/carray-list-tests (Files): Likewise.
3765         * modules/ceilf-tests (Files): Likewise.
3766         * modules/ceill-tests (Files): Likewise.
3767         * modules/chown-tests (Files): Likewise.
3768         * modules/cloexec-tests (Files): Likewise.
3769         * modules/copy-file-tests (Files): Likewise.
3770         * modules/count-one-bits-tests (Files): Likewise.
3771         * modules/dprintf-posix-tests (Files): Likewise.
3772         * modules/dup2-tests (Files): Likewise.
3773         * modules/dup3-tests (Files): Likewise.
3774         * modules/duplocale-tests (Files): Likewise.
3775         * modules/fbufmode-tests (Files): Likewise.
3776         * modules/fchdir-tests (Files): Likewise.
3777         * modules/fcntl-safer-tests (Files): Likewise.
3778         * modules/fcntl-tests (Files): Likewise.
3779         * modules/fdopendir-tests (Files): Likewise.
3780         * modules/fdutimensat-tests (Files): Likewise.
3781         * modules/fflush-tests (Files): Likewise.
3782         * modules/filevercmp-tests (Files): Likewise.
3783         * modules/flock-tests (Files): Likewise.
3784         * modules/floorf-tests (Files): Likewise.
3785         * modules/floorl-tests (Files): Likewise.
3786         * modules/fnmatch-tests (Files): Likewise.
3787         * modules/fopen-safer-tests (Files): Likewise.
3788         * modules/fopen-tests (Files): Likewise.
3789         * modules/fpending-tests (Files): Likewise.
3790         * modules/fprintf-posix-tests (Files): Likewise.
3791         * modules/fpurge-tests (Files): Likewise.
3792         * modules/freadable-tests (Files): Likewise.
3793         * modules/freadahead-tests (Files): Likewise.
3794         * modules/freading-tests (Files): Likewise.
3795         * modules/freadptr-tests (Files): Likewise.
3796         * modules/freadseek-tests (Files): Likewise.
3797         * modules/freopen-tests (Files): Likewise.
3798         * modules/frexp-nolibm-tests (Files): Likewise.
3799         * modules/frexp-tests (Files): Likewise.
3800         * modules/frexpl-nolibm-tests (Files): Likewise.
3801         * modules/frexpl-tests (Files): Likewise.
3802         * modules/fseek-tests (Files): Likewise.
3803         * modules/fseeko-tests (Files): Likewise.
3804         * modules/fstrcmp-tests (Files): Likewise.
3805         * modules/fsync-tests (Files): Likewise.
3806         * modules/ftell-tests (Files): Likewise.
3807         * modules/ftello-tests (Files): Likewise.
3808         * modules/func-tests (Files): Likewise.
3809         * modules/futimens-tests (Files): Likewise.
3810         * modules/fwritable-tests (Files): Likewise.
3811         * modules/fwriting-tests (Files): Likewise.
3812         * modules/getcwd-tests (Files): Likewise.
3813         * modules/getdate-tests (Files): Likewise.
3814         * modules/getdelim-tests (Files): Likewise.
3815         * modules/getdtablesize-tests (Files): Likewise.
3816         * modules/getgroups-tests (Files): Likewise.
3817         * modules/getline-tests (Files): Likewise.
3818         * modules/getndelim2-tests (Files): Likewise.
3819         * modules/glob-tests (Files): Likewise.
3820         * modules/hash-tests (Files): Likewise.
3821         * modules/i-ring-tests (Files): Likewise.
3822         * modules/iconv-tests (Files): Likewise.
3823         * modules/iconv_open-utf-tests (Files): Likewise.
3824         * modules/idpriv-drop-tests (Files): Likewise.
3825         * modules/idpriv-droptemp-tests (Files): Likewise.
3826         * modules/inet_ntop-tests (Files): Likewise.
3827         * modules/inet_pton-tests (Files): Likewise.
3828         * modules/isblank-tests (Files): Likewise.
3829         * modules/isfinite-tests (Files): Likewise.
3830         * modules/isinf-tests (Files): Likewise.
3831         * modules/isnan-tests (Files): Likewise.
3832         * modules/isnand-nolibm-tests (Files): Likewise.
3833         * modules/isnand-tests (Files): Likewise.
3834         * modules/isnanf-nolibm-tests (Files): Likewise.
3835         * modules/isnanf-tests (Files): Likewise.
3836         * modules/isnanl-nolibm-tests (Files): Likewise.
3837         * modules/isnanl-tests (Files): Likewise.
3838         * modules/lchown-tests (Files): Likewise.
3839         * modules/ldexpl-tests (Files): Likewise.
3840         * modules/link-tests (Files): Likewise.
3841         * modules/linkat-tests (Files): Likewise.
3842         * modules/linked-list-tests (Files): Likewise.
3843         * modules/linkedhash-list-tests (Files): Likewise.
3844         * modules/localename-tests (Files): Likewise.
3845         * modules/lseek-tests (Files): Likewise.
3846         * modules/lstat-tests (Files): Likewise.
3847         * modules/mbmemcasecmp-tests (Files): Likewise.
3848         * modules/mbmemcasecoll-tests (Files): Likewise.
3849         * modules/mbrtowc-tests (Files): Likewise.
3850         * modules/mbscasecmp-tests (Files): Likewise.
3851         * modules/mbscasestr-tests (Files): Likewise.
3852         * modules/mbschr-tests (Files): Likewise.
3853         * modules/mbscspn-tests (Files): Likewise.
3854         * modules/mbsinit-tests (Files): Likewise.
3855         * modules/mbsncasecmp-tests (Files): Likewise.
3856         * modules/mbsnrtowcs-tests (Files): Likewise.
3857         * modules/mbspbrk-tests (Files): Likewise.
3858         * modules/mbspcasecmp-tests (Files): Likewise.
3859         * modules/mbsrchr-tests (Files): Likewise.
3860         * modules/mbsrtowcs-tests (Files): Likewise.
3861         * modules/mbsspn-tests (Files): Likewise.
3862         * modules/mbsstr-tests (Files): Likewise.
3863         * modules/memchr-tests (Files): Likewise.
3864         * modules/memchr2-tests (Files): Likewise.
3865         * modules/memcmp-tests (Files): Likewise.
3866         * modules/memmem-tests (Files): Likewise.
3867         * modules/memrchr-tests (Files): Likewise.
3868         * modules/mkdir-tests (Files): Likewise.
3869         * modules/mkfifo-tests (Files): Likewise.
3870         * modules/mkfifoat-tests (Files): Likewise.
3871         * modules/mknod-tests (Files): Likewise.
3872         * modules/nanosleep-tests (Files): Likewise.
3873         * modules/nl_langinfo-tests (Files): Likewise.
3874         * modules/obstack-printf-tests (Files): Likewise.
3875         * modules/open-tests (Files): Likewise.
3876         * modules/openat-tests (Files): Likewise.
3877         * modules/pipe-filter-gi-tests (Files): Likewise.
3878         * modules/pipe-filter-ii-tests (Files): Likewise.
3879         * modules/pipe2-tests (Files): Likewise.
3880         * modules/popen-safer-tests (Files): Likewise.
3881         * modules/popen-tests (Files): Likewise.
3882         * modules/posixtm-tests (Files): Likewise.
3883         * modules/pread-tests (Files): Likewise.
3884         * modules/printf-frexp-tests (Files): Likewise.
3885         * modules/printf-frexpl-tests (Files): Likewise.
3886         * modules/printf-posix-tests (Files): Likewise.
3887         * modules/priv-set-tests (Files): Likewise.
3888         * modules/quotearg-tests (Files): Likewise.
3889         * modules/random_r-tests (Files): Likewise.
3890         * modules/rawmemchr-tests (Files): Likewise.
3891         * modules/rbtree-list-tests (Files): Likewise.
3892         * modules/rbtree-oset-tests (Files): Likewise.
3893         * modules/rbtreehash-list-tests (Files): Likewise.
3894         * modules/readlink-tests (Files): Likewise.
3895         * modules/remove-tests (Files): Likewise.
3896         * modules/rename-tests (Files): Likewise.
3897         * modules/renameat-tests (Files): Likewise.
3898         * modules/rmdir-tests (Files): Likewise.
3899         * modules/round-tests (Files): Likewise.
3900         * modules/roundf-tests (Files): Likewise.
3901         * modules/roundl-tests (Files): Likewise.
3902         * modules/safe-alloc-tests (Files): Likewise.
3903         * modules/setenv-tests (Files): Likewise.
3904         * modules/sigaction-tests (Files): Likewise.
3905         * modules/signbit-tests (Files): Likewise.
3906         * modules/sleep-tests (Files): Likewise.
3907         * modules/snprintf-posix-tests (Files): Likewise.
3908         * modules/snprintf-tests (Files): Likewise.
3909         * modules/sprintf-posix-tests (Files): Likewise.
3910         * modules/stat-tests (Files): Likewise.
3911         * modules/stat-time-tests (Files): Likewise.
3912         * modules/strcasestr-tests (Files): Likewise.
3913         * modules/strchrnul-tests (Files): Likewise.
3914         * modules/strerror-tests (Files): Likewise.
3915         * modules/striconv-tests (Files): Likewise.
3916         * modules/striconveh-tests (Files): Likewise.
3917         * modules/striconveha-tests (Files): Likewise.
3918         * modules/strsignal-tests (Files): Likewise.
3919         * modules/strstr-tests (Files): Likewise.
3920         * modules/strtod-tests (Files): Likewise.
3921         * modules/strverscmp-tests (Files): Likewise.
3922         * modules/symlink-tests (Files): Likewise.
3923         * modules/symlinkat-tests (Files): Likewise.
3924         * modules/trunc-tests (Files): Likewise.
3925         * modules/truncf-tests (Files): Likewise.
3926         * modules/truncl-tests (Files): Likewise.
3927         * modules/uname-tests (Files): Likewise.
3928         * modules/unicase/cased-tests (Files): Likewise.
3929         * modules/unicase/ignorable-tests (Files): Likewise.
3930         * modules/unicase/locale-language-tests (Files): Likewise.
3931         * modules/unicase/tolower-tests (Files): Likewise.
3932         * modules/unicase/totitle-tests (Files): Likewise.
3933         * modules/unicase/toupper-tests (Files): Likewise.
3934         * modules/unicase/u8-casecmp-tests (Files): Likewise.
3935         * modules/unicase/u8-casecoll-tests (Files): Likewise.
3936         * modules/unicase/u8-casefold-tests (Files): Likewise.
3937         * modules/unicase/u8-is-cased-tests (Files): Likewise.
3938         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
3939         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
3940         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
3941         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
3942         * modules/unicase/u8-tolower-tests (Files): Likewise.
3943         * modules/unicase/u8-totitle-tests (Files): Likewise.
3944         * modules/unicase/u8-toupper-tests (Files): Likewise.
3945         * modules/unicase/u16-casecmp-tests (Files): Likewise.
3946         * modules/unicase/u16-casecoll-tests (Files): Likewise.
3947         * modules/unicase/u16-casefold-tests (Files): Likewise.
3948         * modules/unicase/u16-is-cased-tests (Files): Likewise.
3949         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
3950         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
3951         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
3952         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
3953         * modules/unicase/u16-tolower-tests (Files): Likewise.
3954         * modules/unicase/u16-totitle-tests (Files): Likewise.
3955         * modules/unicase/u16-toupper-tests (Files): Likewise.
3956         * modules/unicase/u32-casecmp-tests (Files): Likewise.
3957         * modules/unicase/u32-casecoll-tests (Files): Likewise.
3958         * modules/unicase/u32-casefold-tests (Files): Likewise.
3959         * modules/unicase/u32-is-cased-tests (Files): Likewise.
3960         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
3961         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
3962         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
3963         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
3964         * modules/unicase/u32-tolower-tests (Files): Likewise.
3965         * modules/unicase/u32-totitle-tests (Files): Likewise.
3966         * modules/unicase/u32-toupper-tests (Files): Likewise.
3967         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
3968         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
3969         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
3970         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
3971         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
3972         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
3973         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
3974         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
3975         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
3976         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
3977         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
3978         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
3979         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
3980         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
3981         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
3982         * modules/unictype/bidicategory-name-tests (Files): Likewise.
3983         * modules/unictype/bidicategory-of-tests (Files): Likewise.
3984         * modules/unictype/bidicategory-test-tests (Files): Likewise.
3985         * modules/unictype/block-list-tests (Files): Likewise.
3986         * modules/unictype/block-of-tests (Files): Likewise.
3987         * modules/unictype/block-test-tests (Files): Likewise.
3988         * modules/unictype/category-C-tests (Files): Likewise.
3989         * modules/unictype/category-Cc-tests (Files): Likewise.
3990         * modules/unictype/category-Cf-tests (Files): Likewise.
3991         * modules/unictype/category-Cn-tests (Files): Likewise.
3992         * modules/unictype/category-Co-tests (Files): Likewise.
3993         * modules/unictype/category-Cs-tests (Files): Likewise.
3994         * modules/unictype/category-L-tests (Files): Likewise.
3995         * modules/unictype/category-Ll-tests (Files): Likewise.
3996         * modules/unictype/category-Lm-tests (Files): Likewise.
3997         * modules/unictype/category-Lo-tests (Files): Likewise.
3998         * modules/unictype/category-Lt-tests (Files): Likewise.
3999         * modules/unictype/category-Lu-tests (Files): Likewise.
4000         * modules/unictype/category-M-tests (Files): Likewise.
4001         * modules/unictype/category-Mc-tests (Files): Likewise.
4002         * modules/unictype/category-Me-tests (Files): Likewise.
4003         * modules/unictype/category-Mn-tests (Files): Likewise.
4004         * modules/unictype/category-N-tests (Files): Likewise.
4005         * modules/unictype/category-Nd-tests (Files): Likewise.
4006         * modules/unictype/category-Nl-tests (Files): Likewise.
4007         * modules/unictype/category-No-tests (Files): Likewise.
4008         * modules/unictype/category-P-tests (Files): Likewise.
4009         * modules/unictype/category-Pc-tests (Files): Likewise.
4010         * modules/unictype/category-Pd-tests (Files): Likewise.
4011         * modules/unictype/category-Pe-tests (Files): Likewise.
4012         * modules/unictype/category-Pf-tests (Files): Likewise.
4013         * modules/unictype/category-Pi-tests (Files): Likewise.
4014         * modules/unictype/category-Po-tests (Files): Likewise.
4015         * modules/unictype/category-Ps-tests (Files): Likewise.
4016         * modules/unictype/category-S-tests (Files): Likewise.
4017         * modules/unictype/category-Sc-tests (Files): Likewise.
4018         * modules/unictype/category-Sk-tests (Files): Likewise.
4019         * modules/unictype/category-Sm-tests (Files): Likewise.
4020         * modules/unictype/category-So-tests (Files): Likewise.
4021         * modules/unictype/category-Z-tests (Files): Likewise.
4022         * modules/unictype/category-Zl-tests (Files): Likewise.
4023         * modules/unictype/category-Zp-tests (Files): Likewise.
4024         * modules/unictype/category-Zs-tests (Files): Likewise.
4025         * modules/unictype/category-and-not-tests (Files): Likewise.
4026         * modules/unictype/category-and-tests (Files): Likewise.
4027         * modules/unictype/category-byname-tests (Files): Likewise.
4028         * modules/unictype/category-name-tests (Files): Likewise.
4029         * modules/unictype/category-none-tests (Files): Likewise.
4030         * modules/unictype/category-of-tests (Files): Likewise.
4031         * modules/unictype/category-or-tests (Files): Likewise.
4032         * modules/unictype/category-test-withtable-tests (Files): Likewise.
4033         * modules/unictype/combining-class-tests (Files): Likewise.
4034         * modules/unictype/ctype-alnum-tests (Files): Likewise.
4035         * modules/unictype/ctype-alpha-tests (Files): Likewise.
4036         * modules/unictype/ctype-blank-tests (Files): Likewise.
4037         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
4038         * modules/unictype/ctype-digit-tests (Files): Likewise.
4039         * modules/unictype/ctype-graph-tests (Files): Likewise.
4040         * modules/unictype/ctype-lower-tests (Files): Likewise.
4041         * modules/unictype/ctype-print-tests (Files): Likewise.
4042         * modules/unictype/ctype-punct-tests (Files): Likewise.
4043         * modules/unictype/ctype-space-tests (Files): Likewise.
4044         * modules/unictype/ctype-upper-tests (Files): Likewise.
4045         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
4046         * modules/unictype/decimal-digit-tests (Files): Likewise.
4047         * modules/unictype/digit-tests (Files): Likewise.
4048         * modules/unictype/mirror-tests (Files): Likewise.
4049         * modules/unictype/numeric-tests (Files): Likewise.
4050         * modules/unictype/property-alphabetic-tests (Files): Likewise.
4051         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
4052         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
4053         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
4054         Likewise.
4055         * modules/unictype/property-bidi-block-separator-tests (Files):
4056         Likewise.
4057         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
4058         Likewise.
4059         * modules/unictype/property-bidi-common-separator-tests (Files):
4060         Likewise.
4061         * modules/unictype/property-bidi-control-tests (Files): Likewise.
4062         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
4063         Likewise.
4064         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
4065         Likewise.
4066         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
4067         Likewise.
4068         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
4069         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
4070         Likewise.
4071         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
4072         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
4073         Likewise.
4074         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
4075         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
4076         * modules/unictype/property-bidi-segment-separator-tests (Files):
4077         Likewise.
4078         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
4079         * modules/unictype/property-byname-tests (Files): Likewise.
4080         * modules/unictype/property-combining-tests (Files): Likewise.
4081         * modules/unictype/property-composite-tests (Files): Likewise.
4082         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
4083         * modules/unictype/property-dash-tests (Files): Likewise.
4084         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
4085         * modules/unictype/property-default-ignorable-code-point-tests (Files):
4086         Likewise.
4087         * modules/unictype/property-deprecated-tests (Files): Likewise.
4088         * modules/unictype/property-diacritic-tests (Files): Likewise.
4089         * modules/unictype/property-extender-tests (Files): Likewise.
4090         * modules/unictype/property-format-control-tests (Files): Likewise.
4091         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
4092         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
4093         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
4094         * modules/unictype/property-hex-digit-tests (Files): Likewise.
4095         * modules/unictype/property-hyphen-tests (Files): Likewise.
4096         * modules/unictype/property-id-continue-tests (Files): Likewise.
4097         * modules/unictype/property-id-start-tests (Files): Likewise.
4098         * modules/unictype/property-ideographic-tests (Files): Likewise.
4099         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
4100         * modules/unictype/property-ids-trinary-operator-tests (Files):
4101         Likewise.
4102         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
4103         * modules/unictype/property-iso-control-tests (Files): Likewise.
4104         * modules/unictype/property-join-control-tests (Files): Likewise.
4105         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
4106         * modules/unictype/property-line-separator-tests (Files): Likewise.
4107         * modules/unictype/property-logical-order-exception-tests (Files):
4108         Likewise.
4109         * modules/unictype/property-lowercase-tests (Files): Likewise.
4110         * modules/unictype/property-math-tests (Files): Likewise.
4111         * modules/unictype/property-non-break-tests (Files): Likewise.
4112         * modules/unictype/property-not-a-character-tests (Files): Likewise.
4113         * modules/unictype/property-numeric-tests (Files): Likewise.
4114         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
4115         * modules/unictype/property-other-default-ignorable-code-point-tests
4116         (Files): Likewise.
4117         * modules/unictype/property-other-grapheme-extend-tests (Files):
4118         Likewise.
4119         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
4120         * modules/unictype/property-other-id-start-tests (Files): Likewise.
4121         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
4122         * modules/unictype/property-other-math-tests (Files): Likewise.
4123         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
4124         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
4125         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
4126         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
4127         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
4128         * modules/unictype/property-private-use-tests (Files): Likewise.
4129         * modules/unictype/property-punctuation-tests (Files): Likewise.
4130         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
4131         * modules/unictype/property-radical-tests (Files): Likewise.
4132         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
4133         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
4134         * modules/unictype/property-space-tests (Files): Likewise.
4135         * modules/unictype/property-terminal-punctuation-tests (Files):
4136         Likewise.
4137         * modules/unictype/property-test-tests (Files): Likewise.
4138         * modules/unictype/property-titlecase-tests (Files): Likewise.
4139         * modules/unictype/property-unassigned-code-value-tests (Files):
4140         Likewise.
4141         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
4142         * modules/unictype/property-uppercase-tests (Files): Likewise.
4143         * modules/unictype/property-variation-selector-tests (Files): Likewise.
4144         * modules/unictype/property-white-space-tests (Files): Likewise.
4145         * modules/unictype/property-xid-continue-tests (Files): Likewise.
4146         * modules/unictype/property-xid-start-tests (Files): Likewise.
4147         * modules/unictype/property-zero-width-tests (Files): Likewise.
4148         * modules/unictype/scripts-tests (Files): Likewise.
4149         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
4150         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
4151         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
4152         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
4153         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
4154         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
4155         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
4156         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
4157         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
4158         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
4159         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
4160         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
4161         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
4162         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
4163         * modules/uninorm/composition-tests (Files): Likewise.
4164         * modules/uninorm/decomposing-form-tests (Files): Likewise.
4165         * modules/uninorm/decomposition-tests (Files): Likewise.
4166         * modules/uninorm/filter-tests (Files): Likewise.
4167         * modules/uninorm/nfc-tests (Files): Likewise.
4168         * modules/uninorm/nfd-tests (Files): Likewise.
4169         * modules/uninorm/nfkc-tests (Files): Likewise.
4170         * modules/uninorm/nfkd-tests (Files): Likewise.
4171         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
4172         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
4173         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
4174         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
4175         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
4176         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
4177         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
4178         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
4179         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
4180         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
4181         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
4182         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
4183         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
4184         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
4185         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
4186         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
4187         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
4188         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
4189         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
4190         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
4191         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
4192         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
4193         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
4194         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
4195         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
4196         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
4197         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
4198         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
4199         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
4200         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
4201         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
4202         * modules/uniwidth/u8-width-tests (Files): Likewise.
4203         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
4204         * modules/uniwidth/u16-width-tests (Files): Likewise.
4205         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
4206         * modules/uniwidth/u32-width-tests (Files): Likewise.
4207         * modules/uniwidth/width-tests (Files): Likewise.
4208         * modules/unlink-tests (Files): Likewise.
4209         * modules/unsetenv-tests (Files): Likewise.
4210         * modules/usleep-tests (Files): Likewise.
4211         * modules/utimens-tests (Files): Likewise.
4212         * modules/utimensat-tests (Files): Likewise.
4213         * modules/vasnprintf-posix-tests (Files): Likewise.
4214         * modules/vasnprintf-tests (Files): Likewise.
4215         * modules/vasprintf-posix-tests (Files): Likewise.
4216         * modules/vasprintf-tests (Files): Likewise.
4217         * modules/vdprintf-posix-tests (Files): Likewise.
4218         * modules/vfprintf-posix-tests (Files): Likewise.
4219         * modules/vprintf-posix-tests (Files): Likewise.
4220         * modules/vsnprintf-posix-tests (Files): Likewise.
4221         * modules/vsnprintf-tests (Files): Likewise.
4222         * modules/vsprintf-posix-tests (Files): Likewise.
4223         * modules/wcrtomb-tests (Files): Likewise.
4224         * modules/wcsnrtombs-tests (Files): Likewise.
4225         * modules/wcsrtombs-tests (Files): Likewise.
4226         * modules/wctype-tests (Files): Likewise.
4227         * modules/wcwidth-tests (Files): Likewise.
4228         * modules/xmemdup0-tests (Files): Likewise.
4229         * modules/xprintf-posix-tests (Files): Likewise.
4230         * modules/xvasprintf-tests (Files): Likewise.
4231
4232 2009-12-24  Eric Blake  <ebb9@byu.net>
4233
4234         test-nanosleep: fix typo
4235         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
4236         patch.
4237         Reported by Bruno Haible.
4238
4239 2009-12-24  Bruno Haible  <bruno@clisp.org>
4240
4241         Reduce namespace pollution on glibc systems.
4242         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
4243         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
4244         systems.
4245         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
4246         <getopt.h> on glibc systems.
4247         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
4248         systems.
4249         * lib/fcntl.c: Include <unistd.h> here instead.
4250
4251 2009-12-24  Bruno Haible  <bruno@clisp.org>
4252
4253         * lib/stdlib.in.h (includes): Fix typo in today's commit.
4254
4255 2009-12-24  Eric Blake  <ebb9@byu.net>
4256
4257         tests: add signature checks
4258         * tests/signature.h (SIGNATURE_CHECK): New file.
4259         * modules/atexit-tests (Files): Use it.
4260         * modules/btowc-tests (Files): Likewise.
4261         * modules/canonicalize-lgpl-tests (Files): Likewise.
4262         * modules/ceilf-tests (Files): Likewise.
4263         * modules/ceill-tests (Files): Likewise.
4264         * modules/chown-tests (Files): Likewise.
4265         * modules/dprintf-posix-tests (Files): Likewise.
4266         * modules/dup2-tests (Files): Likewise.
4267         * modules/dup3-tests (Files): Likewise.
4268         * modules/duplocale-tests (Files): Likewise.
4269         * modules/fchdir-tests (Files): Likewise.
4270         * modules/fcntl-tests (Files): Likewise.
4271         * modules/fdopendir-tests (Files): Likewise.
4272         * modules/fflush-tests (Files): Likewise.
4273         * modules/flock-tests (Files): Likewise.
4274         * modules/floorf-tests (Files): Likewise.
4275         * modules/floorl-tests (Files): Likewise.
4276         * modules/fnmatch-tests (Files): Likewise.
4277         * modules/fopen-tests (Files): Likewise.
4278         * modules/fprintf-posix-tests (Files): Likewise.
4279         * modules/freopen-tests (Files): Likewise.
4280         * modules/frexp-nolibm-tests (Files): Likewise.
4281         * modules/frexp-tests (Files): Likewise.
4282         * modules/frexpl-nolibm-tests (Files): Likewise.
4283         * modules/frexpl-tests (Files): Likewise.
4284         * modules/fseek-tests (Files): Likewise.
4285         * modules/fseeko-tests (Files): Likewise.
4286         * modules/fsync-tests (Files): Likewise.
4287         * modules/ftell-tests (Files): Likewise.
4288         * modules/ftello-tests (Files): Likewise.
4289         * modules/futimens-tests (Files): Likewise.
4290         * modules/getaddrinfo-tests (Files): Likewise.
4291         * modules/getcwd-tests (Files): Likewise.
4292         * modules/getdelim-tests (Files): Likewise.
4293         * modules/getdtablesize-tests (Files): Likewise.
4294         * modules/getgroups-tests (Files): Likewise.
4295         * modules/gethostname-tests (Files): Likewise.
4296         * modules/getline-tests (Files): Likewise.
4297         * modules/getopt-posix-tests (Files): Likewise.
4298         * modules/gettimeofday-tests (Files): Likewise.
4299         * modules/glob-tests (Files): Likewise.
4300         * modules/iconv-tests (Files): Likewise.
4301         * modules/inet_ntop-tests (Files): Likewise.
4302         * modules/inet_pton-tests (Files): Likewise.
4303         * modules/isblank-tests (Files): Likewise.
4304         * modules/lchown-tests (Files): Likewise.
4305         * modules/ldexpl-tests (Files): Likewise.
4306         * modules/link-tests (Files): Likewise.
4307         * modules/linkat-tests (Files): Likewise.
4308         * modules/lseek-tests (Files): Likewise.
4309         * modules/lstat-tests (Files): Likewise.
4310         * modules/mbrtowc-tests (Files): Likewise.
4311         * modules/mbsinit-tests (Files): Likewise.
4312         * modules/mbsnrtowcs-tests (Files): Likewise.
4313         * modules/mbsrtowcs-tests (Files): Likewise.
4314         * modules/memchr-tests (Files): Likewise.
4315         * modules/memcmp-tests (Files): Likewise.
4316         * modules/memmem-tests (Files): Likewise.
4317         * modules/memrchr-tests (Files): Likewise.
4318         * modules/mkdir-tests (Files): Likewise.
4319         * modules/mkfifo-tests (Files): Likewise.
4320         * modules/mkfifoat-tests (Files): Likewise.
4321         * modules/mknod-tests (Files): Likewise.
4322         * modules/nanosleep-tests (Files): Likewise.
4323         * modules/nl_langinfo-tests (Files): Likewise.
4324         * modules/obstack-printf-tests (Files): Likewise.
4325         * modules/open-tests (Files): Likewise.
4326         * modules/openat-tests (Files): Likewise.
4327         * modules/perror-tests (Files): Likewise.
4328         * modules/pipe2-tests (Files): Likewise.
4329         * modules/poll-tests (Files): Likewise.
4330         * modules/popen-tests (Files): Likewise.
4331         * modules/posix_spawn-tests (Files): Likewise.
4332         * modules/posix_spawnp-tests (Files): Likewise.
4333         * modules/pread-tests (Files): Likewise.
4334         * modules/printf-posix-tests (Files): Likewise.
4335         * modules/pty-tests (Files): Likewise.
4336         * modules/random_r-tests (Files): Likewise.
4337         * modules/rawmemchr-tests (Files): Likewise.
4338         * modules/readlink-tests (Files): Likewise.
4339         * modules/remove-tests (Files): Likewise.
4340         * modules/rename-tests (Files): Likewise.
4341         * modules/renameat-tests (Files): Likewise.
4342         * modules/rmdir-tests (Files): Likewise.
4343         * modules/round-tests (Files): Likewise.
4344         * modules/roundf-tests (Files): Likewise.
4345         * modules/roundl-tests (Files): Likewise.
4346         * modules/select-tests (Files): Likewise.
4347         * modules/setenv-tests (Files): Likewise.
4348         * modules/sigaction-tests (Files): Likewise.
4349         * modules/sleep-tests (Files): Likewise.
4350         * modules/snprintf-posix-tests (Files): Likewise.
4351         * modules/snprintf-tests (Files): Likewise.
4352         * modules/sprintf-posix-tests (Files): Likewise.
4353         * modules/stat-tests (Files): Likewise.
4354         * modules/strcasestr-tests (Files): Likewise.
4355         * modules/strchrnul-tests (Files): Likewise.
4356         * modules/strerror-tests (Files): Likewise.
4357         * modules/strsignal-tests (Files): Likewise.
4358         * modules/strstr-tests (Files): Likewise.
4359         * modules/strtod-tests (Files): Likewise.
4360         * modules/strverscmp-tests (Files): Likewise.
4361         * modules/symlink-tests (Files): Likewise.
4362         * modules/symlinkat-tests (Files): Likewise.
4363         * modules/times-tests (Files): Likewise.
4364         * modules/trunc-tests (Files): Likewise.
4365         * modules/truncf-tests (Files): Likewise.
4366         * modules/truncl-tests (Files): Likewise.
4367         * modules/tsearch-tests (Files): Likewise.
4368         * modules/uname-tests (Files): Likewise.
4369         * modules/unlink-tests (Files): Likewise.
4370         * modules/unsetenv-tests (Files): Likewise.
4371         * modules/usleep-tests (Files): Likewise.
4372         * modules/utimensat-tests (Files): Likewise.
4373         * modules/vasprintf-tests (Files): Likewise.
4374         * modules/vdprintf-posix-tests (Files): Likewise.
4375         * modules/vfprintf-posix-tests (Files): Likewise.
4376         * modules/vprintf-posix-tests (Files): Likewise.
4377         * modules/vsnprintf-posix-tests (Files): Likewise.
4378         * modules/vsnprintf-tests (Files): Likewise.
4379         * modules/vsprintf-posix-tests (Files): Likewise.
4380         * modules/wcrtomb-tests (Files): Likewise.
4381         * modules/wcsnrtombs-tests (Files): Likewise.
4382         * modules/wcsrtombs-tests (Files): Likewise.
4383         * modules/wcwidth-tests (Files): Likewise.
4384         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
4385         * tests/test-isinf.c (isinf): Likewise.
4386         * tests/test-isnan.c (isnan): Likewise.
4387         * tests/test-signbit.c (signbit): Likewise.
4388         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
4389         declaration, either as macro or with correct signature.
4390         (select): Ensure function under test is declared with correct
4391         signature in correct header.
4392         * tests/test-atexit.c (atexit): Likewise.
4393         * tests/test-btowc.c (btowc): Likewise.
4394         * tests/test-canonicalize-lgpl.c (realpath)
4395         (canonicalize_file_name): Likewise.
4396         * tests/test-ceilf1.c (ceilf): Likewise.
4397         * tests/test-ceill.c (ceill): Likewise.
4398         * tests/test-chown.c (chown): Likewise.
4399         * tests/test-dprintf-posix.c (dprintf): Likewise.
4400         * tests/test-dup2.c (dup2): Likewise.
4401         * tests/test-dup3.c (dup3): Likewise.
4402         * tests/test-duplocale.c (duplocale): Likewise.
4403         * tests/test-fchdir.c (fchdir): Likewise.
4404         * tests/test-fchownat.c (fchownat): Likewise.
4405         * tests/test-fcntl.c (fcntl): Likewise.
4406         * tests/test-fdopendir.c (fdopendir): Likewise.
4407         * tests/test-fflush.c (fflush): Likewise.
4408         * tests/test-flock.c (flock): Likewise.
4409         * tests/test-floorf1.c (floorf): Likewise.
4410         * tests/test-floorl.c (floorl): Likewise.
4411         * tests/test-fnmatch.c (fnmatch): Likewise.
4412         * tests/test-fopen.c (fopen): Likewise.
4413         * tests/test-fprintf-posix.c (fprintf): Likewise.
4414         * tests/test-freopen.c (freopen): Likewise.
4415         * tests/test-frexp.c (frexp): Likewise.
4416         * tests/test-frexpl.c (frexpl): Likewise.
4417         * tests/test-fseek.c (fseek): Likewise.
4418         * tests/test-fseeko.c (fseeko): Likewise.
4419         * tests/test-fstatat.c (fstatat): Likewise.
4420         * tests/test-fsync.c (fsync): Likewise.
4421         * tests/test-ftell.c (ftell): Likewise.
4422         * tests/test-ftello.c (ftello): Likewise.
4423         * tests/test-futimens.c (futimens): Likewise.
4424         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
4425         (gai_strerror): Likewise.
4426         * tests/test-getcwd.c (getcwd): Likewise.
4427         * tests/test-getdelim.c (getdelim): Likewise.
4428         * tests/test-getdtablesize.c (getdtablesize): Likewise.
4429         * tests/test-getgroups.c (getgroups): Likewise.
4430         * tests/test-gethostname.c (gethostname): Likewise.
4431         * tests/test-getline.c (getline): Likewise.
4432         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
4433         Likewise.
4434         * tests/test-gettimeofday.c (gettimeofday): Likewise.
4435         * tests/test-glob.c (glob, globfree): Likewise.
4436         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
4437         * tests/test-inet_ntop.c (inet_ntop): Likewise.
4438         * tests/test-inet_pton.c (inet_pton): Likewise.
4439         * tests/test-isblank.c (isblank): Likewise.
4440         * tests/test-lchown.c (lchown): Likewise.
4441         * tests/test-ldexpl.c (ldexpl): Likewise.
4442         * tests/test-link.c (link): Likewise.
4443         * tests/test-linkat.c (linkat): Likewise.
4444         * tests/test-lseek.c (lseek): Likewise.
4445         * tests/test-lstat.c (lstat): Likewise.
4446         * tests/test-mbrtowc.c (mbrtowc): Likewise.
4447         * tests/test-mbsinit.c (mbsinit): Likewise.
4448         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
4449         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
4450         * tests/test-memchr.c (memchr): Likewise.
4451         * tests/test-memcmp.c (memcmp): Likewise.
4452         * tests/test-memmem.c (memmem): Likewise.
4453         * tests/test-memrchr.c (memrchr): Likewise.
4454         * tests/test-mkdir.c (mkdir): Likewise.
4455         * tests/test-mkdirat.c (mkdirat): Likewise.
4456         * tests/test-mkfifo.c (mkfifo): Likewise.
4457         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
4458         * tests/test-mknod.c (mknod): Likewise.
4459         * tests/test-nanosleep.c (nanosleep): Likewise.
4460         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
4461         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
4462         Likewise.
4463         * tests/test-open.c (open): Likewise.
4464         * tests/test-openat.c (openat): Likewise.
4465         * tests/test-perror.c (perror): Likewise.
4466         * tests/test-pipe2.c (pipe2): Likewise.
4467         * tests/test-poll.c (poll): Likewise.
4468         * tests/test-popen.c (popen, pclose): Likewise.
4469         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
4470         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
4471         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
4472         (posix_spawn_file_actions_destroy)
4473         (posix_spawn_file_actions_addclose)
4474         (posix_spawn_file_actions_addopen)
4475         (posix_spawn_file_actions_adddup2): Likewise.
4476         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
4477         * tests/test-pread.c (pread): Likewise.
4478         * tests/test-printf-posix.c (printf): Likewise.
4479         * tests/test-pty.c (openpty, forkpty): Likewise.
4480         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
4481         (random_r): Likewise.
4482         * tests/test-rawmemchr.c (rawmemchr): Likewise.
4483         * tests/test-readlink.c (readlink): Likewise.
4484         * tests/test-remove.c (remove): Likewise.
4485         * tests/test-rename.c (rename): Likewise.
4486         * tests/test-renameat.c (renameat): Likewise.
4487         * tests/test-rmdir.c (rmdir): Likewise.
4488         * tests/test-round1.c (round): Likewise.
4489         * tests/test-roundf1.c (roundf): Likewise.
4490         * tests/test-roundl.c (roundl): Likewise.
4491         * tests/test-setenv.c (setenv): Likewise.
4492         * tests/test-sigaction.c (sigaction): Likewise.
4493         * tests/test-sleep.c (sleep): Likewise.
4494         * tests/test-snprintf.c (snprintf): Likewise.
4495         * tests/test-sprintf-posix.c (sprintf): Likewise.
4496         * tests/test-stat.c (stat): Likewise.
4497         * tests/test-stpncpy.c (stpncpy): Likewise.
4498         * tests/test-strcasestr.c (strcasestr): Likewise.
4499         * tests/test-strchrnul.c (strchrnul): Likewise.
4500         * tests/test-strerror.c (strerror): Likewise.
4501         * tests/test-strsignal.c (strsignal): Likewise.
4502         * tests/test-strstr.c (strstr): Likewise.
4503         * tests/test-strtod.c (strtod): Likewise.
4504         * tests/test-strverscmp.c (strverscmp): Likewise.
4505         * tests/test-symlink.c (symlink): Likewise.
4506         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
4507         * tests/test-times.c (times): Likewise.
4508         * tests/test-trunc1.c (trunc): Likewise.
4509         * tests/test-truncf1.c (truncf): Likewise.
4510         * tests/test-truncl.c (truncl): Likewise.
4511         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
4512         Likewise.
4513         * tests/test-uname.c (uname): Likewise.
4514         * tests/test-unlink.c (unlink): Likewise.
4515         * tests/test-unlinkat.c (unlinkat): Likewise.
4516         * tests/test-unsetenv.c (unsetenv): Likewise.
4517         * tests/test-usleep.c (usleep): Likewise.
4518         * tests/test-utimensat.c (utimensat): Likewise.
4519         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
4520         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
4521         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
4522         * tests/test-vprintf-posix.c (vprintf): Likewise.
4523         * tests/test-vsnprintf.c (vsnprintf): Likewise.
4524         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
4525         * tests/test-wcrtomb.c (wcrtomb): Likewise.
4526         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
4527         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
4528         * tests/test-wcwidth.c (wcwidth): Likewise.
4529
4530         build: pull in conditional headers during GNULIB_POSIXCHECK
4531         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
4532         definitions from any conditionally-included headers.
4533         * lib/stdlib.in.h (includes): Likewise.
4534         * lib/unistd.in.h (includes): Likewise.
4535
4536 2009-12-24  Bruno Haible  <bruno@clisp.org>
4537
4538         * tests/test-argv-iter.c: Include header file being tested immediately
4539         after config.h.
4540         * tests/test-base64.c: Likewise.
4541         * tests/test-flock.c: Likewise.
4542         * tests/test-fsync.c: Likewise.
4543         * tests/test-getdate.c: Likewise.
4544         * tests/test-getndelim2.c: Likewise.
4545         * tests/test-isfinite.c: Likewise.
4546         * tests/test-isinf.c: Likewise.
4547         * tests/test-strerror.c: Likewise.
4548         * tests/test-strsignal.c: Likewise.
4549
4550 2009-12-23  Eric Blake  <ebb9@byu.net>
4551
4552         unistd: work around cygwin bug
4553         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
4554         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
4555         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
4556
4557 2009-12-23  Bruno Haible  <bruno@clisp.org>
4558
4559         localename: More tests.
4560         * tests/test-localename.c (SIZEOF): New macro.
4561         (categories): New variable.
4562         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
4563         test_locale_name_default): Add test w.r.t. thread locale.
4564         (test_locale_name_thread): New function.
4565         (main): Invoke it.
4566
4567         localename: Make aware of thread locale.
4568         * lib/localename.h (gl_locale_name_thread): New declaration.
4569         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
4570         behaviour with respect to thread locale.
4571         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
4572         <langinfo.h>, glthread/lock.h.
4573         (SIZE_BITS): New macro.
4574         (string_hash): New function.
4575         (struct hash_node): New type.
4576         (HASH_TABLE_SIZE): New macro.
4577         (struniq_hash_table, struniq_lock): New variables.
4578         (struniq): New function.
4579         (gl_locale_name_thread): New function.
4580         (gl_locale_name): Invoke it.
4581         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
4582         * modules/localename (Depends-on): Add lock.
4583         Reported by Mike Gran <spk121@yahoo.com>.
4584
4585 2009-12-23  Eric Blake  <ebb9@byu.net>
4586
4587         va-args: new module
4588         * modules/va-args: New file.
4589         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
4590         * MODULES.html.sh (Core language properties): Mention it.
4591
4592         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
4593         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
4594         named alias for __attribute__((__unused__)).
4595         * lib/chown.c: Update client.
4596         * lib/fchmodat.c: Likewise.
4597         * lib/fts.c: Likewise.
4598         * lib/getdate.y: Likewise.
4599         * lib/getgroups.c: Likewise.
4600         * lib/getopt.c: Likewise.
4601         * lib/getugroups.c: Likewise.
4602         * lib/mkdir.c: Likewise.
4603         * lib/mkfifo.c: Likewise.
4604         * lib/mkfifoat.c: Likewise.
4605         * lib/mknod.c: Likewise.
4606         * lib/mknodat.c: Likewise.
4607         * lib/readlink.c: Likewise.
4608         * lib/se-context.in.h: Likewise.
4609         * lib/se-selinux.in.h: Likewise.
4610         * lib/sockets.c: Likewise.
4611         * lib/symlink.c: Likewise.
4612         * lib/symlinkat.c: Likewise.
4613         * lib/unicodeio.c: Likewise.
4614         * lib/unistr.h: Likewise.
4615         * tests/test-areadlink.c: Likewise.
4616         * tests/test-areadlinkat.c: Likewise.
4617         * tests/test-filenamecat.c: Likewise.
4618         * tests/test-fseeko.c: Likewise.
4619         * tests/test-ftello.c: Likewise.
4620         * tests/test-getdate.c: Likewise.
4621         * tests/test-getgroups.c: Likewise.
4622         * tests/test-gethostname.c: Likewise.
4623         * tests/test-quotearg.c: Likewise.
4624         * tests/test-version-etc.c: Likewise.
4625         * tests/test-xalloc-die.c: Likewise.
4626         * tests/test-xfprintf-posix.c: Likewise.
4627         * tests/test-xprintf-posix.c: Likewise.
4628         * tests/test-xvasprintf.c: Likewise.
4629
4630         tests: avoid compiler warnings
4631         * tests/test-fcntl.c (main): Delete unused parameters.
4632         * tests/test-freopen-safer.c (main): Likewise.
4633         * tests/test-xalloc-die.c (main): Mark unused parameters.
4634         * tests/test-fseeko.c (main): Likewise.
4635         * tests/test-ftello.c (main): Likewise.
4636         * tests/test-nanosleep.c (main): Avoid declaration warning.
4637         * tests/test-sleep.c (main): Likewise.
4638         * tests/test-unsetenv.c (main): Silence warning about string
4639         literal.
4640         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
4641
4642 2009-12-23  Bruno Haible  <bruno@clisp.org>
4643
4644         * tests/test-localename.c (test_locale_name): New function, extracted
4645         from main. Also test mixed situations.
4646         (test_locale_name_posix, test_locale_name_environ,
4647         test_locale_name_default): New functions.
4648         (main): Invoke them all.
4649         * modules/localename-tests (configure.ac): Test for newlocale.
4650
4651 2009-12-23  Bruno Haible  <bruno@clisp.org>
4652
4653         unistd: Ensure getcwd gets declared before being overridden.
4654         * lib/unistd.in.h: Conditionally include <io.h>.
4655
4656 2009-12-22  Bruno Haible  <bruno@clisp.org>
4657
4658         wchar: Diagnose broken combination of glibc and gcc versions and flags.
4659         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
4660         (gl_WCHAR_H): Invoke it.
4661         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
4662         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
4663         Reported by Karl Berry <karl@freefriends.org>.
4664
4665 2009-12-22  Eric Blake  <ebb9@byu.net>
4666
4667         math, unistd: avoid redundant includes
4668         * lib/math.in.h (isnan): No need to re-include <math.h>.
4669         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
4670
4671         getsubopt: work around cygwin bug
4672         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
4673         avoid conflicting with system getsubopt.
4674         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
4675         bug.
4676
4677         getopt: synchronize from glibc
4678         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
4679         parameter order.  Adjust all callers.
4680         (_getopt_internal_r, main): Adjust quoting in error messages.
4681         Drop considerations for outdated POSIX 1003.2 error message.
4682         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
4683         callers.
4684         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
4685
4686         test-getopt: test stderr behavior
4687         * modules/getopt-posix-tests (Depends-on): Add dup2.
4688         * tests/test-getopt.c (ASSERT): Avoid stderr.
4689         (main): Move stderr to a temporary file.
4690         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
4691         Instead, add parameter to inform caller if output occurred.
4692         (test_getopt): Adjust all existing tests to expect silence, and
4693         add new tests of leading ":".
4694         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
4695         glibc shortcomings with leading "-:" or "+:" in optstring.
4696         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
4697         Likewise.
4698         * doc/posix-functions/getopt.texi (getopt): Likewise.
4699
4700         test-getopt: enhance test
4701         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
4702         supports optind=0.
4703         * tests/test-getopt.c (OPTIND_MIN): Move...
4704         * tests/test-getopt.h (OPTIND_MIN): ...here.
4705         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
4706         Require that optind=0 works, since modern BSD supports it in
4707         addition to optreset, and since coreutils expects it.
4708         (test_getopt_long_only): New test.
4709         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
4710         glibc shortcomings with 'W;', and enforcement of optind=0.
4711         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
4712         Likewise.
4713
4714 2009-12-21  Bruno Haible  <bruno@clisp.org>
4715
4716         localename: Improvements for MacOS X and Cygwin.
4717         * lib/localename.h (gl_locale_name_environ): New declaration.
4718         * lib/localename.c (gl_locale_name_environ): New function, extracted from
4719         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
4720         (gl_locale_name_posix): Invoke it.
4721         (gl_locale_name_default): Add comments. Use Windows native API also on
4722         Cygwin.
4723
4724 2009-12-21  Bruno Haible  <bruno@clisp.org>
4725
4726         Update list of Win32 locale ids.
4727         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
4728         (LANG_SAMI): Renamed from LANG_SAAMI.
4729         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
4730         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
4731         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
4732         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
4733         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
4734         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
4735         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
4736         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
4737         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
4738         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
4739         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
4740         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
4741         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
4742         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
4743         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
4744         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
4745         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
4746         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
4747         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
4748         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
4749         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
4750         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
4751         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
4752         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
4753         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
4754         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
4755         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
4756         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
4757         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
4758         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
4759         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
4760         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
4761         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
4762         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
4763         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
4764         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
4765         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
4766         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
4767         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
4768         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
4769         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
4770         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
4771         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
4772         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
4773         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
4774         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
4775         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
4776         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
4777         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
4778         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
4779         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
4780         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
4781         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
4782         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
4783         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
4784         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
4785         Add more languages and countries for Sami, Sorbian. Add more countries
4786         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
4787         for Pashto. Change country for Syriac, Tswana.
4788
4789 2009-12-21  Eric Blake  <ebb9@byu.net>
4790
4791         test-utimens: avoid spurious failure
4792         * tests/test-chown.h (nap): Factor...
4793         * tests/nap.h: ...into new file.
4794         * tests/test-lchown.h (nap): Avoid duplication.
4795         * tests/test-utimens-common.h (nap): Use shared implementation,
4796         necessary on file systems with 1-second resolution.
4797         * modules/chown-tests (Files): Include new file.
4798         * modules/fdutimensat-tests (Files): Likewise.
4799         * modules/futimens-tests (Files): Likewise.
4800         * modules/lchown-tests (Files): Likewise.
4801         * modules/openat-tests (Files): Likewise.
4802         * modules/utimens-tests (Files): Likewise.
4803         * modules/utimensat-tests (Files): Likewise.
4804
4805 2009-12-19  Eric Blake  <ebb9@byu.net>
4806
4807         futimens, utimensat: work around Linux bug
4808         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
4809         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
4810         * lib/utimensat.c (rpl_utimensat): Work around it.
4811         * lib/futimens.c (rpl_futimens): Adjust comment.
4812
4813         utimens: work around Linux ctime bug
4814         * lib/utimens.c (detect_ctime_bug): New helper function.
4815         (update_timespec): Differentiate between workaround needed for
4816         this bug vs. what is needed for systems that lack utimensat.
4817         (fdutimens, lutimens): Work around bug.
4818
4819         utimens: check for ctime update
4820         * tests/test-utimens-common.h (check_ctime): Define.
4821         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
4822         * tests/test-futimens.h (test_futimens): Likewise.
4823         * tests/test-lutimens.h (test_lutimens): Likewise.
4824         * doc/posix-functions/futimens.texi (futimens): Document the bug.
4825         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
4826
4827 2009-12-19  Bruno Haible  <bruno@clisp.org>
4828
4829         dprintf-posix: Check against memory leak fixed on 2009-12-15.
4830         * tests/test-dprintf-posix2.sh: New file.
4831         * tests/test-dprintf-posix2.c: New file.
4832         * modules/dprintf-posix-tests (Files): Add them.
4833         (configure.ac): Check for getrlimit and setrlimit.
4834         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
4835
4836 2009-12-19  Bruno Haible  <bruno@clisp.org>
4837
4838         fprintf-posix: Check against memory leak fixed on 2009-12-15.
4839         * tests/test-fprintf-posix3.sh: New file.
4840         * tests/test-fprintf-posix3.c: New file.
4841         * modules/fprintf-posix-tests (Files): Add them.
4842         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
4843
4844 2009-12-19  Eric Blake  <ebb9@byu.net>
4845
4846         dirfd: fix prototype
4847         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
4848         * lib/dirfd.c (dirfd): Likewise.
4849
4850         canonicalize: reduce memory usage
4851         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
4852         allocation to size.
4853         Reported by Solar Designer <solar@openwall.com>.
4854
4855 2009-12-19  Bruno Haible  <bruno@clisp.org>
4856
4857         New module attribute 'Applicability'.
4858         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
4859         * gnulib-tool: New option --extract-applicability.
4860         (func_usage): Document it.
4861         (sed_extract_prog): Recognize it.
4862         (func_get_applicability): New function.
4863         (func_import): Generalize handling of 'link-warning' module.
4864         * modules/link-warning (Applicability): New section.
4865         * modules/arg-nonnull (Applicability): New section.
4866         Repoted by Simon Josefsson <simon@josefsson.org>.
4867
4868 2009-12-19  Bruno Haible  <bruno@clisp.org>
4869
4870         fflush: tweak
4871         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
4872         * lib/fseeko.c (rpl_fseeko): Likewise.
4873
4874 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
4875
4876         * lib/gl_list.h: Fix typo in comment.
4877
4878 2009-12-16  Eric Blake  <ebb9@byu.net>
4879
4880         fcntl: use to simplify other modules
4881         * modules/cloexec (Depends-on): Add fcntl.
4882         * modules/fchdir (Depends-on): Likewise.
4883         * modules/fd-safer-flag (Depends-on): Likewise.
4884         * modules/unistd-safer (Depends-on): Likewise.
4885         * modules/dup3 (configure.ac): Set module indicator.
4886         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
4887         missing.
4888         * lib/fchdir.c (_gl_register_dup): Fix comment.
4889         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
4890         * lib/dup-safer.c (dup_safer): Likewise.
4891         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
4892         * lib/dup3.c (dup3): Likewise.
4893         * tests/test-fchdir.c (main): Enhance test.
4894         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
4895
4896         fcntl: port portions of fcntl to mingw
4897         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
4898         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
4899         replacement for mingw.
4900         * modules/fcntl (Description): Update.
4901         (Depends-on): Add dup2.
4902         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
4903         * modules/fcntl-h (Makefile.am): Substitute it.
4904         * lib/fcntl.in.h (fcntl): Update declaration.
4905         (F_DUPFD, F_GETFD): New macros, when needed.
4906         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
4907         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
4908         * tests/test-fcntl.c (check_flags, main): Enhance test for items
4909         we now guarantee.
4910
4911         fcntl: work around cygwin bug in F_DUPFD
4912         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
4913         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
4914         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
4915         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
4916         * doc/posix-functions/fcntl.texi (fcntl): Document it.
4917
4918         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
4919         * modules/fcntl (Files): List new files.
4920         (configure.ac): Run a test.
4921         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
4922         * lib/fcntl.c (rpl_fcntl): Likewise.
4923         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
4924         (gl_FCNTL_H): Always replace fcntl.h.
4925         * modules/fcntl-h (Makefile.am): Substitute witnesses.
4926         * lib/fcntl.in.h (fcntl): Declare replacement.
4927         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
4928         needed, plus a witness.
4929         * doc/posix-functions/fcntl.texi (fcntl): Document this.
4930         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
4931         * tests/test-fcntl.c: New file.
4932         * modules/fcntl-tests: Likewise.
4933
4934         binary-io: avoid potential compilation warning
4935         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
4936         directives.
4937
4938         fflush: avoid compilation error on NetBSD
4939         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
4940         between off_t and fpos_t, since the latter is sometimes a struct.
4941         * lib/fseeko.c (rpl_fseeko): Likewise.
4942         Reported by Alexander Nasonov <alnsn@yandex.ru>.
4943
4944 2009-12-15  Eric Blake  <ebb9@byu.net>
4945
4946         fcntl-h, stdio, sys_ioctl: fix declarations
4947         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
4948         function must not take arguments.
4949         * lib/sys_ioctl.in.h (ioctl): Likewise.
4950         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
4951         (open): Add a link warning.
4952
4953 2009-12-15  Jim Meyering  <meyering@redhat.com>
4954
4955         areadlink, areadlink-with-size: relax license to LGPLv2+
4956         * modules/areadlink (License): Relax to LGPLv2+.
4957         * modules/areadlink-with-size (License): Likewise.
4958
4959 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
4960             Bruno Haible  <bruno@clisp.org>
4961
4962         *printf: Fix memory leak.
4963         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
4964         * lib/vfprintf.c (vfprintf): Likewise.
4965         * lib/dprintf.c (dprintf): Likewise.
4966         * lib/vdprintf.c (vdprintf): Likewise.
4967
4968 2009-12-14  Eric Blake  <ebb9@byu.net>
4969
4970         accept4: adjust module dependencies
4971         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
4972
4973         utimens: one more try at avoiding compiler warning
4974         * lib/utimens.c (lutimens): Lower scope of result.
4975
4976 2009-12-13  Bruno Haible  <bruno@clisp.org>
4977
4978         Move the malloc checking from module 'list' to new module 'xlist'.
4979         * modules/xlist: New file.
4980         * lib/gl_xlist.h: New file.
4981         * lib/gl_xlist.c: New file.
4982         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
4983         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
4984         gl_list_add_last, gl_list_add_before, gl_list_add_after,
4985         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
4986         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
4987         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
4988         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
4989         gl_sortedlist_nx_add): New declarations.
4990         (struct gl_list_implementation): Rename and change methods accordingly.
4991         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
4992         (gl_list_nx_create): Renamed from gl_list_create.
4993         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
4994         (gl_list_nx_set_at): Renamed from gl_list_set_at.
4995         (gl_list_nx_add_first): Renamed from gl_list_add_first.
4996         (gl_list_nx_add_last): Renamed from gl_list_add_last.
4997         (gl_list_nx_add_before): Renamed from gl_list_add_before.
4998         (gl_list_nx_add_after): Renamed from gl_list_add_after.
4999         (gl_list_nx_add_at): Renamed from gl_list_add_at.
5000         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
5001         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
5002         gl_list_create_empty.
5003         (gl_list_nx_create): Renamed from gl_list_create.
5004         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
5005         (gl_list_nx_set_at): Renamed from gl_list_set_at.
5006         (gl_list_nx_add_first): Renamed from gl_list_add_first.
5007         (gl_list_nx_add_last): Renamed from gl_list_add_last.
5008         (gl_list_nx_add_before): Renamed from gl_list_add_before.
5009         (gl_list_nx_add_after): Renamed from gl_list_add_after.
5010         (gl_list_nx_add_at): Renamed from gl_list_add_at.
5011         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
5012         * lib/gl_array_list.c: Don't include xalloc.h.
5013         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
5014         NULL upon out-of-memory.
5015         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
5016         out-of-memory.
5017         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
5018         Change return type to 'int'.
5019         (gl_array_nx_set_at): Renamed from gl_array_set_at.
5020         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
5021         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
5022         upon out-of-memory.
5023         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
5024         upon out-of-memory.
5025         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
5026         upon out-of-memory.
5027         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
5028         upon out-of-memory.
5029         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
5030         out-of-memory.
5031         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
5032         Update.
5033         (gl_array_list_implementation): Update.
5034         * lib/gl_carray_list.c: Don't include xalloc.h.
5035         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
5036         Return NULL upon out-of-memory.
5037         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
5038         out-of-memory.
5039         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
5040         Change return type to 'int'.
5041         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
5042         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
5043         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
5044         upon out-of-memory.
5045         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
5046         upon out-of-memory.
5047         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
5048         out-of-memory.
5049         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
5050         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
5051         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
5052         Update.
5053         (gl_carray_list_implementation): Update.
5054         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
5055         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
5056         gl_linked_create_empty. Return NULL upon out-of-memory.
5057         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
5058         out-of-memory.
5059         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
5060         Change return type to 'int'. Return -1 upon out-of-memory.
5061         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
5062         out-of-memory.
5063         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
5064         upon out-of-memory.
5065         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
5066         upon out-of-memory.
5067         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
5068         NULL upon out-of-memory.
5069         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
5070         upon out-of-memory.
5071         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
5072         out-of-memory.
5073         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
5074         Update.
5075         * lib/gl_linked_list.c: Don't include xalloc.h.
5076         (gl_linked_list_implementation): Update.
5077         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
5078         (add_to_bucket): Change return type to 'int'.
5079         (gl_linkedhash_list_implementation): Update.
5080         * lib/gl_anytree_list1.h (free_subtree): New function.
5081         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
5082         gl_tree_create_empty. Return NULL upon out-of-memory.
5083         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
5084         Change return type to 'int'. Return -1 upon out-of-memory.
5085         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
5086         out-of-memory.
5087         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
5088         (gl_tree_remove_node): New function, moved here from
5089         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
5090         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
5091         Update.
5092         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
5093         malloc, not xmalloc. Return NULL upon out-of-memory.
5094         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
5095         out-of-memory.
5096         (gl_tree_remove_node_from_tree): New function, extracted from
5097         gl_tree_remove_node.
5098         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
5099         upon out-of-memory.
5100         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
5101         out-of-memory.
5102         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
5103         upon out-of-memory.
5104         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
5105         upon out-of-memory.
5106         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
5107         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
5108         not xmalloc. Return NULL upon out-of-memory.
5109         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
5110         out-of-memory.
5111         (gl_tree_remove_node_from_tree): New function, extracted from
5112         gl_tree_remove_node.
5113         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
5114         upon out-of-memory.
5115         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
5116         out-of-memory.
5117         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
5118         upon out-of-memory.
5119         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
5120         upon out-of-memory.
5121         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
5122         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
5123         gl_anytree_list1.h before gl_anyavltree_list2.h.
5124         (gl_avltree_list_implementation): Update.
5125         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
5126         gl_anytree_list1.h before gl_anyavltree_list2.h.
5127         (gl_rbtree_list_implementation): Update.
5128         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
5129         Change return type to 'int'. Return -1 upon out-of-memory. Use
5130         __builtin_expect.
5131         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
5132         (gl_avltreehash_list_implementation): Update.
5133         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
5134         (gl_rbtreehash_list_implementation): Update.
5135         * modules/array-list (Depends-on): Remove xalloc.
5136         * modules/carray-list (Depends-on): Likewise.
5137         * modules/linked-list (Depends-on): Likewise.
5138         * modules/linkedhash-list (Depends-on): Likewise.
5139         * modules/avltree-list (Depends-on): Likewise.
5140         * modules/rbtree-list (Depends-on): Likewise.
5141         * modules/avltreehash-list (Depends-on): Likewise.
5142         * modules/rbtreehash-list (Depends-on): Likewise.
5143
5144         * modules/xsublist: New file.
5145         * lib/gl_xsublist.h: New file.
5146         * lib/gl_xsublist.c: New file.
5147         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
5148         (gl_sublist_nx_create): New declaration.
5149         * lib/gl_sublist.c: Don't include xalloc.h.
5150         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
5151         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
5152         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
5153         Change return type to 'int'. Return -1 upon out-of-memory.
5154         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
5155         upon out-of-memory.
5156         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
5157         NULL upon out-of-memory.
5158         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
5159         upon out-of-memory.
5160         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
5161         NULL upon out-of-memory.
5162         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
5163         NULL upon out-of-memory.
5164         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
5165         upon out-of-memory.
5166         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
5167         (gl_sublist_list_implementation): Update.
5168         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
5169         upon out-of-memory.
5170         * modules/sublist (Depends-on): Remove xalloc.
5171
5172         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
5173         * tests/test-carray_list.c: Likewise.
5174         * tests/test-linked_list.c: Likewise.
5175         * tests/test-linkedhash_list.c: Likewise.
5176         * tests/test-avltree_list.c: Likewise.
5177         * tests/test-rbtree_list.c: Likewise.
5178         * tests/test-avltreehash_list.c: Likewise.
5179         * tests/test-rbtreehash_list.c: Likewise.
5180         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
5181         * modules/carray-list-tests (Makefile.am): Likewise.
5182         * modules/linked-list-tests (Makefile.am): Likewise.
5183         * modules/linkedhash-list-tests (Makefile.am): Likewise.
5184         * modules/avltree-list-tests (Makefile.am): Likewise.
5185         * modules/rbtree-list-tests (Makefile.am): Likewise.
5186         * modules/avltreehash-list-tests (Makefile.am): Likewise.
5187         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
5188
5189         * NEWS: Mention the changes.
5190
5191         * lib/clean-temp.c: Include gl_xlist.h.
5192         * modules/clean-temp (Depends-on): Add xlist.
5193
5194         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
5195         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
5196
5197         * tests/test-array_oset.c: Include gl_xlist.h.
5198         * modules/array-oset-tests (Depends-on): Add xlist.
5199
5200         Reported by José E. Marchesi <jemarch@gnu.org>.
5201
5202 2009-12-13  Bruno Haible  <bruno@clisp.org>
5203
5204         Move the malloc checking from module 'oset' to new module 'xoset'.
5205         * modules/xoset: New file.
5206         * lib/gl_xoset.h: New file.
5207         * lib/gl_xoset.c: New file.
5208         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
5209         declarations.
5210         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
5211         (struct gl_oset_implementation): Rename and change methods accordingly.
5212         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
5213         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
5214         'int'. Mark as __warn_unused_result__.
5215         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
5216         gl_oset_create_empty.
5217         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
5218         'int'.
5219         * lib/gl_array_oset.c: Don't include xalloc.h.
5220         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
5221         malloc, not xmalloc.
5222         (grow): Change return type to 'int'. Don't call xalloc_die.
5223         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
5224         to 'int'.
5225         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
5226         'int'.
5227         (gl_array_oset_implementation): Update.
5228         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
5229         gl_tree_create_empty.
5230         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
5231         'int'.
5232         * lib/gl_avltree_oset.c: Don't include xalloc.h.
5233         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
5234         xmalloc.
5235         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
5236         not xmalloc.
5237         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
5238         xmalloc.
5239         (gl_avltree_oset_implementation): Update.
5240         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
5241         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
5242         xmalloc.
5243         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
5244         not xmalloc.
5245         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
5246         xmalloc.
5247         (gl_rbtree_oset_implementation): Update.
5248         * modules/array-oset (Depends-on): Remove xalloc.
5249         * modules/avltree-oset (Depends-on): Likewise.
5250         * modules/rbtree-oset (Depends-on): Likewise.
5251         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
5252         * tests/test-avltree_oset.c: Likewise.
5253         * tests/test-rbtree_oset.c: Likewise.
5254         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
5255         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
5256         * modules/rbtree-oset-tests (Makefile.am): Likewise.
5257         * NEWS: Mention the change.
5258
5259 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
5260
5261         maint.mk: allow a project to override release-prep commands
5262         * top/maint.mk (alpha, beta, stable): Move release-preparatory
5263         commands into a new rule.
5264         (release-prep): New rule.
5265         (release-prep-hook): New overridable variable.
5266
5267 2009-12-13  Bruno Haible  <bruno@clisp.org>
5268
5269         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
5270
5271 2009-12-13  Jim Meyering  <meyering@redhat.com>
5272
5273         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
5274         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
5275
5276 2009-12-12  Bruno Haible  <bruno@clisp.org>
5277
5278         duplocale: Tweak.
5279         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
5280
5281 2009-12-12  Karl Berry  <karl@gnu.org>
5282
5283         * config/srclist.txt (strtoll.c): tab changes, no more sync.
5284
5285 2009-12-12  Bruno Haible  <bruno@clisp.org>
5286
5287         * m4/po.m4: Undo incorrect untabification.
5288
5289 2009-12-12  Bruno Haible  <bruno@clisp.org>
5290
5291         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
5292         * modules/c-strtod (Depends-on): Add locale.
5293         * modules/c-strtold (Depends-on): Likewise.
5294
5295 2009-12-12  Bruno Haible  <bruno@clisp.org>
5296
5297         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
5298
5299 2009-12-11  Eric Blake  <ebb9@byu.net>
5300
5301         setenv: relax requirement in light of POSIX ruling
5302         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
5303         not NULL.
5304         * tests/test-setenv.c (main): Relax test.
5305         * tests/test-unsetenv.c (main): Likewise.
5306         * doc/posix-functions/setenv.texi (setenv): Document this.
5307         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
5308
5309 2009-12-11  Bruno Haible  <bruno@clisp.org>
5310
5311         New module 'fd-safer-flag'.
5312         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
5313         * lib/dup-safer.c (dup_safer_flag): Remove function.
5314         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
5315         * lib/fd-safer.c (fd_safer_flag): Remove function.
5316         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
5317         * modules/cloexec (configure.ac): Drop indicator macro.
5318         * modules/fd-safer-flag: New file.
5319         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
5320         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
5321         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
5322
5323 2009-12-11  Bruno Haible  <bruno@clisp.org>
5324
5325         Tests for module 'nl_langinfo'.
5326         * modules/nl_langinfo-tests: New file.
5327         * tests/test-nl_langinfo.sh: New file.
5328         * tests/test-nl_langinfo.c: New file.
5329
5330         New module 'nl_langinfo'.
5331         * lib/nl_langinfo.c: New file.
5332         * m4/nl_langinfo.m4: New file.
5333         * modules/nl_langinfo: New file.
5334         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
5335
5336 2009-12-11  Bruno Haible  <bruno@clisp.org>
5337
5338         Tests for module 'langinfo'.
5339         * modules/langinfo-tests: New file.
5340         * tests/test-langinfo.c: New file.
5341
5342         New module 'langinfo'.
5343         * lib/langinfo.in.h: New file.
5344         * m4/langinfo_h.m4: New file.
5345         * modules/langinfo: New file.
5346         * doc/posix-headers/langinfo.texi: Mention the new module.
5347
5348 2009-12-11  Bruno Haible  <bruno@clisp.org>
5349
5350         * lib/config.charset: Untabify.
5351
5352 2009-12-11  Bruno Haible  <bruno@clisp.org>
5353
5354         * modules/unistd-safer (configure.ac): Drop indicator macro.
5355
5356 2009-12-11  Bruno Haible  <bruno@clisp.org>
5357
5358         Move pipe2-safer code to its own file.
5359         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
5360         * lib/pipe-safer.c (pipe2_safer): Remove function.
5361         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
5362         (Makefile.am): Add it to lib_SOURCES.
5363
5364 2009-12-10  Bruno Haible  <bruno@clisp.org>
5365
5366         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
5367
5368 2009-12-10  Bruno Haible  <bruno@clisp.org>
5369
5370         Declare which arguments expect non-NULL values, for GCC and clang.
5371         * build-aux/arg-nonnull.h: New file.
5372         * modules/arg-nonnull: New file.
5373         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
5374         (inet_ntop, inet_pton): Use it.
5375         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
5376         (closedir, dirfd, opendir, scandir, alphasort): Use it.
5377         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
5378         (open, openat): Use it.
5379         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
5380         (fnmatch): Use it.
5381         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
5382         (getopt, getopt_long, getopt_long_only): Use it.
5383         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
5384         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
5385         Use it.
5386         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
5387         (iconv_open): Use it.
5388         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
5389         (strtoimax, strtoumax): Use it.
5390         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
5391         (duplocale): Use it.
5392         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
5393         (frexp, frexpl): Use it.
5394         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
5395         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
5396         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
5397         (tsearch, tfind, tdelete, twalk): Use it.
5398         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
5399         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
5400         sigpending): Use it.
5401         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
5402         (posix_spawn, posix_spawnp, posix_spawnattr_init,
5403         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
5404         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
5405         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
5406         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
5407         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
5408         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
5409         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
5410         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
5411         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
5412         Use it.
5413         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
5414         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
5415         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
5416         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
5417         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
5418         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
5419         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
5420         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
5421         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
5422         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
5423         strtoull, unsetenv): Use it.
5424         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
5425         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
5426         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
5427         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5428         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5429         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
5430         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
5431         (strcasecmp, strncasecmp): Use it.
5432         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
5433         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
5434         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
5435         rpl_setsockopt): Use it.
5436         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
5437         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
5438         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
5439         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
5440         (gettimeofday): Use it.
5441         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
5442         (times): Use it.
5443         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
5444         (uname): Use it.
5445         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
5446         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
5447         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
5448         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
5449         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
5450         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
5451         unlinkat, write): Use it.
5452         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
5453         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
5454         * lib/argv-iter.h: Include arg-nonnull.h.
5455         (_ATTRIBUTE_NONNULL_): Remove macro.
5456         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
5457         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
5458         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
5459         optimization.
5460         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
5461         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
5462         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
5463         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
5464         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
5465         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
5466         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
5467         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
5468         * modules/arpa_inet (Depends-on): Add arg-nonnull.
5469         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
5470         * modules/dirent (Depends-on): Add arg-nonnull.
5471         (Makefile.am): Insert arg-nonnull.h into dirent.h.
5472         * modules/fcntl-h (Depends-on): Add arg-nonnull.
5473         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
5474         * modules/fnmatch (Depends-on): Add arg-nonnull.
5475         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
5476         * modules/getopt-posix (Depends-on): Add arg-nonnull.
5477         (Makefile.am): Insert arg-nonnull.h into getopt.h.
5478         * modules/glob (Depends-on): Add arg-nonnull.
5479         (Makefile.am): Insert arg-nonnull.h into glob.h.
5480         * modules/iconv_open (Depends-on): Add arg-nonnull.
5481         (Makefile.am): Insert arg-nonnull.h into iconv.h.
5482         * modules/inttypes (Depends-on): Add arg-nonnull.
5483         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
5484         * modules/locale (Depends-on): Add arg-nonnull.
5485         (Makefile.am): Insert arg-nonnull.h into locale.h.
5486         * modules/math (Depends-on): Add arg-nonnull.
5487         (Makefile.am): Insert arg-nonnull.h into math.h.
5488         * modules/netdb (Depends-on): Add arg-nonnull.
5489         (Makefile.am): Insert arg-nonnull.h into netdb.h.
5490         * modules/search (Depends-on): Add arg-nonnull.
5491         (Makefile.am): Insert arg-nonnull.h into search.h.
5492         * modules/signal (Depends-on): Add arg-nonnull.
5493         (Makefile.am): Insert arg-nonnull.h into signal.h.
5494         * modules/spawn (Depends-on): Add arg-nonnull.
5495         (Makefile.am): Insert arg-nonnull.h into spawn.h.
5496         * modules/stdio (Depends-on): Add arg-nonnull.
5497         (Makefile.am): Insert arg-nonnull.h into stdio.h.
5498         * modules/stdlib (Depends-on): Add arg-nonnull.
5499         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
5500         * modules/string (Depends-on): Add arg-nonnull.
5501         (Makefile.am): Insert arg-nonnull.h into string.h.
5502         * modules/strings (Depends-on): Add arg-nonnull.
5503         (Makefile.am): Insert arg-nonnull.h into strings.h.
5504         * modules/sys_socket (Depends-on): Add arg-nonnull.
5505         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
5506         * modules/sys_stat (Depends-on): Add arg-nonnull.
5507         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
5508         * modules/sys_time (Depends-on): Add arg-nonnull.
5509         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
5510         * modules/sys_times (Depends-on): Add arg-nonnull.
5511         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
5512         * modules/sys_utsname (Depends-on): Add arg-nonnull.
5513         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
5514         * modules/time (Depends-on): Add arg-nonnull.
5515         (Makefile.am): Insert arg-nonnull.h into time.h.
5516         * modules/unistd (Depends-on): Add arg-nonnull.
5517         (Makefile.am): Insert arg-nonnull.h into unistd.h.
5518         * modules/wchar (Depends-on): Add arg-nonnull.
5519         (Makefile.am): Insert arg-nonnull.h into wchar.h.
5520         * modules/argv-iter (Depends-on): Add arg-nonnull.
5521         * tests/test-canonicalize.c (null_ptr): New function.
5522         (main): Use it.
5523         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
5524         (main): Use it.
5525         * tests/test-memmem.c (null_ptr): New function.
5526         (main): Use it.
5527         Reported by Jim Meyering.
5528
5529 2009-12-10  Bruno Haible  <bruno@clisp.org>
5530
5531         Use spaces for indentation, not tabs.
5532         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
5533         * m4/*.m4: Untabify.
5534         * build-aux/*.h: Untabify.
5535         * tests/**/*.[hc]: Untabify.
5536         * README: New section "Indent with spaces, not TABs", based on
5537         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
5538         * NEWS: Mention the change.
5539
5540 2009-12-10  Bruno Haible  <bruno@clisp.org>
5541
5542         pty test: Fix link error.
5543         * modules/pty-tests (Makefile.am): Add the default LDADD value to
5544         test_pty_LDADD.
5545
5546 2009-12-07  Simon Josefsson  <simon@josefsson.org>
5547
5548         * modules/pty: New file.
5549         * modules/pty-tests: New file.
5550         * m4/pty.m4: New file.
5551         * tests/test-pty.c: New file.
5552         * doc/glibc-headers/pty.texi: Modified.
5553         * doc/glibc-functions/forkpty.texi: Modified.
5554         * doc/glibc-functions/openpty.texi: Modified.
5555
5556 2009-12-10  Bruno Haible  <bruno@clisp.org>
5557
5558         Avoid syntax error in C++ mode.
5559         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
5560
5561 2009-12-10  Bruno Haible  <bruno@clisp.org>
5562
5563         Use sed with option -e.
5564         * gnulib-tool (func_version, func_emit_copyright_notice,
5565         func_emit_initmacro_end, func_import, func_create_testdir): Pass
5566         option -e to sed.
5567         * modules/link-warning (Makefile.am): Likewise.
5568
5569 2009-12-10  Jim Meyering  <meyering@redhat.com>
5570
5571         mgetgroups: do not write bytes beyond end of malloc'd buffer
5572         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
5573         username, we call getgroups with a one-element-shorter buffer,
5574         but still told it the length was original, max_n_groups.
5575
5576 2009-12-09  Eric Blake  <ebb9@byu.net>
5577
5578         cloexec: relax license
5579         * modules/cloexec (Maintainer): Add myself.
5580         (License): Use LGPL, not GPL.
5581
5582         link-warning: optimize generation
5583         * modules/link-warning (Makefile.am): Reduce process usage.
5584
5585 2009-12-09  Bruno Haible  <bruno@clisp.org>
5586
5587         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
5588         workaround was added on 2009-11-17.
5589
5590 2009-12-09  Jim Meyering  <meyering@redhat.com>
5591             Bruno Haible  <bruno@clisp.org>
5592
5593         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
5594         * modules/link-warning (Makefile.am): Make the comment-removing sed
5595         command more robust in the face of bootstrap-prepended comment lines.
5596
5597 2009-12-09  Bruno Haible  <bruno@clisp.org>
5598
5599         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
5600         most one group.
5601
5602 2009-12-09  Simon Josefsson <simon@josefsson.org>
5603             Bruno Haible  <bruno@clisp.org>
5604
5605         * build-aux/link-warning.h: Add copyright notice.
5606         * modules/link-warning (Makefile.am): Generate link-warning.h from
5607         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
5608         * NEWS: Mention change in link-warning module.
5609         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
5610         * modules/dirent (Makefile.am): Add dependency to dirent.h.
5611         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
5612         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
5613         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
5614         * modules/math (Makefile.am): Add dependency to math.h.
5615         * modules/search (Makefile.am): Add dependency to search.h.
5616         * modules/signal (Makefile.am): Add dependency to signal.h.
5617         * modules/spawn (Makefile.am): Add dependency to spawn.h.
5618         * modules/stdio (Makefile.am): Add dependency to stdio.h.
5619         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
5620         * modules/string (Makefile.am): Add dependency to string.h.
5621         * modules/strings (Makefile.am): Add dependency to strings.h.
5622         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
5623         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
5624         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
5625         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
5626         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
5627         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
5628         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
5629         * modules/unistd (Makefile.am): Add dependency to unistd.h.
5630         * modules/wchar (Makefile.am): Add dependency to wchar.h.
5631
5632 2009-12-09  Bruno Haible  <bruno@clisp.org>
5633
5634         fchdir: Optimize away rpl_fstat when possible.
5635         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
5636         REPLACE_OPEN_DIRECTORY.
5637         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
5638
5639 2009-12-09  Bruno Haible  <bruno@clisp.org>
5640
5641         * lib/fchdir.c: Update comment.
5642
5643 2009-12-09  Bruno Haible  <bruno@clisp.org>
5644
5645         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
5646
5647 2009-12-08  Eric Blake  <ebb9@byu.net>
5648
5649         fchdir: avoid memory leak on re-registration.
5650         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
5651
5652 2009-12-08  Jim Meyering  <meyering@redhat.com>
5653
5654         init.sh: avoid Solaris 10 /bin/sh portability problem
5655         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
5656         sourced script:
5657           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
5658           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
5659           bar
5660         tests/init.sh relied on that, accepting a --set-path=DIR argument,
5661         and two tests used that idiom.
5662         * tests/init.sh: Update suggested usage comments.
5663         (path_prepend_): New function, to be used in place
5664         of the --src-path=DIR option.
5665         (setup_): Move PATH-prepending code into path_prepend_.
5666         * tests/test-pread.sh: Adapt to new usage.
5667         * tests/test-xalloc-die.sh: Likewise.
5668
5669 2009-12-08  Simon Josefsson  <simon@josefsson.org>
5670
5671         * doc/gnulib.texi (Glibc pty.h): Add.
5672         * doc/glibc-functions/forkpty.texi: Add.
5673         * doc/glibc-functions/openpty.texi: Add.
5674         Suggested by Bruno Haible.
5675
5676 2009-12-08  Eric Blake  <ebb9@byu.net>
5677
5678         fchdir: fix logic bugs
5679         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
5680         * tests/test-fchdir.c (main): Enhance test.
5681         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
5682         is in use.
5683
5684         dup2: fix logic bugs
5685         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
5686         REPLACE_DUP2 to decide when rpl_dup2 is needed.
5687         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
5688         exists.
5689         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
5690
5691 2009-12-07  Eric Blake  <ebb9@byu.net>
5692
5693         unlink: fix m4 detection
5694         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
5695
5696         unistd-safer: add unit test
5697         * modules/unistd-safer-tests: New file.
5698         * tests/test-dup-safer.c: Likewise.
5699         * tests/test-cloexec.c (setmode): Avoid compiler warning.
5700         * tests/test-dup2.c (setmode): Likewise.
5701         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
5702
5703         cloexec: preserve text vs. binary across dup_cloexec
5704         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
5705         mode.
5706         * modules/dup2-tests (Depends-on): Add binary-io.
5707         * modules/cloexec-tests (Depends-on): Likewise.
5708         * tests/test-dup2.c (setmode, is_mode): New helpers.
5709         (main): Add tests that translation mode is preserved.
5710         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
5711         Reported by Bruno Haible.
5712
5713         mgetgroups: reduce duplicate listings
5714         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
5715         resulting array.
5716         * tests/test-chown.h (test_chown): Simplify client.
5717         * tests/test-lchown.h (test_lchown): Likewise.
5718
5719 2009-12-06  Bruno Haible  <bruno@clisp.org>
5720
5721         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
5722         value.
5723
5724 2009-12-06  Bruno Haible  <bruno@clisp.org>
5725
5726         * lib/progname.c: Include stdio.h, stdlib.h.
5727         (set_program_name): Reject a NULL argument.
5728
5729 2009-12-05  Eric Blake  <ebb9@byu.net>
5730
5731         pipe2-safer: new module
5732         * modules/pipe2-safer: New file.
5733         * lib/unistd-safer.h (pipe2_safer): New prototype.
5734         * lib/unistd--.h (pipe2): New wrapper.
5735         * lib/pipe-safer.c (pipe2_safer): New function.
5736         * modules/pipe (Depends-on): Add pipe2-safer.
5737         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
5738
5739         stdlib-safer: preserve cloexec flag for mkostemp[s]
5740         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
5741         fd_safer_flag.
5742
5743         unistd-safer: allow preservation of cloexec status via flag
5744         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
5745         prototypes.
5746         * lib/dup-safer.c (dup_safer_flag): New function.
5747         * lib/fd-safer.c (fd_safer_flag): Likewise.
5748         * modules/cloexec (configure.ac): Set witness.
5749
5750         test-dup2: enhance test
5751         * modules/dup2-tests (Depends-on): Add cloexec.
5752         * tests/test-dup2.c (main): Enhance test.
5753
5754         cloexec: add dup_cloexec
5755         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
5756         header and comments.
5757         * lib/cloexec.c (set_cloexec_flag): Add comments.
5758         (dup_cloexec): New function, with mingw implementation borrowed
5759         from...
5760         * lib/w32spawn.h (dup_noinherit): ...here.
5761         * modules/execute (Depends-on): Add cloexec.
5762         * modules/pipe (Depends-on): Likewise.
5763         * modules/cloexec (Depends-on): Add dup2.
5764         * modules/cloexec-tests (Files): New file.
5765         * tests/test-cloexec.c: Likewise.
5766
5767         test-xalloc-die: fix test for mingw
5768         * modules/xalloc-die-tests (Files): Add tests/init.sh.
5769         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
5770         directory and .exe suffix off argv[0] output.
5771
5772         test-fseeko: fix test for mingw
5773         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
5774         than undefining fseek, so test will pass on mingw.
5775
5776 2009-12-05  Bruno Haible  <bruno@clisp.org>
5777
5778         * lib/progname.h (set_program_name): Clarify specification.
5779         * lib/progname.c (set_program_name): Likewise.
5780         Reported by Jim Meyering.
5781
5782 2009-12-05  Jim Meyering  <meyering@redhat.com>
5783
5784         maint.mk: backslash-escape parens in default regexp
5785         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
5786         backslash-escape the literal parentheses.
5787
5788         maint.mk: news-date-check: use grep -E
5789         * top/maint.mk (today): Define a Make variable, not a...
5790         (news-date-check): ...shell variable.
5791         (news-date-regexp): Use the Make variable.
5792         Use grep's -E option.  Change the failing diagnostic to mention
5793         the variable, $(news-date-regexp).
5794
5795 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
5796
5797         maintainer-makefile: allow customization of NEWS entry format
5798         * top/maint.mk (news-date-regexp): New overridable variable.
5799         (news-date-check): Use it.
5800
5801 2009-12-04  Eric Blake  <ebb9@byu.net>
5802
5803         mgetgroups: add xgetgroups, and avoid ENOSYS failures
5804         * lib/mgetgroups.h (xgetgroups): New prototype.
5805         * lib/mgetgroups.c (xgetgroups): New wrapper.
5806         (mgetgroups): Handle ENOSYS.
5807         * modules/mgetgroups (Depends-on): Add realloc.
5808         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
5809
5810         mgetgroups: avoid argument promotion issues with -1
5811         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
5812         for invalid gid_t.
5813         * tests/test-chown.h (getegid, test_chown): Likewise.
5814         * tests/test-lchown.h (getegid, test_lchown): Likewise.
5815
5816 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
5817
5818         exclude: Fix header file problems.
5819         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
5820
5821 2009-12-01  Jim Meyering  <meyering@redhat.com>
5822
5823         fts: fts_open: do not let an empty string cause immediate failure
5824         This is required in support of GNU rm, for which the command
5825         "rm A '' B" must process and remove both A and B, in spite of
5826         the empty string argument.
5827         * lib/fts.c (fts_open): Do not let the presence of an empty string
5828         cause fts_open to fail immediately.  Most fts-using tools must be
5829         able to process all arguments, in order, and can be expected to
5830         diagnose such arguments themselves.
5831
5832 2009-11-30  Eric Blake  <ebb9@byu.net>
5833
5834         utimens: fix compilation error
5835         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
5836         Declare variable at right scope.
5837
5838 2009-11-29  Jim Meyering  <meyering@redhat.com>
5839
5840         bootstrap: handle perl-5.11's changed --version output
5841         * build-aux/bootstrap (get_version): Handle perl separately,
5842         since perl-5.11's --version output is different.
5843
5844 2009-11-28  Jim Meyering  <meyering@redhat.com>
5845
5846         userspec: depend on the inttostr module, too
5847         * modules/userspec (Depends-on): Add inttostr.
5848
5849         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
5850         * lib/userspec.c (parse_with_separator): Do not accept a user ID
5851         number of MAXUID when it evaluates to (uid_t) -1.
5852         Likewise for group ID.  Reported by Matt McCutchen in
5853         <http://savannah.gnu.org/bugs/?28113>
5854
5855         userspec: reformat to use spaces, not TABs
5856         * lib/userspec.c: Expand TABs to spaces.
5857         Add Emacs' "indent-tabs-mode: nil" hint.
5858
5859 2009-11-27  Eric Blake  <ebb9@byu.net>
5860
5861         getopt-gnu: flush out another BSD bug
5862         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
5863         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
5864         flush out BSD bug.
5865         * tests/test-getopt.h (test_getopt): End lists with NULL.
5866         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5867         (test_getopt_long_posix): Enhance test.
5868         * modules/getopt-posix-tests (Depends-on): Add stdbool.
5869         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
5870         getopt-gnu.
5871         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5872         Likewise.
5873
5874 2009-11-27  Simon Josefsson  <simon@josefsson.org>
5875
5876         * modules/idpriv-droptemp-tests (Notice): Fix text.
5877
5878 2009-11-27  Jim Meyering  <meyering@redhat.com>
5879
5880         test-xalloc-die: avoid spurious failure due to libtool argv difference
5881         In a libtool-enabled project, this test would fail due to a difference
5882         in the emitted program name, e.g.,
5883         -test-xalloc-die: memory exhausted
5884         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
5885         Use program to avoid that.
5886         * modules/xalloc-die-tests (Depends-on): Add progname.
5887         * tests/test-xalloc-die.c: Include progname.h".
5888         (program_name): Remove decl.
5889         (main): Call set_program_name.
5890         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
5891
5892 2009-11-26  Richard Jones  <rjones@redhat.com>
5893
5894         w32sock: leave win32 error in place.
5895         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
5896
5897 2009-11-26  Eric Blake  <ebb9@byu.net>
5898
5899         init.sh: suggest to use skip_ and fail_ functions in comments
5900         * tests/init.sh: Add a sentence.
5901
5902 2009-11-25  Bruno Haible  <bruno@clisp.org>
5903
5904         init.sh: add documentation in comments
5905         * tests/init.sh: Add some developer and user documentation.
5906
5907 2009-11-26  Jim Meyering  <meyering@redhat.com>
5908
5909         init.sh: accommodate even those who specify bogus srcdir manually
5910         * tests/init.sh: Normally, srcdir is guaranteed by automake and
5911         configure-time tests to be sanitized, so that there is no need to
5912         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
5913         (with no double quotes) suffices.  However, since tests may be
5914         invoked manually, and since you may explicitly set srcdir to the
5915         name of a directory containing spaces, do quote its uses here.
5916         * tests/test-pread.sh: Likewise.
5917         Suggested by Bruno Haible.
5918
5919         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
5920         * tests/test-pread.sh: Write no data into the pipe, because
5921         test-pread actually reads none.  This avoids a diagnostic,
5922         "bash: echo: write error: Broken pipe", that arises in the unusual
5923         event something is ignoring SIGPIPE, and might be interpreted
5924         as some sort of failure.  Reported by Bruno Haible.
5925
5926 2009-11-25  Jim Meyering  <meyering@redhat.com>
5927
5928         test-pread: cover failure with ESPIPE and EINVAL
5929         * tests/test-pread.c (main): Test for failure, too.
5930         * tests/test-pread.sh: Invoke with stdin on a pipe.
5931         Suggested by Eric Blake.
5932
5933         pread: improvement and fix
5934         * modules/pread (Depends-on): Depend on lseek, for portability to
5935         e.g., mingw.  Suggested by Eric Blake.
5936         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
5937
5938         unistd.in.h: correct declaration of pread
5939         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
5940         Reported by Richard W.M. Jones.
5941
5942         test-pread.sh: distribute the test script
5943         * modules/pread-tests (Files): Include test-pread.sh.
5944
5945         test-pread.sh: clean up
5946         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
5947         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
5948         That is unnecessary, since it's always ".".
5949         Suggestion from Eric Blake.
5950
5951         test-pread.sh: make executable
5952         * tests/test-pread.sh: Set executable bit.
5953         Reported by Eric Blake.
5954
5955         correct typo in test-pread.sh
5956         * tests/test-pread.sh: Add #! line.
5957
5958         test pread
5959         * tests/test-pread.c: New file.
5960         * tests/test-pread.sh: Likewise.
5961         * modules/pread-tests: Likewise.
5962
5963         pread: new module
5964         * modules/pread: New file.
5965         * lib/unistd.in.h (pread): Define/declare.
5966         * lib/pread.c (pread): New file.
5967         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
5968         * modules/unistd (Makefile.am): Substitute witnesses.
5969         * doc/posix-functions/pread.texi (pread): Update.
5970         * MODULES.html.sh: Add pread.
5971
5972 2009-11-25  Jim Meyering  <meyering@redhat.com>
5973
5974         tests/init.sh: new file to be used via most *.sh tests
5975         * tests/init.sh: New file.
5976
5977 2009-11-25  Eric Blake  <ebb9@byu.net>
5978
5979         utimens: work around older Linux failure with symlinks
5980         * lib/utimens.c (lutimensat_works_really): New variable.
5981         (fdutimens, lutimens): Use it to manage kernels that support
5982         nanosecond times on files, but not on symlinks.
5983         Reported by OndÅ™ej Vašík.
5984
5985         utimes: fix configure grammar
5986         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
5987
5988 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
5989
5990         regex: Fix fastmap for multibyte character ranges.
5991         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
5992         characters when a multibyte character range is included.
5993
5994 2009-11-22  Andy Wingo  <wingo@pobox.com>
5995
5996         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
5997         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
5998
5999 2009-11-24  Bruno Haible  <bruno@clisp.org>
6000
6001         doc: Most *_l functions exist in MacOS X 10.5.
6002         * doc/posix-functions/duplocale.texi: Update platforms list.
6003         * doc/posix-functions/freelocale.texi: Likewise.
6004         * doc/posix-functions/newlocale.texi: Likewise.
6005         * doc/posix-functions/uselocale.texi: Likewise.
6006         * doc/posix-functions/isalnum_l.texi: Likewise.
6007         * doc/posix-functions/isalpha_l.texi: Likewise.
6008         * doc/posix-functions/isblank_l.texi: Likewise.
6009         * doc/posix-functions/iscntrl_l.texi: Likewise.
6010         * doc/posix-functions/isdigit_l.texi: Likewise.
6011         * doc/posix-functions/isgraph_l.texi: Likewise.
6012         * doc/posix-functions/islower_l.texi: Likewise.
6013         * doc/posix-functions/isprint_l.texi: Likewise.
6014         * doc/posix-functions/ispunct_l.texi: Likewise.
6015         * doc/posix-functions/isspace_l.texi: Likewise.
6016         * doc/posix-functions/isupper_l.texi: Likewise.
6017         * doc/posix-functions/iswalnum_l.texi: Likewise.
6018         * doc/posix-functions/iswalpha_l.texi: Likewise.
6019         * doc/posix-functions/iswblank_l.texi: Likewise.
6020         * doc/posix-functions/iswcntrl_l.texi: Likewise.
6021         * doc/posix-functions/iswctype_l.texi: Likewise.
6022         * doc/posix-functions/iswdigit_l.texi: Likewise.
6023         * doc/posix-functions/iswgraph_l.texi: Likewise.
6024         * doc/posix-functions/iswlower_l.texi: Likewise.
6025         * doc/posix-functions/iswprint_l.texi: Likewise.
6026         * doc/posix-functions/iswpunct_l.texi: Likewise.
6027         * doc/posix-functions/iswspace_l.texi: Likewise.
6028         * doc/posix-functions/iswupper_l.texi: Likewise.
6029         * doc/posix-functions/iswxdigit_l.texi: Likewise.
6030         * doc/posix-functions/isxdigit_l.texi: Likewise.
6031         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
6032         * doc/posix-functions/strcasecmp_l.texi: Likewise.
6033         * doc/posix-functions/strcoll_l.texi: Likewise.
6034         * doc/posix-functions/strfmon_l.texi: Likewise.
6035         * doc/posix-functions/strftime_l.texi: Likewise.
6036         * doc/posix-functions/strncasecmp_l.texi: Likewise.
6037         * doc/posix-functions/strxfrm_l.texi: Likewise.
6038         * doc/posix-functions/tolower_l.texi: Likewise.
6039         * doc/posix-functions/toupper_l.texi: Likewise.
6040         * doc/posix-functions/towctrans_l.texi: Likewise.
6041         * doc/posix-functions/towlower_l.texi: Likewise.
6042         * doc/posix-functions/towupper_l.texi: Likewise.
6043         * doc/posix-functions/wcscoll_l.texi: Likewise.
6044         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
6045         * doc/posix-functions/wctrans_l.texi: Likewise.
6046         * doc/posix-functions/wctype_l.texi: Likewise.
6047         * doc/glibc-functions/strptime_l.texi: Likewise.
6048         * doc/glibc-functions/strtod_l.texi: Likewise.
6049         * doc/glibc-functions/strtof_l.texi: Likewise.
6050         * doc/glibc-functions/strtol_l.texi: Likewise.
6051         * doc/glibc-functions/strtold_l.texi: Likewise.
6052         * doc/glibc-functions/strtoll_l.texi: Likewise.
6053         * doc/glibc-functions/strtoul_l.texi: Likewise.
6054         * doc/glibc-functions/strtoull_l.texi: Likewise.
6055         * doc/glibc-functions/wcsftime_l.texi: Likewise.
6056         * doc/glibc-functions/wcstod_l.texi: Likewise.
6057         * doc/glibc-functions/wcstof_l.texi: Likewise.
6058         * doc/glibc-functions/wcstol_l.texi: Likewise.
6059         * doc/glibc-functions/wcstold_l.texi: Likewise.
6060         * doc/glibc-functions/wcstoll_l.texi: Likewise.
6061         * doc/glibc-functions/wcstoul_l.texi: Likewise.
6062         * doc/glibc-functions/wcstoull_l.texi: Likewise.
6063
6064 2009-11-24  Bruno Haible  <bruno@clisp.org>
6065
6066         duplocale: Fix logic bug.
6067         * lib/duplocale.c: Don't include <langinfo.h>.
6068         (_NL_LOCALE_NAME): Remove macro.
6069         (rpl_duplocale): Use setlocale instead of nl_langinfo.
6070         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
6071
6072 2009-11-23  Jim Meyering  <meyering@redhat.com>
6073
6074         test-update-copyright: don't hard-code /usr/bin/perl
6075         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
6076         perl to print the current year.  Gilles Espinasse reported that
6077         the replaced use of perl was hard-coded as /usr/bin/perl.
6078
6079 2009-11-23  Bruno Haible  <bruno@clisp.org>
6080
6081         duplocale: Add support for glibc 2.3.x.
6082         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
6083
6084 2009-11-22  Bruno Haible  <bruno@clisp.org>
6085
6086         vasnprintf: Tiny optimization.
6087         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
6088         MacOS X.
6089
6090 2009-11-22  Bruno Haible  <bruno@clisp.org>
6091
6092         Tests for module 'duplocale'.
6093         * modules/duplocale-tests: New file.
6094         * tests/test-duplocale.c: New file.
6095
6096         New module 'duplocale'.
6097         * m4/duplocale.m4: New file.
6098         * lib/locale.in.h (duplocale): New declaration.
6099         * lib/duplocale.c: New file.
6100         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
6101         gl_LOCALE_H_DEFAULTS): New macros.
6102         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
6103         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
6104         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
6105         REPLACE_DUPLOCALE.
6106         * modules/duplocale: New file.
6107         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
6108
6109 2009-11-22  Bruno Haible  <bruno@clisp.org>
6110
6111         * modules/locale-tests (configure.ac): Test for newlocale function.
6112         * tests/test-locale.c: When the system has extended locale functions,
6113         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
6114
6115         locale: Make locale_t available when possible.
6116         * lib/locale.in.h: Include <xlocale.h> when it exists.
6117         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
6118         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
6119         * modules/locale (Depends-on): Add extensions.
6120         (Makefile.am): Also substitute HAVE_XLOCALE_H.
6121         * doc/posix-headers/locale.texi: Document the problem with locale_t.
6122
6123 2009-11-22  Bruno Haible  <bruno@clisp.org>
6124
6125         Add comments.
6126         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
6127         invocation.
6128         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
6129         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6130         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
6131
6132 2009-11-22  Bruno Haible  <bruno@clisp.org>
6133
6134         error: account for the possibility of freopen (stdout).
6135         * lib/error.c: Include <unistd.h>.
6136         (flush_stdout): New function, extracted from error and error_at_line.
6137         Determine stdout's fd dynamically.
6138         (error, error_at_line): Invoke flush_stdout.
6139         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
6140         * modules/error (Depends-on): Add unistd.
6141
6142 2009-11-22  Bruno Haible  <bruno@clisp.org>
6143
6144         diffseq: Add comment.
6145         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
6146
6147 2009-11-22  Jim Meyering  <meyering@redhat.com>
6148
6149         c-stack: avoid defining an unused static function
6150         * lib/c-stack.c (find_stack_direction): Do not define this function
6151         when it will not be used.
6152
6153         diffseq: avoid spurious gcc warnings
6154         * lib/diffseq.h (IF_LINT2): Define.
6155         (compareseq): Use it to initialize two members of "part".
6156         This avoids two used-uninitialized warnings.
6157
6158 2009-11-21  Jim Meyering  <meyering@redhat.com>
6159
6160         c-stack: avoid "ignoring return value of `write'" warning
6161         * lib/c-stack.c: Include "ignore-value.h".
6162         (die): Explicitly ignore each write return value.
6163         * modules/c-stack (Depends-on): Add ignore-value.
6164
6165 2009-11-21  Bruno Haible  <bruno@clisp.org>
6166
6167         diffseq: reduce scope of variable 'best'.
6168         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
6169         variable, earlier used for two different purposes.
6170
6171 2009-11-21  Jim Meyering  <meyering@redhat.com>
6172
6173         diffseq: remove useless assignment to "best"
6174         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
6175         assignment.  At that point "best" is already guaranteed to be zero.
6176
6177 2009-11-20  Eric Blake  <ebb9@byu.net>
6178
6179         build: mention ftp redirector in release announcements
6180         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
6181         values that used to come from cfg.mk; mention FTP redirect URL.
6182         * build-aux/announce-gen: Mention the mirror list.
6183         Suggested by Karl Berry.
6184
6185         nanosleep: improve port to mingw
6186         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
6187         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
6188         LIB_NANOSLEEP, but only when needed.
6189         * modules/select (Link): Document LIBSOCKET.
6190         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
6191         enough.
6192
6193         nanosleep: work around cygwin bug
6194         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
6195         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
6196         bug.
6197         (getnow): Delete, not needed.
6198         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
6199         LIB_CLOCK_GETTIME.
6200         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
6201         clock-time, gettime.
6202         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
6203         bug.
6204         * modules/nanosleep-tests: New test.
6205         * tests/test-nanosleep.c: New file.
6206
6207         sleep: work around cygwin bug
6208         * lib/sleep.c (rpl_sleep): Work around the bug.
6209         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
6210         (gl_PREREQ_SLEEP): Delete unused macro.
6211         * modules/sleep (Depends-on): Add verify.
6212         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
6213         * modules/unistd (Makefile.am): Substitute witness.
6214         * lib/unistd.in.h (sleep): Update prototype.
6215         * doc/posix-functions/sleep.texi (sleep): Document the bug.
6216         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
6217         * modules/sleep-tests (Depends-on): Check for alarm.
6218
6219 2009-11-20  Jim Meyering  <meyering@redhat.com>
6220
6221         maint.mk: improve sc_prohibit_magic_number_exit
6222         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
6223         so it does not match uses like System.exit(1).
6224         Add comments showing how to correct all offenders.
6225
6226 2009-11-19  Eric Blake  <ebb9@byu.net>
6227
6228         xalloc-die-tests: add missing library
6229         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
6230
6231         test-xvasprintf: silence compiler warnings
6232         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
6233         empty string from gcc.
6234
6235 2009-11-19  Jim Meyering  <meyering@redhat.com>
6236
6237         xfreopen: new module, from coreutils
6238         * modules/xfreopen: New module.
6239         * lib/xfreopen.c: New file.
6240         * lib/xfreopen.h: New file.
6241         * MODULES.html.sh (File stream based Input/Output"): Add it.
6242
6243 2009-11-19  Eric Blake  <ebb9@byu.net>
6244
6245         manywarnings: depend on warnings
6246         * modules/manywarnings (Depends-on): Add warnings.
6247
6248         build: avoid compiler warnings
6249         * lib/select.c (rpl_select): Delete unused variable.
6250         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
6251
6252 2009-11-18  Eric Blake  <ebb9@byu.net>
6253
6254         tests: avoid false negative with --with-packager
6255         * tests/test-version-etc.sh: Discard packager information.
6256         * tests/test-argp-version-etc-1.sh: Likewise.
6257         Reported by Mike Frysinger.
6258
6259         utimens: fix regression on Solaris
6260         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
6261         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
6262         can only change fd timestamps via futimesat.  Instead, use an
6263         additional witness macro to avoid BSD bug.
6264         Reported by Jim Meyering.
6265
6266 2009-11-17  Eric Blake  <ebb9@byu.net>
6267
6268         usleep: use it to simplify tests
6269         * modules/stat-time-tests (Depends-on): Add usleep.
6270         (configure.ac): Drop usleep check.
6271         * modules/chown-tests (Depends-on, configure.ac): Likewise.
6272         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
6273         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
6274         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
6275         * modules/openat-tests (Depends-on, configure.ac): Likewise.
6276         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
6277         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
6278         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
6279         Likewise.
6280         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
6281         * tests/test-lchown.h (nap): Likewise.
6282         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
6283         * tests/test-stat-time.c (nap): Likewise.
6284         * tests/test-utimens-common.h (nap): Update comments.
6285
6286         usleep: new module
6287         * modules/usleep: New file.
6288         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
6289         * lib/usleep.c (usleep): Likewise.
6290         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
6291         * modules/unistd (Makefile.am): Substitute witnesses.
6292         * lib/unistd.in.h (usleep): Add declaration.
6293         * doc/pastposix-functions/usleep.texi (usleep): Document this.
6294         * MODULES.html.sh (Date and time): Likewise.
6295         * modules/usleep-tests (Depends-on): New test.
6296         * tests/test-usleep.c: New file.
6297
6298         chown: work around OpenBSD bug
6299         * lib/chown.c (rpl_chown): Work around the bug.
6300         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
6301         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
6302         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
6303         * modules/chown (Depends-on): Add stdbool.
6304         * modules/lchown (Depends-on): Likewise.
6305         * doc/posix-functions/chown.texi (chown): Document the bug.
6306         * doc/posix-functions/lchown.texi (lchown): Likewise.
6307         * tests/test-lchown.h (test_chown): Relax test.
6308
6309         mkstemp: avoid conflict with C++ keyword template
6310         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
6311         * lib/mkostemp.c (mkostemp): Likewise.
6312         * lib/mkostemps.c (mkostemps): Likewise.
6313         * lib/mkstemp.c (mkstemp): Likewise.
6314         * lib/mkstemps.c (mkstemps): Likewise.
6315
6316         xalloc-die-tests: optimize
6317         * tests/test-xalloc-die.sh: Reduce number of processes.
6318
6319 2009-11-17  Simon Josefsson  <simon@josefsson.org>
6320
6321         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
6322         patch from ludo@gnu.org (Ludovic Courtès).
6323
6324 2009-11-17  Jim Meyering  <meyering@redhat.com>
6325
6326         version-etc: use proper license string
6327         * modules/version-etc (License): Use LGPL, not LGPLv3+.
6328         * modules/version-etc-fsf: Likewise.
6329
6330 2009-11-17  Simon Josefsson  <simon@josefsson.org>
6331
6332         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
6333         printed to stdout.  Deal with EOL differences.
6334
6335 2009-11-17  Eric Blake  <ebb9@byu.net>
6336
6337         unsetenv: work around Solaris bug
6338         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
6339         * lib/unsetenv.c (rpl_unsetenv): Work around it.
6340         Reported by Jim Meyering.
6341
6342         vasnprintf: avoid compiler warnings
6343         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
6344         variables.
6345         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
6346
6347 2009-11-17  Simon Josefsson  <simon@josefsson.org>
6348
6349         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
6350         settings since xalloc-die is no longer the self test,
6351         xalloc-die.sh is.
6352
6353 2009-11-17  Jim Meyering  <meyering@redhat.com>
6354
6355         test-xalloc-die.sh: make the code agree with the commit log
6356         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
6357         at the end, just in case you happen to have a test-xalloc-die
6358         program in some other PATH directory.
6359
6360         test-xalloc-die.sh: fix a portability bug
6361         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
6362         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
6363         Otherwise, argv[0] (as often seen in diagnostics) would be too
6364         system-dependent, sometimes with, and sometimes without the leading "./".
6365
6366         version-etc-fsf: relax license to LGPLv3+
6367         * modules/version-etc-fsf (License): Relax license.
6368
6369 2009-11-16  Eric Blake  <ebb9@byu.net>
6370
6371         xalloc-die-tests: avoid printing null pointer
6372         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
6373         shell script.
6374         * tests/test-xalloc-die.c (program_name): Declare.
6375         * tests/test-xalloc-die.sh (tmpfiles): New file.
6376
6377         setenv, unsetenv: work around various bugs
6378         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
6379         (setenv) [HAVE_SETENV]: Work around bugs.
6380         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
6381         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
6382         for bugs.
6383         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
6384         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
6385         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
6386         * modules/stdlib (Makefile.am): Update substitutions.
6387         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
6388         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
6389         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
6390         * modules/setenv-tests: New test.
6391         * modules/unsetenv-tests: Likewise.
6392         * tests/test-setenv.c: New file.
6393         * tests/test-unsetenv.c: Likewise.
6394
6395 2009-11-16  Jim Meyering  <meyering@redhat.com>
6396
6397         version-etc: relax license to LGPLv3+
6398         * modules/version-etc (License): Relax license.
6399
6400         better AC_REQUIRE expanded-before-required-warning avoidance
6401         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
6402         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
6403         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
6404         which is no longer needed.
6405
6406 2009-11-16  Eric Blake  <ebb9@byu.net>
6407
6408         test-freading: clean up temporary file
6409         * tests/test-freading.c (main): Remove file on success, and use
6410         ASSERT more liberally.
6411         Reported by Jim Meyering.
6412
6413 2009-11-16  Jim Meyering  <meyering@redhat.com>
6414
6415         avoid new AC_REQUIRE expanded-before-required warnings
6416         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
6417         merely using it.
6418         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
6419         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
6420
6421 2009-11-15  Simon Josefsson  <simon@josefsson.org>
6422
6423         * tests/test-xalloc-die.c: New file.
6424         * modules/xalloc-die-tests: New file.
6425         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
6426         XFAIL_TESTS so it can be appended by modules.
6427
6428 2009-11-15  Simon Josefsson  <simon@josefsson.org>
6429
6430         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
6431         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
6432
6433 2009-11-14  Eric Blake  <ebb9@byu.net>
6434
6435         fnmatch: avoid compiler warning
6436         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
6437         to silence compiler warning about mismatch signedness in ?:.
6438         Reported by Robert Millan.
6439
6440         intprops: add double-inclusion guard
6441         * lib/intprops.h: Allow idempotent includes.
6442         Suggested by Bruce Korb.
6443
6444         openat: detect Solaris fchownat bug
6445         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
6446         penalizing glibc chownat when only lchownat is broken.
6447         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
6448         trailing slash bugs.
6449         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
6450         * modules/openat-tests (Files): Include more files.
6451         (Depends-on): Add mgetgroups, sleep, stat-time.
6452         (configure.ac): Add additional checks.
6453         (Makefile.am): Build new test.
6454         * tests/test-fchownat.c: New file.
6455
6456         lchown: detect Solaris and FreeBSD bug
6457         * lib/lchown.c (rpl_lchown): Work around bug.
6458         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
6459         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
6460         * modules/unistd (Makefile.am): Populate it.
6461         * lib/unistd.in.h (lchown): Update declaration.
6462         * doc/posix-functions/lchown.texi (lchown): Document the bug.
6463         * modules/lchown-tests: New file.
6464         * tests/test-lchown.h (test_lchown): Likewise.
6465         * tests/test-lchown.c (main): Likewise.
6466
6467         chown: detect Solaris and FreeBSD bug
6468         * lib/chown.c (rpl_chown): Work around bug.
6469         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
6470         (gl_PREREQ_CHOWN): Delete.
6471         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
6472         * modules/unistd (Makefile.am): Populate it.
6473         * lib/unistd.in.h (chown): Update declaration.
6474         * lib/lchown.c (chown): Update client.
6475         * modules/lchown (Depends-on): Add lstat.
6476         * doc/posix-functions/chown.texi (chown): Document the bug.
6477         * doc/posix-functions/getgroups.texi (getgroups): Document
6478         getgroups pitfall.
6479         * modules/chown-tests: New file.
6480         * tests/test-chown.h (test_chown): Likewise.
6481         * tests/test-chown.c (main): Likewise.
6482
6483 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
6484
6485         gnulib-tool: correctly detect absence of m4 directories
6486         * gnulib-tool: Avoid extra newline on data passed to wc -l.
6487
6488 2009-11-14  Jim Meyering  <meyering@redhat.com>
6489
6490         maint.mk: Prohibit inclusion of "xalloc.h" without use.
6491         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
6492
6493 2009-11-14  John W. Eaton  <jwe@gnu.org>
6494
6495         strftime.h: wrap funtion declaration in extern "C" block
6496         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
6497
6498 2009-11-13  Eric Blake  <ebb9@byu.net>
6499
6500         getgroups: avoid compiler warning
6501         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
6502
6503         getgroups: work around FreeBSD bug
6504         * lib/getgroups.c (rpl_getgroups): Work around the bug.
6505         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
6506         * doc/posix-functions/getgroups.texi (getgroups): Document it.
6507         * tests/test-getgroups.c (main): Fix buffer overrun.
6508
6509         getgroups: avoid compilation failure
6510         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
6511         * modules/getgroups (Depends-on): Add stdint.
6512
6513 2009-11-13  Jim Meyering  <meyering@redhat.com>
6514
6515         test-getgroups: avoid compilation failure
6516         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
6517
6518 2009-11-13  Eric Blake  <ebb9@byu.net>
6519
6520         mgetgroups: new module, taken from coreutils
6521         * modules/mgetgroups: New file.
6522         * lib/mgetgroups.h: Likewise.
6523         * lib/mgetgroups.c (mgetgroups): Likewise.
6524         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
6525         * MODULES.html.sh (Users and groups): Mention it.
6526
6527         getgroups: don't expose GETGROUPS_T to user
6528         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
6529         an element at a time if GETGROUPS_T is wrong size.
6530         * lib/getugroups.h (getugroups): Change signature.
6531         * lib/unistd.in.h (getgroups): Likewise.
6532         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
6533         signature needs fixing.
6534         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
6535         AC_TYPE_GETGROUPS.
6536         * modules/group-member (Depends-on): Add getgroups.
6537         * lib/group-member.c (group_info, get_group_info): Use gid_t.
6538         (group_member): Rely on getgroups replacement.
6539         * lib/getugroups.c (getugroups): Use gid_t.
6540         * tests/test-getgroups.c (main): Likewise.
6541         * NEWS: Mention the signature change.
6542         * doc/posix-functions/getgroups.texi (getgroups): Mention the
6543         problem with signature.
6544         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
6545         GETGROUPS_T is still useful for setgroups.
6546
6547         getgroups, getugroups: provide stubs for mingw
6548         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
6549         * lib/getugroups.c (getugroups): Likewise.
6550         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
6551         function.  Modernize replacement scheme.
6552         (gl_PREREQ_GETGROUPS): Delete.
6553         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
6554         * modules/getgroups (configure.ac): Declare witness.
6555         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
6556         * modules/unistd (Depends-on): Substitute witness.
6557         * lib/unistd.in.h (getgroups): Declare replacement.
6558
6559         getgroups: avoid calling exit
6560         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
6561         drop xalloc.
6562         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
6563         dependencies.
6564         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
6565         exiting, in the rare case of malloc failure.
6566
6567         getgroups: fix logic error
6568         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
6569         has more than 20 groups.
6570         * modules/getgroups-tests: New test.
6571         * tests/test-getgroups.c: New file.
6572
6573 2009-11-13  Simon Josefsson  <simon@josefsson.org>
6574
6575         * tests/test-base64.c: Improve.
6576
6577 2009-11-13  Simon Josefsson  <simon@josefsson.org>
6578
6579         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
6580         Blake <ebb9@byu.net>.
6581
6582 2009-11-13  Simon Josefsson  <simon@josefsson.org>
6583
6584         * tests/test-xvasprintf.c: Add %s%s related checks.
6585
6586 2009-11-12  Eric Blake  <ebb9@byu.net>
6587
6588         version-etc: match standards.texi style
6589         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
6590         and use <> only for URLs.
6591
6592 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
6593
6594         fts: do not fail on a submount during traversal
6595         * lib/fts.c (fts_build): Read the stat info again after opening
6596         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
6597         Original report at http://bugzilla.redhat.com/501848.
6598
6599 2009-11-12  Jim Meyering  <meyering@redhat.com>
6600
6601         bootstrap: sync from coreutils
6602         * build-aux/bootstrap (bootstrap_epilogue): New function.
6603         Use git_modules_config in one more place.  This make bootstrap's
6604         --gnulib-srcdir option more useful for testing.
6605
6606         bootstrap: generalize autoheader check
6607         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
6608         AC_CONFIG_HEADERS.
6609
6610 2009-11-11  Eric Blake  <ebb9@byu.net>
6611
6612         mkfifoat: use new modules for Solaris and BSD bugs
6613         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
6614         * lib/mkfifoat.c (mknodat): Split...
6615         * lib/mknodat.c (mknodat): ...into new file.
6616         * modules/mkfifoat (Files): Ship new file.
6617         (Depends-on): Add mkfifo, mknod.
6618         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
6619         (Depends-on): Add symlink.
6620         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
6621         redundant with test_mkfifo.h.
6622         (do_mkfifoat, do_mknodat): New helpers.
6623
6624         mknod: new module
6625         * modules/mknod: New file.
6626         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
6627         * lib/mknod.c (mknod): Likewise.
6628         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
6629         defaults.
6630         * modules/sys_stat (Makefile.am): Substitute them.
6631         * lib/sys_stat.in.h (mknod): Declare replacement.
6632         * MODULES.html.sh (Support for systems lacking POSIX:2008):
6633         Document it.
6634         * doc/posix-functions/mknod.texi (mknod): Likewise.
6635         * modules/mknod-tests: New test.
6636         * tests/test-mknod.c: Likewise.
6637
6638         mkfifo: new module
6639         * modules/mkfifo: New file.
6640         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
6641         * lib/mkfifo.c (mkfifo): Likewise.
6642         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
6643         defaults.
6644         * modules/sys_stat (Makefile.am): Substitute them.
6645         * lib/sys_stat.in.h (mkfifo): Declare replacement.
6646         * MODULES.html.sh (Support for systems lacking POSIX:2008):
6647         Document it.
6648         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
6649         * modules/mkfifo-tests: New test.
6650         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
6651         from test-mkfifoat.c.
6652         * tests/test-mkfifo.c: New file.
6653
6654         readlink: detect FreeBSD bug
6655         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
6656         slash on symlink.
6657         * doc/posix-functions/readlink.texi (readlink): Document the bug.
6658         * tests/test-readlink.h (test_readlink): Enhance test.
6659
6660         symlink: detect FreeBSD bug
6661         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
6662         slash on symlink.
6663         * doc/posix-functions/symlink.texi (symlink): Document the bug.
6664         * tests/test-symlink.h (test_symlink): Enhance test.
6665
6666 2009-11-10  Eric Blake  <ebb9@byu.net>
6667
6668         link: detect FreeBSD bug
6669         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
6670         symlink.
6671         * doc/posix-functions/link.texi (link): Document the bug.
6672         * tests/test-link.h (test_link): Enhance test.
6673         * tests/test-linkat.c (main): Update caller.
6674
6675         unlink, remove: detect FreeBSD bug
6676         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
6677         slash on symlink.
6678         * doc/posix-functions/unlink.texi (unlink): Document the bug.
6679         * doc/posix-functions/remove.texi (remove): Likewise.
6680         * tests/test-unlink.h (test_unlink): Enhance test.
6681         * tests/test-remove.c (main): Likewise.
6682
6683 2009-11-09  Eric Blake  <ebb9@byu.net>
6684
6685         rename: detect FreeBSD bug
6686         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
6687         slash on symlink.
6688         * modules/renameat-tests (Depends-on): Add filenamecat.
6689         * tests/test-rename.h (test_rename): Allow one more errno.
6690         * tests/test-renameat.c (main): Likewise.
6691         * doc/posix-functions/rename.texi (rename): Document the bug.
6692
6693         open: detect FreeBSD bug
6694         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
6695         symlink.
6696         * doc/posix-functions/open.texi (open): Document the bug.
6697         * doc/posix-functions/utimes.texi (utimes): Likewise.
6698         * tests/test-open.h (test_open): Add parameters, and test symlink
6699         handling.
6700         * tests/test-open.c (main): Adjust caller.
6701         * tests/test-fcntl-safer.c (main): Likewise.
6702         * modules/open-tests (Depends-on): Add stdbool, symlink.
6703         * modules/fcntl-safer-tests (Depends-on): Likewise.
6704         * tests/test-openat.c (main): Add test-open tests.
6705
6706         stat: detect FreeBSD bug
6707         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
6708         symlink.
6709         * doc/posix-functions/stat.texi (stat): Document the bug.
6710         * tests/test-stat.h (test_stat_func): Add argument.
6711         * tests/test-stat.c (main): Adjust caller.
6712         * tests/test-fstatat.c (main): Likewise.
6713         * modules/stat-tests (Depends-on): Add stdbool, symlink.
6714         Reported by Jim Meyering.
6715
6716 2009-11-09  James Youngman  <jay@gnu.org>
6717
6718         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
6719         * lib/strftime.c: Correct placement of #include "ignore-value.h".
6720
6721 2009-11-08  Jim Meyering  <meyering@redhat.com>
6722
6723         utimens: remove invalid futimesat call
6724         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
6725         It used the file descriptor of the target file as the DIR_FD
6726         parameter and NULL as the file name.  That caused failure with
6727         errno == EFAULT on FreeBSD-8.0-rc2
6728
6729 2009-11-07  Eric Blake  <ebb9@byu.net>
6730
6731         fflush, freadseek: use fseeko, not fseek
6732         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
6733         (clear_ungetc_buffer): Avoid potential problems on large files.
6734         * lib/freadseek.c (freadseek): Likewise.
6735         * modules/freadseek (Depends-on): Add fseeko.
6736         * modules/fseek (configure.ac): Set a witness.
6737         * tests/test-fflush.c (main): Use fseeko.
6738         * tests/test-fpurge.c (fseek): Disable link warning.
6739         * tests/test-freadable.c (fseek): Likewise.
6740         * tests/test-freading.c (fseek): Likewise.
6741         * tests/test-fseeko.c (fseek): Likewise.
6742         * tests/test-ftell.c (fseek): Likewise.
6743         * tests/test-ftello.c (fseek): Likewise.
6744         * tests/test-fwritable.c (fseek): Likewise.
6745         * tests/test-fwriting.c (fseek): Likewise.
6746
6747 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6748
6749         * modules/memchr (Depends-on): Drop getpagesize dependency.
6750
6751 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6752
6753         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
6754         Reported by Ludovic Courtès.
6755         * build-aux/pmccabe2html: Improve example usage.
6756         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
6757
6758 2009-11-06  Jim Meyering  <meyering@redhat.com>
6759
6760         do-release-commit-and-tag: New module.
6761         Automate the release-commit and tag process.
6762         * build-aux/do-release-commit-and-tag: New script, from coreutils.
6763         * modules/do-release-commit-and-tag: New file.
6764         * MODULES.html.sh (Support for maintaining and releasing): Add it.
6765
6766 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6767
6768         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
6769         because test-select.c uses inet_pton.
6770
6771 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6772
6773         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
6774         GETADDRINFO_LIB.  Bump serial number.
6775         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
6776         Suggested by Eric Blake <ebb9@byu.net>.
6777
6778 2009-11-05  Eric Blake  <ebb9@byu.net>
6779
6780         strtod: detect darwin bug
6781         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
6782         Reported by Leo Davis.
6783
6784         freopen-safer: new module
6785         * modules/freopen-safer: New module.
6786         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
6787         * lib/freopen-safer.c (freopen_safer): New file.
6788         * lib/stdio-safer.h (freopen_safer): New declaration.
6789         * lib/stdio--.h (freopen): New override.
6790         * MODULES.html.sh (File stream based Input/Output): Mention it.
6791         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
6792         freopen-safer module.
6793         * doc/posix-functions/stderr.texi (stderr): Likewise.
6794         * doc/posix-functions/stdin.texi (stdin): Likewise.
6795         * doc/posix-functions/stdout.texi (stdout): Likewise.
6796         * modules/freopen-safer-tests: New test.
6797         * tests/test-reopen-safer.c: New file.
6798
6799 2009-11-05  Jim Meyering  <meyering@redhat.com>
6800
6801         maint.mk: Prohibit inclusion of "close-stream.h" without use.
6802         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
6803
6804 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6805
6806         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
6807
6808 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6809
6810         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
6811
6812 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6813
6814         Fix link error.
6815         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
6816         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
6817
6818 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6819
6820         * tests/test-func.c: Also test value of __func__.
6821
6822 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6823
6824         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
6825         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
6826
6827 2009-11-05  Bruno Haible  <bruno@clisp.org>
6828
6829         Fix link error.
6830         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
6831         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
6832         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
6833
6834 2009-11-05  Bruno Haible  <bruno@clisp.org>
6835
6836         Tests for module 'inet_pton'.
6837         * modules/inet_pton-tests: New file.
6838         * tests/test-inet_pton.c: New file.
6839
6840 2009-11-05  Bruno Haible  <bruno@clisp.org>
6841
6842         Tests for module 'inet_ntop'.
6843         * modules/inet_ntop-tests: New file.
6844         * tests/test-inet_ntop.c: New file.
6845
6846 2009-11-04  Eric Blake  <ebb9@byu.net>
6847
6848         stdlib-safer: wrap all mkstemp variants
6849         * modules/mkostemp (configure.ac): Set witness.
6850         * modules/mkostemps (configure.ac): Likewise.
6851         * modules/mkstemps (configure.ac): Likewise.
6852         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
6853         (mkstemps_safer): Wrap more functions.
6854         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
6855         wrapping.
6856         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
6857         (mkstemps_safer): Implement the wrappers.
6858
6859         mkstemps, mkostemps: new modules
6860         * modules/mkostemps: New module.
6861         * modules/mkstemps: Likewise.
6862         * lib/mkostemps.c (mkostemps): New file.
6863         * lib/mkstemps.c (mkstemps): Likewise.
6864         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
6865         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
6866         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
6867         * modules/stdlib (Makefile.am): Substitute them.
6868         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
6869         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
6870         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
6871         * doc/gnulib.texi (Glibc stdlib.h): Include them.
6872         * MODULES.html.sh (File system functions): Mention them.
6873
6874         tempname: resync from glibc
6875         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
6876         same values for __GT_FILE as glibc.  Abort even when assertions
6877         are disabled.
6878         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
6879         match its value otherwise.  Allow idempotent inclusion.
6880         * lib/mkdtemp.c (mkdtemp): Adjust caller.
6881         * lib/mkostemp.c (mkostemp): Likewise.
6882         * lib/mkstemp.c (mkstemp): Likewise.
6883         * lib/tmpfile.c (tmpfile): Likewise.
6884         * NEWS: Document this.
6885
6886         utimens: fix use of futimens on older Linux
6887         * lib/utimens.c (fdutimens): Use updated, rather than original,
6888         timespec to avoid bug in older Linux kernel.
6889         Reported by Simon Josefsson.
6890
6891 2009-11-04  Bruno Haible  <bruno@clisp.org>
6892
6893         Make num_processors more flexible and consistent.
6894         * lib/nproc.h (enum nproc_query): New type.
6895         (num_processors): Add a 'query' argument.
6896         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
6897         (num_processors): Add a 'query' argument. Test the value of the
6898         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
6899         mingw, count the number of CPUs available for the current process.
6900         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
6901         Check for sched_getaffinity and sched_getaffinity_np.
6902         * modules/nproc (Depends-on): Add c-ctype, extensions.
6903         * NEWS: Mention the change.
6904
6905 2009-11-03  Bruno Haible  <bruno@clisp.org>
6906
6907         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
6908
6909 2009-11-03  Jim Meyering  <meyering@redhat.com>
6910
6911         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
6912         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
6913         if it is defined.
6914
6915 2009-11-02  Eric Blake  <ebb9@byu.net>
6916
6917         mktime, timegm: share common declaration
6918         * lib/mktime-internal.h: New file.
6919         * lib/mktime.c: Use it rather than open-coding a declaration.
6920         * lib/timegm.c: Likewise.
6921         * modules/mktime (Files): Ship it.
6922         * modules/timegm (Files): Likewise.
6923         Suggested by Bruno Haible.
6924
6925         test-update-copyright: update test to match script changes
6926         * tests/test-update-copyright.sh: Avoid hard-coding perl
6927         location.  Don't update *.bak created by earlier runs.
6928
6929 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
6930             Simon Josefsson  <simon@josefsson.org>
6931             Bruno Haible  <bruno@clisp.org>
6932
6933         Fix link error on Solaris 8.
6934         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
6935         also in libnsl. Define also INET_PTON_LIB.
6936         * modules/inet_pton (Link): New section.
6937
6938 2009-11-02  Simon Josefsson  <simon@josefsson.org>
6939             Bruno Haible  <bruno@clisp.org>
6940
6941         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
6942         * modules/inet_ntop (Link): New section.
6943         Reported by Boyan Kasarov <bkasarov@gmail.com>.
6944
6945 2009-11-02  Eric Blake  <ebb9@byu.net>
6946
6947         maint: avoid compiler warnings in m4 macros
6948         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
6949         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
6950
6951 2009-11-02  Simon Josefsson  <simon@josefsson.org>
6952
6953         * m4/pmccabe2html.m4: Remove file.
6954         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
6955         function.  Change maintainer.
6956         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
6957         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
6958         Courtès).
6959
6960 2009-10-31  Eric Blake  <ebb9@byu.net>
6961
6962         fseeko: fix m4 regression
6963         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
6964         regression from 2009-10-27.
6965         Reported by Ralf Wildenhues.
6966
6967 2009-10-31  Jim Meyering  <meyering@redhat.com>
6968
6969         inttostr: aesthetics and improved (compile-time) safety
6970         Define inttype_is_signed rather than inttype_is_unsigned,
6971         since the sole use is via "#if inttype_is_signed".
6972         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
6973         inttype_is_unsigned.
6974         * lib/offtostr.c (inttype_is_signed): Likewise.
6975         * lib/uinttostr.c (inttype_is_signed): Likewise.
6976         * lib/umaxtostr.c (inttype_is_signed): Likewise.
6977         * lib/inttostr.c (inttostr): Use verify to cross-check the
6978         inttype_is_signed value and the signedness of the actual type.
6979         * modules/inttostr (Depends-on): Add verify.
6980
6981 2009-10-30  Eric Blake  <ebb9@byu.net>
6982
6983         build: avoid compiler warnings
6984         * lib/fchmodat.c (lchmod): Mark unused variables.
6985         * lib/getopt.c (_getopt_initialize): Likewise.
6986         * lib/mktime.c (__mktime_internal): Provide prototype.
6987         * lib/inttostr.c (inttostr): Avoid compiler warning even with
6988         older gcc that do not understand #pragma GCC diagnostic.
6989         * lib/uinttostr.c (inttype_is_unsigned): Define.
6990         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
6991
6992 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
6993
6994         stat: fix compilation on AIX
6995         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
6996         only see struct stat64.
6997
6998 2009-10-30  Eric Blake  <ebb9@byu.net>
6999
7000         exclude: make more robust
7001         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
7002         rather than masking a coding bug.
7003         Suggested by Bruno Haible.
7004
7005 2009-10-30  Jim Meyering  <meyering@redhat.com>
7006
7007         perl scripts: remove #!/usr/bin/perl in favor of more portable...
7008         Rather than putting #!/usr/bin/perl on the first line,
7009         start with a variant of what's recommended by "man perlrun" that
7010         invokes the first "perl" program from your shell's search path.
7011         * build-aux/gitlog-to-changelog: Replace #!... as above.
7012         Add a "Local Variables" perl mode setting.
7013         Prompted by a patch from Ludovic Courtès.
7014         Improved by Eric Blake.
7015         * build-aux/useless-if-before-free: Likewise.
7016         * build-aux/announce-gen: Likewise.
7017         * build-aux/update-copyright: Likewise.
7018
7019 2009-10-29  Eric Blake  <ebb9@byu.net>
7020
7021         filenamecat-lgpl: adjust clients
7022         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
7023         filenamecat.
7024         * modules/renameat (Depends-on): Likewise.
7025
7026         filenamecat: split into filenamecat-lgpl
7027         * modules/filenamecat-lgpl: New module.
7028         * modules/filenamecat (Files): Move library-safe files into
7029         filenamecat-lgpl.
7030         (Depends-on): Add filenamecat-lgpl.
7031         (configure.ac): Declare witness.
7032         * lib/filenamecat.h (file_name_concat): Only declare when using
7033         GPL module.
7034         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
7035         Move...
7036         * lib/filenamecat-lgpl.c: ...into new file.
7037         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
7038         (gl_FILE_NAME_CONCAT): Use it.
7039         * MODULES.html.sh (File system functions): Mention new module.
7040
7041         argp: avoid memory leak
7042         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
7043         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
7044         base_name, since the latter malloc()s and can call exit().
7045         Leak introduced 2006-07-03.
7046
7047         dirname-lgpl: adjust clients that don't need full dirname
7048         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
7049         * modules/filenamecat (Depends-on): Likewise.
7050         * modules/linkat (Depends-on): Likewise.
7051         * modules/mkancesdirs (Depends-on): Likewise.
7052         * modules/mkdir (Depends-on): Likewise.
7053         * modules/openat (Depends-on): Likewise.
7054         * modules/savewd (Depends-on): Likewise.
7055         * modules/rename (Depends-on): Likewise.
7056         (License): Relax license.
7057         * modules/mkdir-tests (Depends-on): Drop progname.
7058         (Makefile.am): Delete unneeded LDADD.
7059         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
7060
7061         dirname: split into dirname-lgpl
7062         * modules/dirname-lgpl: New module.
7063         * modules/dirname (Files): Move library-safe files into
7064         dirname-lgpl.
7065         (Depends-on): Add dirname-lgpl.
7066         (configure.ac): Declare witness.
7067         * modules/double-slash-root (License): Relax license.
7068         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
7069         module.
7070         * lib/dirname.c (dir_len, mdir_name): Move...
7071         * lib/dirname-lgpl.c: ...into new file.
7072         * lib/basename.c (last_component, base_len): Move...
7073         * lib/basename-lgpl.c: ...into new file.
7074         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
7075         (gl_DIRNAME): Use it.
7076         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
7077         Mention new module.
7078         * modules/dirname-tests (Depends-on): Add progname.
7079         * tests/test-dirname.c (program_name): Delete.
7080
7081         mkdir: make safe for libraries
7082         * modules/mkdir (Depends-on): Drop xalloc.
7083         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
7084         exit.
7085
7086         tests: avoid some compiler warnings
7087         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
7088         literals.
7089         * tests/test-memchr.c (main): Avoid type mismatch.
7090         * tests/test-arpa_inet.c (main): Avoid unused parameters.
7091         * tests/test-base64.c (main): Likewise.
7092         * tests/test-getdelim.c (main): Likewise.
7093         * tests/test-gethostname.c (main): Likewise.
7094         * tests/test-getline.c (main): Likewise.
7095         * tests/test-netinet_in.c (main): Likewise.
7096         * tests/test-select.c (open_server_socket, main): Likewise.
7097         * tests/test-select-stdin.c (main): Likewise.
7098         * tests/test-sockets.c (main): Likewise.
7099         * tests/test-strsignal.c (main): Likewise.
7100         * tests/test-sys_select.c (main): Likewise.
7101         * tests/test-sys_socket.c (main): Likewise.
7102         * tests/test-u64.c (main): Likewise.
7103         * tests/test-xfprintf-posix.c (main): Likewise.
7104         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
7105
7106         sockets: avoid compiler warning
7107         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
7108
7109         maint: detect usage(1) and other suspicious exits
7110         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
7111
7112 2009-10-29  Jim Meyering  <meyering@redhat.com>
7113
7114         timespec: long-to-int truncation could make timespec_cmp malfunction
7115         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
7116         a multiple of 2^32 nanoseconds as no difference.
7117
7118 2009-10-28  Jim Meyering  <meyering@redhat.com>
7119
7120         fprintftime: wrap macro code argument in "do {...} while(0)"
7121         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
7122         cpy macro must be a statement that can be followed by a semicolon.
7123         Now that the else clause contains a comment and is hence longer
7124         than one line, I require curly braces.  That in turn requires
7125         that we wrap this code block in the standard do...while(0).
7126
7127         fprintftime: remove stray semicolon from previous change
7128         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
7129
7130         fprintftime: avoid a warning about ignored fwrite return value
7131         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
7132         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
7133         that is unsafe.
7134         * modules/fprintftime (Depends-on): Add ignore-value.
7135
7136         exclude: avoid an unwarranted warning
7137         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
7138
7139 2009-10-27  Eric Blake  <ebb9@byu.net>
7140
7141         fseek: avoid compilation failure when fflush is replaced
7142         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
7143         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
7144         module is in use.
7145         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
7146         module is not in use; since REPLACE_FSEEK worked otherwise.
7147         (GNULIB_FTELLO): Likewise for ftell.
7148         Reported by Ian Beckwith and others.
7149
7150 2009-10-27  Bruno Haible  <bruno@clisp.org>
7151
7152         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
7153         Reported by Jim Meyering.
7154
7155 2009-10-27  Jim Meyering  <jim@meyering.net>
7156             Bruno Haible  <bruno@clisp.org>
7157
7158         Avoid warning despite dropping the return value of fwrite.
7159         * lib/unicodeio.c: Include ignore-value.h.
7160         (fwrite_success_callback): Explicitly ignore fwrite's return value.
7161         * modules/unicodeio (Depends-on): Add ignore-value.
7162
7163 2009-10-26  Eric Blake  <ebb9@byu.net>
7164
7165         areadlinkat: fix fallback path
7166         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
7167         pointer and zero.
7168
7169 2009-10-22  Pádraig Brady  <P@draigBrady.com>
7170
7171         Use a better IO block size for modern systems
7172         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
7173         * lib/md2.c: Likewise.
7174         * lib/md4.c: Likewise.
7175         * lib/md5.c: Likewise.
7176         * lib/sha1.c: Likewise.
7177         * lib/sha256.c: Likewise.
7178         * lib/sha512.c: Likewise.
7179
7180 2009-10-22  Eric Blake  <ebb9@byu.net>
7181
7182         tests: avoid several compiler warnings
7183         * tests/test-getcwd.c (main): Avoid buffer underflow.
7184         * tests/test-getdate.c (main): String literals are not safe with
7185         putenv, so use setenv.  Declare unused argument.
7186         * modules/getdate-tests (Depends-on): Add setenv.
7187         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
7188         problems with string literals in char *.
7189         * tests/test-hash.c (main): Avoid shadowing declaration.
7190         (insert_new): Treat string literals as char const *.
7191         * tests/test-getopt.h (test_getopt): Likewise.
7192         (getopt_loop): Alter types to minimize casting elsewhere.
7193         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
7194         (test_getopt_long_posix): Likewise.
7195         (do_getopt_long): Add wrapper to minimize casting.
7196         * tests/test-atexit.c (clear_temp_file): Use void.
7197         * tests/test-areadlink-with-size.c (main): Declare unused
7198         arguments.
7199         * tests/test-areadlink.c (main): Likewise.
7200         * tests/test-areadlinkat-with-size.c (main): Likewise.
7201         * tests/test-areadlinkat.c (main): Likewise.
7202         * tests/test-canonicalize-lgpl.c (main): Likewise.
7203         * tests/test-canonicalize.c (main): Likewise.
7204         * tests/test-dirent-safer.c (main): Likewise.
7205         * tests/test-dirname.c (main): Likewise.
7206         * tests/test-dup2.c (main): Likewise.
7207         * tests/test-fchdir.c (main): Likewise.
7208         * tests/test-fcntl-h.c (main): Likewise.
7209         * tests/test-fcntl-safer.c (main): Likewise.
7210         * tests/test-fdopendir.c (main): Likewise.
7211         * tests/test-fdutimensat.c (main): Likewise.
7212         * tests/test-fflush.c (main): Likewise.
7213         * tests/test-filenamecat.c (main): Likewise.
7214         * tests/test-filevercmp.c (main): Likewise.
7215         * tests/test-fopen-safer.c (main): Likewise.
7216         * tests/test-fopen.c (main): Likewise.
7217         * tests/test-fpending.c (main): Likewise.
7218         * tests/test-fpurge.c (main): Likewise.
7219         * tests/test-freading.c (main): Likewise.
7220         * tests/test-fstatat.c (main): Likewise.
7221         * tests/test-fsync.c (main): Likewise.
7222         * tests/test-futimens.c (main): Likewise.
7223         * tests/test-getndelim2.c (main): Likewise.
7224         * tests/test-gettimeofday.c (main): Likewise.
7225         * tests/test-getopt.c (main): Likewise.
7226         * tests/test-i-ring.c (main): Likewise.
7227         * tests/test-inttypes.c (main): Likewise.
7228         * tests/test-link.c (main): Likewise.
7229         * tests/test-lstat.c (main): Likewise.
7230         * tests/test-math.c (main): Likewise.
7231         * tests/test-md5.c (main): Likewise.
7232         * tests/test-memchr2.c (main): Likewise.
7233         * tests/test-memrchr.c (main): Likewise.
7234         * tests/test-mkdir.c (main): Likewise.
7235         * tests/test-mkdirat.c (main): Likewise.
7236         * tests/test-mkfifoat.c (main): Likewise.
7237         * tests/test-open.c (main): Likewise.
7238         * tests/test-openat-safer.c (main): Likewise.
7239         * tests/test-openat.c (main): Likewise.
7240         * tests/test-quotearg.c (main): Likewise.
7241         * tests/test-rawmemchr.c (main): Likewise.
7242         * tests/test-readlink.c (main): Likewise.
7243         * tests/test-remove.c (main): Likewise.
7244         * tests/test-rename.c (main): Likewise.
7245         * tests/test-renameat.c (main): Likewise.
7246         * tests/test-rmdir.c (main): Likewise.
7247         * tests/test-sha1.c (main): Likewise.
7248         * tests/test-signal.c (main): Likewise.
7249         * tests/test-sigaction.c (main): Likewise.
7250         * tests/test-stat.c (main): Likewise.
7251         * tests/test-stat-time.c (main): Likewise.
7252         * tests/test-stddef.c (main): Likewise.
7253         * tests/test-stdint.c (main): Likewise.
7254         * tests/test-stdio.c (main): Likewise.
7255         * tests/test-stdlib.c (main): Likewise.
7256         * tests/test-strchrnul.c (main): Likewise.
7257         * tests/test-strerror.c (main): Likewise.
7258         * tests/test-string.c (main): Likewise.
7259         * tests/test-strtod.c (main): Likewise.
7260         * tests/test-strverscmp.c (main): Likewise.
7261         * tests/test-symlink.c (main): Likewise.
7262         * tests/test-symlinkat.c (main): Likewise.
7263         * tests/test-sys_stat.c (main): Likewise.
7264         * tests/test-sys_time.c (main): Likewise.
7265         * tests/test-time.c (main): Likewise.
7266         * tests/test-unistd.c (main): Likewise.
7267         * tests/test-unlink.c (main): Likewise.
7268         * tests/test-unlinkat.c (main): Likewise.
7269         * tests/test-utimens.c (main): Likewise.
7270         * tests/test-utimensat.c (main): Likewise.
7271         * tests/test-version-etc.c (main): Likewise.
7272         * tests/test-wchar.c (main): Likewise.
7273         * tests/test-wctype.c (main): Likewise.
7274         * tests/test-xprintf-posix.c (main): Likewise.
7275         * tests/test-posixtm.c (main): Likewise.
7276         (STREQ): Delete unused macro.
7277         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
7278         shadowed variables.
7279         * tests/test-memchr.c (main): Likewise.
7280
7281 2009-10-21  Eric Blake  <ebb9@byu.net>
7282
7283         areadlinkat: avoid failure on older glibc
7284         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
7285         rather than mis-comparing 0 against FUNC_RESULT of char*.
7286
7287 2009-10-21  Bruno Haible  <bruno@clisp.org>
7288
7289         * modules/stpncpy (License): Relicense under LGPLv2+.
7290         Reported by David Lutterkort <lutter@redhat.com>.
7291
7292 2009-10-20  Eric Blake  <ebb9@byu.net>
7293
7294         utimensat: work around Solaris 9 bug
7295         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
7296         has trailing slash bugs.
7297         * tests/test-lutimens.h (test_lutimens): Enhance test.
7298         * tests/test-utimens.h (test_utimens): Likewise.
7299         * doc/posix-functions/utime.texi (utime): Enhance documentation.
7300         * doc/posix-functions/utimes.texi (utimes): Likewise.
7301         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
7302         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
7303         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
7304         * doc/posix-functions/futimens.texi (futimens): Likewise.
7305
7306         fdutimensat: new module
7307         * modules/fdutimensat: New file.
7308         * lib/fdutimensat.c (fdutimensat): Likewise.
7309         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
7310         * MODULES.html.sh (File system functions): Mention module.
7311         * modules/fdutimensat-tests: New test.
7312         * tests/test-fdutimensat.c: Likewise.
7313
7314         doc: regenerate INSTALL
7315         * doc/INSTALL: Reflect recent autoconf update.
7316         * doc/INSTALL.ISO: Likewise.
7317         * doc/INSTALL.UTF-8: Likewise.
7318
7319 2009-10-20  Pádraig Brady  <P@draigBrady.com>
7320
7321         acl: warn if ACL support is not detected
7322         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
7323
7324 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
7325
7326         * lib/nproc.h: Add extern "C" block for C++.
7327
7328 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
7329             Bruno Haible  <bruno@clisp.org>
7330
7331         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
7332         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
7333         * doc/posix-functions/isalpha.texi: Likewise.
7334         * doc/posix-functions/isblank.texi: Likewise.
7335         * doc/posix-functions/iscntrl.texi: Likewise.
7336         * doc/posix-functions/isdigit.texi: Likewise.
7337         * doc/posix-functions/isgraph.texi: Likewise.
7338         * doc/posix-functions/islower.texi: Likewise.
7339         * doc/posix-functions/isprint.texi: Likewise.
7340         * doc/posix-functions/ispunct.texi: Likewise.
7341         * doc/posix-functions/isspace.texi: Likewise.
7342         * doc/posix-functions/isupper.texi: Likewise.
7343         * doc/posix-functions/isxdigit.texi: Likewise.
7344
7345 2009-10-18  Bruno Haible  <bruno@clisp.org>
7346
7347         Tests for module 'isblank'.
7348         * modules/isblank-tests: New file.
7349         * tests/test-isblank.c: New file.
7350
7351         New module 'isblank'.
7352         * lib/isblank.c: New file.
7353         * m4/isblank.m4: New file.
7354         * modules/isblank: New file.
7355         * doc/posix-functions/isblank.texi: Mention the new module.
7356
7357 2009-10-18  Bruno Haible  <bruno@clisp.org>
7358
7359         New module 'ctype'.
7360         * lib/ctype.in.h: New file.
7361         * m4/ctype.m4: New file.
7362         * modules/ctype: New file.
7363         * doc/posix-headers/ctype.texi: Mention the new module.
7364
7365 2009-10-18  Jim Meyering  <meyering@redhat.com>
7366
7367         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
7368         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
7369         right after its initialization, rather than farther down.
7370         Keeping these in close proximity makes it easier to ensure
7371         that each such variable is initialized.  E.g.,
7372
7373             LIB_CLOCK_GETTIME=
7374             AC_SUBST([LIB_CLOCK_GETTIME])
7375
7376         This change also increments these serial numbers.
7377         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
7378         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
7379         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7380
7381 2009-10-18  Bruno Haible  <bruno@clisp.org>
7382
7383         Don't let environment variables perturb build.
7384         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
7385         (gl_PREREQ_GETHRXTIME): ... not here.
7386
7387 2009-10-18  Bruno Haible  <bruno@clisp.org>
7388
7389         Avoid symlink attack in localcharset module.
7390         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
7391         (O_NOFOLLOW): Define fallback.
7392         (get_charset_aliases): Don't open the file if it is a symbolic link.
7393         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
7394         gl_FCNTL_H.
7395         (gl_FCNTL_H): Require it.
7396         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
7397         * modules/localcharset (Files): Add m4/fcntl_h.m4.
7398         Reported by Fergal Glynn <fglynn@veracode.com>.
7399
7400 2009-10-18  Bruno Haible  <bruno@clisp.org>
7401
7402         Implement nproc for mingw.
7403         * lib/nproc.c: Include <windows.h>
7404         (num_processors): On native Windows platforms, try GetSystemInfo.
7405
7406 2009-10-18  Bruno Haible  <bruno@clisp.org>
7407
7408         Implement nproc for IRIX.
7409         * lib/nproc.c: Include <sys/sysmp.h>.
7410         (num_processors): On IRIX systems, try sysmp.
7411         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
7412
7413 2009-10-18  Bruno Haible  <bruno@clisp.org>
7414
7415         Implement nproc for HP-UX.
7416         * lib/nproc.c: Include <sys/pstat.h>
7417         (num_processors): On HP-UX systems, try pstat_getdynamic.
7418         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
7419         pstat_getdynamic.
7420
7421 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
7422             Bruno Haible  <bruno@clisp.org>
7423
7424         Implement nproc for NetBSD, OpenBSD.
7425         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
7426         (ARRAY_SIZE): New macro.
7427         (num_processors): On BSD systems, try sysctl of HW_NCPU.
7428         * m4/nproc.m4: New file.
7429         * modules/nproc (Files): Add m4/nproc.m4.
7430         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
7431         (Makefile.am): Instead, augment lib_SOURCES.
7432
7433 2009-10-18  Bruno Haible  <bruno@clisp.org>
7434
7435         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
7436         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
7437         sys/param.h.
7438
7439 2009-10-16  Eric Blake  <ebb9@byu.net>
7440
7441         utimensat: new module
7442         * modules/utimensat: New file.
7443         * lib/utimensat.c (utimensat): Likewise.
7444         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7445         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
7446         so we can work around Linux bugs.
7447         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
7448         * modules/sys_stat (Makefile.am): Substitute them.
7449         * lib/sys_stat.in.h (utimensat): Declare it.
7450         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7451         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
7452         * modules/utimensat-tests: New test.
7453         * tests/test-utimensat.c: Likewise.
7454
7455         utimens: let lutimens work on non-symlinks
7456         * lib/utimens.c (lutimens): Fall back to utimens rather than
7457         failing with ENOSYS, when file is not a symlink.
7458         (utimens): Reduce redirection.
7459         * tests/test-lutimens.h (test_lutimens): Update test to cover
7460         non-symlinks.
7461         * tests/test-utimens.h (test_utimens): Update test to cover
7462         symlinks.
7463         * tests/test-utimens.c (main): Update caller.
7464
7465         utimens: cache whether utimensat syscall works
7466         * lib/utimens.c (utimensat_works_really): New cache variable.
7467         (fdutimens, lutimens): Use it to avoid failing syscall.
7468
7469         test-stat-time, test-utimens: improve portability
7470         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
7471         ext4 on alpha, and for cygwin.
7472         * tests/test-utimens-common.h: New file.
7473         (nap): Factor delays into single function.
7474         * tests/test-lutimens.h (test_lutimens): Use new header.
7475         * tests/test-futimens.h (test_futimens): Likewise.
7476         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
7477         timestamps to occur from same machine, as was done previously for
7478         test_utimens.
7479         * modules/utimens-tests (Files): Ship new file.
7480         * modules/futimens-tests (Files): Likewise.
7481         Reported in part by Jim Meyering.
7482
7483         sys_stat: sort replacement declarations
7484         * lib/sys_stat.in.h: Sort declarations.
7485         * lib/futimens.c (futimens): Fix typo.
7486
7487 2009-10-15  Jim Meyering  <meyering@redhat.com>
7488
7489         don't let environment settings perturb build
7490         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
7491         could cause a configure-time and/or build-time malfunction.
7492         Typically, a configure-time function-in-library test is performed
7493         via code like this:
7494
7495           LIB_VAR=
7496           AC_SUBST([LIB_VAR])
7497           prefix_saved_LIBS=$LIBS
7498             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
7499                        [test "$ac_cv_search_FUNC" = "none required" ||
7500                         LIB_VAR=$ac_cv_search_FUNC])
7501           LIBS=$prefix_saved_LIBS
7502
7503         However, in each of the files affected by this change, the LIB_VAR=
7504         initialization was omitted.  Thus, when set in the environment, its
7505         value would propagate into generated Makefiles when FUNC is not found
7506         in LIB_NAME.
7507         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
7508         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
7509         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7510
7511 2009-10-14  Eric Blake  <ebb9@byu.net>
7512
7513         fchdir: avoid infinite recursion in mingw
7514         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
7515         recursing.
7516
7517         test-stat-time: port to mingw
7518         * tests/test-stat-time.c (force_unlink): Return a value.
7519         (test_ctime) [W32]: Fix compilation error.
7520         (nap): Don't call usleep with too large an argument.  Use
7521         force_unlink.
7522         * doc/pastposix-functions/usleep.texi (usleep): Document the
7523         portability issue.
7524
7525 2009-10-13  Jim Meyering  <meyering@redhat.com>
7526
7527         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
7528         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
7529         * modules/pipe-filter-ii: Likewise.
7530         * modules/sys_socket-tests: Likewise.
7531         * modules/tsearch-tests: Likewise.
7532         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
7533         (check): Depend on it.
7534
7535 2009-10-12  Eric Blake  <ebb9@byu.net>
7536
7537         utimens-tests: port to NFS file systems
7538         * tests/test-utimens.h (test_utimens): Refactor utimecmp
7539         comparisons to avoid spurious failures from timestamp drift
7540         between NFS machines.
7541
7542 2009-10-12  Eric Blake  <ebb9@byu.net>
7543
7544         stat-time-tests: minor cleanups
7545         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
7546         * tests/test-stat-time.c (nap): Separate assignment from call.
7547         Suggested by Paolo Bonzini and Bruno Haible.
7548
7549         sys_stat: guarantee struct timespec
7550         * lib/sys_stat.in.h (includes): Always include <time.h>
7551         * modules/sys_stat (Depends-on): Add time.
7552         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
7553         mode_t permission values.
7554         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
7555         get at subsecond timestamps.
7556
7557 2009-10-10  Eric Blake  <ebb9@byu.net>
7558
7559         futimens: new module
7560         * modules/futimens: New file.
7561         * lib/futimens.c (futimens): Likewise.
7562         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
7563         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
7564         we can work around Linux bugs.
7565         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
7566         * modules/sys_stat (Makefile.am): Substitute them.
7567         * lib/sys_stat.in.h (futimens): Declare it.
7568         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7569         * doc/posix-functions/futimens.texi (futimens): Likewise.
7570         * modules/futimens-tests: New test.
7571         * tests/test-futimens.c: Likewise.
7572
7573         utimens: introduce fdutimens
7574         * lib/utimens.h (fdutimens): New prototype.
7575         * lib/utimens.c (gl_futimens): Move guts...
7576         (fdutimens): ...to new interface.
7577         * tests/test-utimens.c (do_fdutimens): Use it.
7578
7579         utimens: add UTIME_NOW and UTIME_OMIT support
7580         * lib/utimens.c (validate_timespec, update_timespec): New helper
7581         functions.
7582         (gl_futimens, lutimens): Use them.
7583         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
7584         stdbool, sys_stat.
7585         (Link): Mention resulting library dependency.
7586         * modules/utimecmp (Link): Likewise.
7587         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
7588         (Makefile.am): Pick up library dependency.
7589         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
7590         definition.
7591         * tests/test-sys_stat.c: Test the definitions.
7592         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
7593         * NEWS: Document library dependency.
7594
7595         utimecmp: support symlink timestamps
7596         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
7597         hashing when possible.  Use pathconf when available.
7598         (SYSCALL_RESOLUTION): Recognize tighter resolution.
7599         * modules/utimecmp (Depends-on): Add lstat.
7600
7601         utimens: add lutimens interface
7602         * lib/utimens.c (lutimens): New function.
7603         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
7604         * lib/utimens.h (lutimens): Declare new interface.
7605         * tests/test-utimens.c (main): Enhance test.
7606         * tests/test-lutimens.h (test_lutimens): New file.
7607         * modules/utimens-tests (Files): Distribute it.
7608         (Depends-on): Add symlink.
7609         (configure.ac): Check for usleep.
7610
7611         utimens: validate futimens usage
7612         * lib/utimens.c (gl_futimens): Require valid fd up front, using
7613         fewer syscalls on failure later on.  Avoid compiler warning on
7614         mingw.
7615         * modules/utimens (Depends-on): Add dup2.
7616
7617         utimens: add test
7618         * modules/utimens-tests: New test.
7619         * tests/test-utimens.h: New file.
7620         * tests/test-futimens.h: Likewise.
7621         * tests/test-utimens.c: Likewise.
7622
7623         doc: mention timestamp portability issues
7624         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
7625         instead.
7626         * doc/posix-functions/utime.texi (utime): Likewise.
7627         * doc/posix-functions/utimes.texi (utimes): Likewise.
7628         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
7629         instead.
7630         * doc/posix-functions/futimens.texi (futimens): Mention utimens
7631         module.
7632         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
7633         Mention weakness with symlink timestamps.
7634         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
7635         to utimensat/futimens instead.
7636         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
7637
7638         test-dup2: enhance test
7639         * tests/test-dup2.c (main): Also check AT_FDCWD.
7640
7641         test-stat-time: avoid more spurious failures
7642         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
7643         xfs; and avoid race if the two timestamps cross quantization edge.
7644
7645         relocatable: prefer 'file system' over 'filesystem'
7646         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
7647         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
7648         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
7649         * doc/relocatable.texi (Enabling Relocatability): Likewise.
7650         * lib/relocatable.c (compute_curr_prefix): Likewise.
7651
7652 2009-10-10  Jim Meyering  <meyering@redhat.com>
7653
7654         stat-time-tests: check for the usleep function
7655         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
7656
7657 2009-10-10  Bruno Haible  <bruno@clisp.org>
7658
7659         * modules/xnanosleep: Put the Link section after the Include section.
7660
7661 2009-10-09  Eric Blake  <ebb9@byu.net>
7662
7663         dup2: work around FreeBSD 6.1 bug
7664         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
7665         * doc/posix-functions/dup2.texi (dup2): Document it.
7666         Reported by Nelson H. F. Beebe and Jim Meyering.
7667
7668         test-stat-time: port to buggy NFS clients
7669         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
7670         (test_ctime): Also skip test if mtime and ctime are skewed.
7671
7672         maint: prefer 'file system' over 'filesystem'
7673         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
7674         * doc/posix-functions/lstat.texi (lstat): Likewise.
7675         * lib/file-has-acl.c (file_has_acl): Likewise.
7676         * lib/fwriteerror.c [TEST]: Likewise.
7677         * tests/test-areadlink.h (test_areadlink): Likewise.
7678         * tests/test-areadlinkat-with-size.c (main): Likewise.
7679         * tests/test-areadlinkat.c (main): Likewise.
7680         * tests/test-canonicalize-lgpl.c (main): Likewise.
7681         * tests/test-canonicalize.c (main): Likewise.
7682         * tests/test-fstatat.c (main): Likewise.
7683         * tests/test-linkat.c (main): Likewise.
7684         * tests/test-lstat.h (test_lstat_func): Likewise.
7685         * tests/test-mkdir.h (test_mkdir): Likewise.
7686         * tests/test-readlink.h (test_readlink): Likewise.
7687         * tests/test-remove.c (main): Likewise.
7688         * tests/test-rename.h (test_rename): Likewise.
7689         * tests/test-renameat.c (main): Likewise.
7690         * tests/test-rmdir.h (test_rmdir_func): Likewise.
7691         * tests/test-symlink.h (test_symlink): Likewise.
7692         * tests/test-symlinkat.c (main): Likewise.
7693         * tests/test-unlink.h (test_unlink_func): Likewise.
7694         * tests/test-unlinkat.c (main): Likewise.
7695
7696         maint: make realtime library usage explicit
7697         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
7698         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
7699         * modules/settime (Link): Likewise.
7700         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
7701
7702         test-stat-time: speed up execution
7703         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
7704         warning on mingw.
7705         (nap): New helper function.
7706         (prepare_test): Use it to reduce sleep time.
7707         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
7708         execution.
7709         * modules/stat-time-tests (configure.ac): Check for usleep.
7710
7711 2009-10-09  Jim Meyering  <meyering@redhat.com>
7712
7713         selinux-h: always use getfilecon wrappers
7714         * lib/getfilecon.c: New file.
7715         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
7716         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
7717         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
7718         (fgetfilecon): Provide a stub.
7719         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
7720         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
7721         file unconditionally.
7722         When <selinux/selinux.h> is found, arrange to use wrappers.
7723         * modules/selinux-h (Files): Add getfilecon.c.
7724         (Makefile.am): Substitute include-next-related bits
7725         into the now-always-generated selinux/selinux.h file.
7726         * doc/glibc-functions/lgetfilecon.texi: New file.
7727         * doc/glibc-functions/fgetfilecon.texi: New file.
7728         * doc/glibc-functions/getfilecon.texi: New file.
7729         * doc/glibc-functions/getfilecon-desc.texi: New file.
7730         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
7731         which to pull in the new files.
7732         * MODULES.html.sh (Misc): Add selinux-h.
7733
7734 2009-10-08  Jim Meyering  <meyering@redhat.com>
7735
7736         unistd: fix comment typo
7737         * lib/unistd.in.h (euidaccess): Fix a comment typo.
7738
7739 2009-10-08  Eric Blake  <ebb9@byu.net>
7740
7741         areadlink: use SIZE_MAX consistently
7742         * modules/areadlink (Depends-on): Add stdint.
7743         * modules/areadlink-with-size (Depends-on): Likewise.
7744         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
7745         gives NULL; drop sys/types, since unistd gives size_t; and add
7746         stdint for SIZE_MAX.
7747         (SIZE_MAX): Rely on headers.
7748         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
7749         and add stdint.
7750         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
7751         (SIZE_MAX): Likewise.
7752         (INITIAL_BUF_SIZE): Turn into enum.
7753         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
7754
7755 2009-10-08  Jim Meyering  <meyering@redhat.com>
7756
7757         areadlinkat: avoid compilation failure
7758         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
7759         Fix typo in comment.
7760
7761 2009-10-07  Eric Blake  <ebb9@byu.net>
7762
7763         areadlinkat-with-size: new module
7764         * modules/areadlinkat-with-size: New module.
7765         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
7766         * lib/areadlink.h (areadlinkat): Declare it.
7767         * MODULES.html.sh (File system functions): Mention it.
7768         * modules/areadlinkat-with-size-tests: New test.
7769         * tests/test-areadlinkat-with-size.c: New file.
7770
7771         xreadlinkat: new module
7772         * modules/xreadlinkat: New module.
7773         * lib/xreadlinkat.c (xreadlinkat): New file.
7774         * lib/xreadlink.h (xreadlinkat): Declare it.
7775         * MODULES.html.sh (File system functions): Mention it.
7776
7777         areadlinkat: new module
7778         * lib/at-func.c (FUNC_FAIL): New define.
7779         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
7780         * modules/areadlinkat: New module.
7781         * lib/linkat.c (areadlinkat): Move...
7782         * lib/areadlinkat.c (areadlinkat): ...to new file.
7783         * lib/areadlink.h (areadlinkat): Declare it.
7784         * modules/linkat (Depends-on): Add areadlinkat.
7785         * MODULES.html.sh (File system functions): Mention it.
7786         * modules/areadlinkat-tests: New test.
7787         * tests/test-areadlinkat.c: New file.
7788
7789         areadlink, areadlink-with-size: add tests
7790         * modules/areadlink-tests: New test.
7791         * modules/areadlink-with-size-tests: Likewise.
7792         * tests/test-areadlink.h: New file.
7793         * tests/test-areadlink.c: Likewise.
7794         * tests/test-areadlink-with-size.c: Likewise.
7795
7796         maint: minor cleanups
7797         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
7798         _UNUSED_PARAMETER_ instead.
7799         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
7800         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
7801         * modules/linkat-tests (Files): Distribute test-link.h.
7802
7803         openat, utimens: whitespace cleanup
7804         * lib/openat.c: Prefer space throughout, rather than mix of 8
7805         spaces vs. tabs.
7806         * lib/at-func.c: Likewise.
7807         * lib/utimens.c: Likewise.
7808
7809         openat: avoid using wrong fd
7810         * lib/openat.c (openat_permissive): Reject user's fd if saving the
7811         working directory chooses same fd.
7812         * lib/at-func.c (AT_FUNC_NAME): Likewise.
7813
7814         mkdir, mkdirat: fix cygwin 1.5.x bug
7815         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
7816         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
7817         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
7818         bug.
7819         (gl_PREREQ_MKDIR): Delete unused macro.
7820         * modules/mkdir (Files): Track file rename.
7821         (configure.ac): Update macro name.
7822         * modules/openat (Depends-on): Add mkdir.
7823         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
7824
7825         mkdir, mkdirat: add tests
7826         * modules/mkdir-tests: New test.
7827         * tests/test-mkdir.h: New file.
7828         * tests/test-mkdir.c: Likewise.
7829         * tests/test-mkdirat.c: Likewise.
7830         * modules/openat-tests (Files): Add new files.
7831         (Makefile.am): Run new test.
7832
7833 2009-10-06  Eric Blake  <ebb9@byu.net>
7834
7835         doc: tweak *at function documentation
7836         * doc/posix-functions/faccessat.texi (faccessat): Mention
7837         known issue with replacement.
7838         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
7839         * doc/posix-functions/linkat.texi (linkat): Likewise.
7840         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
7841         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
7842         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
7843         * doc/posix-functions/renameat.texi (renameat): Likewise.
7844         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
7845
7846         openat: fix GNU/Hurd bug in unlinkat
7847         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
7848         broken.
7849         * doc/posix-functions/unlink.texi (unlink): Document this.
7850         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
7851
7852         fdopendir: fix GNU/Hurd bug
7853         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
7854         allowing non-directory fds.
7855         * lib/fdopendir.c (rpl_fdopendir): Work around it.
7856         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
7857         * modules/dirent (Makefile.am): Substitute it.
7858         * lib/dirent.in.h (fdopendir): Declare replacement.
7859         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
7860         * tests/test-fdopendir.c (main): Test something other than
7861         /dev/null, since on Hurd that behaves like a directory.
7862
7863         test-symlink: port to GNU/Hurd
7864         * tests/test-symlink.h (test_symlink): Relax expected errno.
7865
7866         doc: tweak more cygwin information
7867         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
7868         now compatible with glibc.
7869         * doc/posix-functions/getopt.texi (getopt): Likewise.
7870
7871         getopt-gnu: add another test
7872         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
7873         guarantee behavior relied on by m4.
7874         * tests/test-getopt.c (main): Use it.
7875         * modules/getopt-posix-tests (Depends-on): Add setenv.
7876         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
7877
7878         getopt: fix compilation on darwin
7879         * lib/getopt.in.h (includes): Leave breadcrumbs during system
7880         include.
7881         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
7882         Reported by Ludovic Courtès.
7883
7884 2009-10-06  Bruno Haible  <bruno@clisp.org>
7885
7886         * modules/size_max (Description): Discourage its use.
7887         Reported by Simon Josefsson.
7888
7889 2009-10-06  Jim Meyering  <meyering@redhat.com>
7890
7891         linkat: avoid compilation failure
7892         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
7893
7894 2009-10-05  Eric Blake  <ebb9@byu.net>
7895
7896         linkat: support Linux 2.6.17
7897         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
7898         linkat on Linux, but allow cache variable override.
7899         * lib/linkat.c (rpl_linkat): Define override.
7900         * modules/linkat (Depends-on): Add symlinkat.
7901         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
7902         * modules/unistd (Makefile.am): Substitute it.
7903         * lib/unistd.in.h (linkat): Declare replacement.
7904         Reported by Pádraig Brady.
7905
7906         quotearg: port test to systems with C.UTF-8 locale
7907         * tests/test-quotearg.c (struct result_strings): Add another
7908         member, differentiating between C.ASCII and C.UTF-8 handling.
7909         (compare_strings): Add parameter.
7910         (main): Adjust all callers.
7911
7912         getopt: avoid clash with FreeBSD _getopt_internal
7913         * lib/getopt.in.h (_getopt_internal): Override the name.
7914         * lib/getopt_int.h (includes): Pick up any overrides.
7915         Reported by Reuben Thomas.
7916
7917         hash: allow C89 compilation
7918         * lib/hash.c (check_tuning): Move declaration before statement.
7919         Reported by Reuben Thomas.
7920
7921 2009-10-05  Karl Berry  <karl@gnu.org>
7922
7923         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
7924
7925 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
7926             Bruno Haible  <bruno@clisp.org>
7927
7928         * lib/uname.c (uname): Use a table-driven algorithm to compute
7929         Windows NT versions.
7930
7931 2009-10-04  Bruno Haible  <bruno@clisp.org>
7932
7933         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
7934         program_invocation_short_name.
7935         * modules/progname (configure.ac): Test for presence of
7936         program_invocation_short_name.
7937         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
7938
7939 2009-10-04  Bruno Haible  <bruno@clisp.org>
7940
7941         * lib/progname.c (set_program_name): Fix comment.
7942         Reported by Jim Meyering.
7943
7944 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
7945             Bruno Haible  <bruno@clisp.org>
7946
7947         * lib/uname.c: Include <string.h>.
7948         (uname): Do only one call to GetVersionEx in the common case.
7949
7950 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
7951             Bruno Haible  <bruno@clisp.org>
7952
7953         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
7954         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
7955         (uname): Add support for Windows CE and various non-x86 CPU types.
7956
7957 2009-10-03  Bruno Haible  <bruno@clisp.org>
7958
7959         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
7960         invocation to tests/configure.ac.
7961         Reported by Ian Beckwith <ianb@erislabs.net>.
7962
7963 2009-10-02  Eric Blake  <ebb9@byu.net>
7964
7965         fchdir: avoid compiler warning
7966         * lib/fchdir.c (canonicalize_file_name)
7967         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
7968
7969         test-open: support mingw errno values
7970         * tests/test-open.h (test_open): Relax test.
7971         * tests/test-fopen.h (test_fopen): Likewise.
7972         * tests/test-openat-safer.c (main): Likewise.
7973
7974         open: fix opening directory on mingw
7975         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
7976
7977         test-open: on GNU/Hurd, /dev/null is a directory
7978         * tests/test-fopen.h (main): Rename...
7979         (test_fopen): ...to this.  Use a guaranteed non-directory when
7980         confirming open behavior on trailing slash.
7981         * tests/test-openat-safer.c (main): Likewise.
7982         * tests/test-open.h (main): Likewise....
7983         (test_open): ...to this.
7984         * tests/test-fopen.c (main): Adjust caller.
7985         * tests/test-fopen-safer.c (main): Likewise.
7986         * tests/test-open.c (main): Likewise.
7987         * tests/test-fcntl-safer.c (main): Likewise.
7988         Reported by Samuel Thibault.
7989
7990         rename, fchdir: don't ignore chdir failure
7991         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
7992         * lib/rename.c (rpl_rename) [W32]: Likewise.
7993         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
7994         an empty destination directory if source cannot be renamed,
7995         although there is still possibility for failure.
7996         * doc/posix-functions/rename.texi (rename): Document the race.
7997         Reported by Jim Meyering.
7998
7999         maint: cleanup whitespace in recent commits
8000         * lib/rename.c (rpl_rename): Remove tabs.
8001         * tests/test-link.h (test_link): Likewise.
8002         * lib/fchdir.c (get_name): Likewise.
8003         Reported by Jim Meyering.
8004
8005 2009-10-02  Ben Pfaff  <blp@gnu.org>
8006
8007         relocatable-prog-wrapper: Add missing dependency on
8008         double-slash-root.
8009         * modules/relocatable-prog-wrapper: Add dependency.
8010         Reported by Ian Beckwith <ianb@erislabs.net>.
8011
8012 2009-10-02  Eric Blake  <ebb9@byu.net>
8013
8014         renameat: fix Solaris bugs
8015         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
8016         needed fixing.
8017         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
8018         * modules/stdio (Makefile.am): Substitute it.
8019         * lib/stdio.in.h (renameat): Declare replacement.
8020         * lib/renameat.c (rpl_renameat): Implement fix.
8021
8022         renameat: new module
8023         * modules/renameat: New file.
8024         * lib/renameat.c (renameat): Likewise.
8025         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
8026         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
8027         * modules/stdio (Makefile.am): Substitute them.
8028         * lib/stdio.in.h (renameat): Declare it.
8029         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
8030         * doc/posix-functions/renameat.texi (renameat): Likewise.
8031         * modules/renameat-tests: New test.
8032         * tests/test-renameat.c: Likewise.
8033
8034         rename: fix mingw bugs
8035         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
8036         directory overwrite bugs.
8037
8038         rename: fix another cygwin 1.5 bug
8039         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
8040         checks.
8041         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
8042         unnecessary cygwin workarounds.  Also work around bug with moving
8043         full directory onto an empty one.
8044         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
8045
8046         rename-dest-slash: merge into rename module
8047         * modules/rename-dest-slash (Status): Mark obsolete.
8048         (Depends-on): Add rename.
8049         (Files): Let rename do it all.
8050         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
8051         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
8052         * m4/rename-dest-slash.m4: ...so this file can be deleted.
8053         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
8054         * lib/rename.c (rpl_rename): Update comments.
8055
8056         rename: fix cygwin 1.5.x bugs
8057         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
8058         * lib/rename.c (rpl_rename): Work around them.
8059         * modules/rename (Depends-on): Add same-inode.
8060
8061         rename: fix Solaris 10 bug
8062         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
8063         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
8064         was the only bug.
8065
8066         rename: fix Solaris 9 bug
8067         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
8068         on non-directory.  Avoid calling exit.
8069         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
8070         strdup.
8071         * modules/rename-tests (Depends-on): Drop lstat.
8072         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
8073         (gl_PREREQ_RENAME): Delete unused macro.
8074
8075         rename-dest-slash: fix NetBSD bug
8076         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
8077         links.
8078         * modules/rename-dest-slash (Depends-on): Add same-inode.
8079
8080         rename-tests: new test, exposes several platform bugs
8081         * modules/rename-tests: New file.
8082         * tests/test-rename.h: Likewise.
8083         * tests/test-rename.c: Likewise.
8084         * doc/posix-functions/rename.texi (rename): Improve documentation,
8085         including bugs that will eventually be fixed in gnulib.
8086
8087 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
8088
8089         * lib/uname.c: Include <stdlib.h>
8090         (uname): Assume version info is available.
8091
8092 2009-10-02  Jim Meyering  <meyering@redhat.com>
8093
8094         gnu-web-doc-update: correct --help output
8095         * build-aux/gnu-web-doc-update: Make --help output relevant.
8096
8097         gnu-web-doc-update: add standard options
8098         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
8099
8100         gnu-web-doc-update: New module.
8101         Use this script to automatically update the on-line web documentation
8102         for your GNU project at http://www.gnu.org/software/$pkg/manual/
8103         * modules/gnu-web-doc-update: New file, from coreutils.
8104         * build-aux/gnu-web-doc-update: New script.
8105
8106 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
8107
8108         link: LoadLibrary is not needed.
8109         * lib/link.c: Use GetModuleHandle.
8110
8111 2009-10-01  Eric Blake  <ebb9@byu.net>
8112
8113         getopt: bump serial number
8114         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
8115         change.
8116
8117         tests: tighten link, rmdir, and remove tests
8118         * tests/test-link.h (includes): No need to use <config.h> here.
8119         Clean up if directory hard link was created, otherwise test for
8120         trailing '.'.
8121         * tests/test-linkat.c (main): Simplify.
8122         * tests/test-remove.c (main): Enhance test for trailing '.'.
8123         * tests/test-rmdir.h (test_rmdir_func): Likewise.
8124
8125 2009-10-01  Jim Meyering  <meyering@redhat.com>
8126
8127         maint.mk: requiring "make major" was annoying, for a "minor" release.
8128         What is intended is "stable", to contrast with alpha and beta,
8129         so require "make stable", not "make major".
8130         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
8131         (get_tool_versions): Likewise.
8132         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
8133
8134 2009-09-30  Ben Pfaff  <blp@gnu.org>
8135
8136         Fix broken build of replacement for Windows tmpfile().
8137         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
8138         flags argument added along with the 'mkostemp' module.
8139
8140 2009-09-28  Bruno Haible  <bruno@clisp.org>
8141
8142         Avoid identifier clash with POSIX function 'remove' defined as a macro.
8143         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
8144         to 'remove_elt'.
8145         (gl_list_remove): Update.
8146         * lib/gl_list.c (gl_list_remove): Update.
8147         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
8148         to 'remove_elt'.
8149         (gl_oset_remove): Update.
8150         * lib/gl_list.c (gl_oset_remove): Update.
8151         Reported by Eric Blake.
8152
8153 2009-09-28  Eric Blake  <ebb9@byu.net>
8154
8155         doc: mention yet more cygwin 1.7 status
8156         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
8157         cygwin.
8158         * doc/glibc-functions/execvpe.texi (execvpe): New file.
8159         * doc/gnulib.texi (Glibc unistd.h): Mention it.
8160
8161         argp: fix test failure
8162         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
8163         that are not upper-case.  Pass correct range to tolower.
8164
8165 2009-09-27  Jim Meyering  <meyering@redhat.com>
8166
8167         test-yesno: work around sparc-dash here-document infelicity
8168         Without this change, the literal \177 byte in a here document
8169         would make dash 0.5.5.1-3 access uninitialized memory.
8170         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
8171         Instead, use a marker, "@", and filter through tr to create the desired
8172         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
8173
8174 2009-09-27  Bruno Haible  <bruno@clisp.org>
8175
8176         Disable untested support for new flavours of ACLs on AIX.
8177         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
8178         progress.
8179         * lib/set-mode-acl.c (qset_acl): Likewise.
8180
8181 2008-12-07  Bruno Haible  <bruno@clisp.org>
8182
8183         Add support for new flavours of ACLs on AIX. (Untested.)
8184         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
8185         (file_has_acl): Add support for newer AIX.
8186         * lib/set-mode-acl.c (qset_acl): Likewise.
8187         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
8188         Rainer Tammer <tammer@tammer.net>.
8189
8190 2009-09-26  Eric Blake  <ebb9@byu.net>
8191
8192         argp: fix compilation of getopt
8193         * lib/getopt.in.h (includes): Use different guard than glibc.
8194         Reported by Sergey Poznyakoff.
8195
8196         doc: mention more cygwin 1.7 status
8197         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
8198         bug.
8199         * doc/posix-functions/execl.texi (execl): Likewise.
8200         * doc/posix-functions/execle.texi (execle): Likewise.
8201         * doc/posix-functions/execlp.texi (execlp): Likewise.
8202         * doc/posix-functions/execv.texi (execv): Likewise.
8203         * doc/posix-functions/execve.texi (execve): Likewise.
8204         * doc/posix-functions/execvp.texi (execvp): Likewise.
8205         * doc/glibc-functions/canonicalize_file_name.texi
8206         (canonicalize_file_name): Cygwin 1.7 now provides this.
8207         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
8208         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
8209         on AT_SYMLINK_NOFOLLOW.
8210
8211 2009-09-24  Eric Blake  <ebb9@byu.net>
8212
8213         test-linkat: make test more robust
8214         * tests/test-linkat.c (main): Avoid collision with EEXIST.
8215
8216         getopt: fix inclusion guards for cygwin
8217         * modules/getopt-posix (Depends-on): Add include-next.
8218         (Makefile.am): Substitute more items in replacement header.
8219         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
8220         <getopt.h>.
8221         * lib/getopt.in.h (includes): Use split inclusion guard, and
8222         prefer <getopt.h> over include <unistd.h> when one is present.
8223         (option): Also override name of 'struct option'.
8224
8225         same-inode: revert prior change; it is not yet ready
8226         * NEWS: Undo mention of this change.
8227         * lib/same-inode.h (same-inode.h): Undo tri-state change.
8228         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
8229         * lib/cycle-check.c (cycle_check): Likewise.
8230         * lib/same.c (same_name): Likewise.
8231         * lib/at-func2.c (at_func2): Likewise.
8232
8233 2009-09-23  Eric Blake  <ebb9@byu.net>
8234
8235         linkat: new module
8236         * modules/linkat: New file.
8237         * lib/at-func2.c (at_func2): Likewise.
8238         * lib/linkat.c (linkat): Likewise.
8239         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
8240         * lib/openat-priv.h (at_func2): Add declaration.
8241         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
8242         * modules/unistd (Makefile.am): Substitute them.
8243         * lib/unistd.in.h (linkat): Declare it.
8244         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
8245         * doc/posix-functions/linkat.texi (linkat): Likewise.
8246         * doc/posix-functions/link.texi (link): Tweak wording.
8247         * tests/test-link.c (main): Move guts...
8248         * tests/test-link.h (test_link): ...into new file.
8249         * modules/linkat-tests: New test.
8250         * tests/test-linkat.c: Likewise.
8251         * modules/link-tests (Files): Ship new file.
8252         (Depends-on): Add stdbool.
8253
8254         dirname: add library-safe mdir_name
8255         * lib/dirname.h (mdir_name): New prototype.
8256         * lib/dirname.c (dir_name): Move guts...
8257         (mdir_name): ...to new function that avoids xalloc_die.
8258
8259         fchdir: another mingw fix
8260         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
8261         * lib/fchdir.c (get_name): New helper method; skips canonicalize
8262         on mingw (where it has not yet been ported), and make it optional
8263         elsewhere.
8264         (_gl_register_fd): Use it.
8265
8266         same-inode: make SAME_INODE tri-state, to port to mingw
8267         * NEWS: Mention this change.
8268         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
8269         st_ino always being 0.
8270         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
8271         * lib/cycle-check.c (cycle_check): Likewise.
8272         * lib/same.c (same_name): Likewise.
8273
8274         lstat: avoid mingw compilation error
8275         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
8276         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
8277         lstat ourselves.
8278         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
8279         was adequate.
8280         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
8281         the checks for lstat.
8282         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
8283
8284         link: fix test failure on Solaris 9
8285         * lib/link.c (rpl_link): Don't assume link will catch bogus
8286         trailing slash on source.
8287
8288         test-symlinkat: enhance test
8289         * tests/test-readlink.c (main): Move guts...
8290         * tests/test-readlink.h (test_readlink): ...into new file.
8291         * tests/test-symlink.c (main): Move guts...
8292         * tests/test-symlink.h (test_symlink): ...into new file.
8293         * tests/test-symlinkat.c (main): Use new files for further
8294         coverage.
8295         (do_symlink, do_readlink): New helper functions.
8296         * modules/symlink-tests (Files): Ship new file.
8297         (Depends-on): Add stdbool.
8298         * modules/readlink-tests (Files): Ship new file.
8299         (Depends-on): Add stdbool.
8300         * modules/symlinkat-tests (Files): Use new files.
8301
8302 2009-09-23  Eric Blake  <ebb9@byu.net>
8303
8304         readlink: document portability issue with symlink length
8305         * doc/posix-functions/lstat.texi (lstat): Mention that some file
8306         systems have bogus st_size on symlinks, and mention the
8307         areadlink-with-size module.
8308         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
8309         * doc/posix-functions/readlink.texi (readlink): Mention the
8310         areadlink module, and ERANGE failure.
8311         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
8312         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
8313
8314         readlink: fix Solaris 9 bug with trailing slash
8315         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
8316         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
8317         * doc/posix-functions/readlink.texi (readlink): Document this.
8318         * modules/readlink-tests: New test.
8319         * tests/test-readlink.c: Likewise.
8320
8321         readlink: fix cygwin 1.5.x bug with return type
8322         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
8323         * lib/unistd.in.h (readlink): Use ssize_t.
8324         * lib/readlink.c (readlink): Likewise.
8325         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8326         * modules/unistd (Makefile.am): Substitute it.
8327         * lib/unistd.in.h (readlink): Declare replacement.
8328         * doc/posix-functions/readlink.texi (readlink): Document this.
8329
8330         symlink: use throughout gnulib
8331         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
8332         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
8333         symlink is not used.
8334         * modules/symlinkat (Depends-on): Add symlink.
8335         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
8336         * modules/canonicalize-tests (Depends-on): Likewise.
8337         * modules/lstat-tests (Depends-on): Likewise.
8338         * modules/openat-tests (Depends-on): Likewise.
8339         * modules/remove-tests (Depends-on): Likewise.
8340         * modules/rmdir-tests (Depends-on): Likewise.
8341         * modules/unlink-tests (Depends-on): Likewise.
8342         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
8343         * tests/test-canonicalize.c (symlink): Likewise.
8344         * tests/test-fstatat.c (symlink): Likewise.
8345         * tests/test-lstat.c (symlink): Likewise.
8346         * tests/test-remove.c (symlink): Likewise.
8347         * tests/test-rmdir.c (symlink): Likewise.
8348         * tests/test-unlink.c (symlink): Likewise.
8349         * tests/test-unlinkat.c (symlink): Likewise.
8350
8351         symlink: new module, for Solaris 9 bug
8352         * modules/symlink: New file.
8353         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
8354         * lib/symlink.c: Likewise.
8355         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
8356         * modules/unistd (Makefile.am): Substitute them.
8357         * lib/unistd.in.h (symlink): Declare replacement.
8358         * MODULES.html.sh (File system functions): Mention it.
8359         * doc/posix-functions/symlink.texi (symlink): Likewise.
8360         * modules/symlink-tests: New test.
8361         * tests/test-symlink.c: Likewise.
8362
8363 2009-09-23  Bruno Haible  <bruno@clisp.org>
8364
8365         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
8366         when needed.
8367         Test case: gnulib-tool --import --with-tests atexit inttypes.
8368         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
8369
8370 2009-09-23  Bruno Haible  <bruno@clisp.org>
8371
8372         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
8373         subcommand, not in a subshell.
8374
8375 2009-09-22  Eric Blake  <ebb9@byu.net>
8376
8377         unistd: sort replacement declarations
8378         * lib/unistd.in.h: Sort declarations.
8379
8380         open, openat: minor optimization
8381         * lib/open.c (open): If open succeeded, len is non-zero.
8382         * lib/openat.c (rpl_openat): Likewise.
8383
8384         link-follow: ensure correct result
8385         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
8386         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
8387         distinguish between possible failures.
8388
8389 2009-09-21  Eric Blake  <ebb9@byu.net>
8390
8391         fts: avoid compiler warning
8392         * lib/fts.c (dirent_inode_sort_may_be_useful)
8393         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
8394
8395 2009-09-19  Bruno Haible  <bruno@clisp.org>
8396
8397         * lib/progreloc.c (canonicalize_file_name): New declaration.
8398
8399 2009-09-19  Eric Blake  <ebb9@byu.net>
8400
8401         link: fix quoting
8402         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
8403
8404         openat: fix openat bugs on Solaris 9
8405         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
8406         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
8407         * modules/openat (Depends-on): Add open.
8408         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
8409         * modules/fcntl-h (Makefile.am): Substitute it.
8410         * lib/fcntl.in.h (openat): Declare replacement.
8411         * doc/posix-functions/openat.texi (openat): Document this.
8412
8413         openat: move fstatat and unlinkat into correct files
8414         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
8415         compiled.
8416         * lib/openat.c (fstatat, unlinkat): Move...
8417         * lib/fstatat.c (fstatat): ...into correct files.
8418         * lib/unlinkat.c (unlinkat): Likewise.
8419
8420         openat: fix unlinkat bugs on Solaris 9
8421         * lib/unlinkat.c (unlinkat): New file.
8422         * modules/openat (Depends-on): Add unlink.
8423         (Files): Distribute it.
8424         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
8425         trailing slash behavior is broken.
8426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8427         * modules/unistd (Makefile.am): Substitute it.
8428         * lib/unistd.in.h (unlinkat): Declare replacement.
8429         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
8430
8431         openat: fix fstatat bugs on Solaris 9
8432         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
8433         stat.
8434         * doc/posix-functions/fstatat.texi (fstatat): Document this.
8435
8436         test-unlinkat: enhance test, to expose Solaris 9 bug
8437         * tests/test-unlink.c (main): Factor guts...
8438         * tests/test-unlink.h (test_rmdir_func): ...into new file.
8439         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
8440         * tests/test-rmdir.c (main): Adjust caller.
8441         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
8442         (unlinker): New helper function.
8443         (rmdirat): Enhance check.
8444         * modules/rmdir-tests (Depends-on): Add stdbool.
8445         * modules/unlink-tests (Depends-on): Likewise.
8446         (Files): Add test-unlink.h.
8447         * modules/openat-tests (Files): Likewise.
8448         (Depends-on): Add unlinkdir.
8449
8450         test-fstatat: new test, to expose Solaris 9 bugs
8451         * tests/test-stat.c (main): Factor guts...
8452         * tests/test-stat.h (test_stat_func): ...into new file.
8453         * tests/test-lstat.c (main): Factor guts...
8454         * tests/test-lstat.h (test_lstat_func): ...into new file.
8455         * tests/test-fstatat.c: New file.
8456         * modules/stat-tests (Files): Add test-stat.h.
8457         * modules/lstat-tests (Files): Add test-lstat.h.
8458         (Depends-on): Add stdbool.
8459         * modules/openat-tests (Depends-on): Add pathmax.
8460         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
8461         (Makefile.am): Run new test.
8462
8463         remove: new module, for mingw and Solaris 9 bugs
8464         * modules/remove: New file.
8465         * lib/remove.c: Likewise.
8466         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
8467         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
8468         * modules/stdio (Makefile.am): Use them.
8469         * lib/stdio.in.h (remove): Declare replacement.
8470         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
8471         * doc/posix-functions/remove.texi (remove): Likewise.
8472         * modules/remove-tests: New test.
8473         * tests/test-remove.c: Likewise.
8474
8475         unlink: new module, for Solaris 9 bug
8476         * modules/unlink: New file.
8477         * lib/unlink.c: Likewise.
8478         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
8479         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
8480         * modules/unistd (Makefile.am): Use them.
8481         * lib/unistd.in.h (stat): Declare replacement.
8482         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
8483         * doc/posix-functions/unlink.texi (unlink): Likewise.
8484         * modules/unlink-tests: New test.
8485         * tests/test-unlink.c: Likewise.
8486
8487         lstat: fix Solaris 9 bug
8488         * lib/lstat.c (lstat): Also check for trailing slash on
8489         non-symlink, non-directories.  Use stat module to simplify logic.
8490         * doc/posix-functions/lstat.texi (lstat): Document it.
8491         * modules/lstat-tests (Depends-on): Add errno, same-inode.
8492         (configure.ac): Check for symlink.
8493         * tests/test-lstat.c (main): Add more tests.
8494
8495         stat: add as dependency to other modules
8496         * modules/chown (Depends-on): Add stat.
8497         * modules/euidaccess (Depends-on): Likewise.
8498         * modules/fchdir (Depends-on): Likewise.
8499         * modules/isdir (Depends-on): Likewise.
8500         * modules/link (Depends-on): Likewise.
8501         * modules/lstat (Depends-on): Likewise.
8502         * modules/mkdir-p (Depends-on): Likewise.
8503         * modules/modechange (Depends-on): Likewise.
8504         * modules/open (Depends-on): Likewise.
8505         * modules/readlink (Depends-on): Likewise.
8506         * modules/same (Depends-on): Likewise.
8507
8508         stat: fix Solaris 9 bug
8509         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
8510         slash.
8511         * lib/stat.c (rpl_stat): Work around it.
8512         * doc/posix-functions/stat.texi (stat): Update documentation.
8513
8514         stat: new module, for mingw bug
8515         * modules/stat: New file.
8516         * lib/stat.c: Likewise.
8517         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8518         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
8519         * modules/sys_stat (Makefile.am): Use them.
8520         * lib/sys_stat.in.h (stat): Declare replacement.
8521         * lib/openat.c (fstatat): Deal with lstat and stat being function
8522         macros.
8523         * modules/openat (Depends-on): Add inline.
8524         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
8525         * doc/posix-functions/stat.texi (stat): Likewise.
8526         * modules/stat-tests: New test.
8527         * tests/test-stat.c: Likewise.
8528
8529 2009-09-19  Jim Meyering  <meyering@redhat.com>
8530
8531         syntax-check: detect unnecessary inclusion of canonicalize.h
8532         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
8533
8534 2009-09-19  Eric Blake  <ebb9@byu.net>
8535
8536         canonicalize-lgpl: adjust clients to use correct header
8537         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
8538         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
8539         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
8540         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
8541         * lib/progreloc.c (includes): Likewise.
8542
8543 2009-09-19  Jim Meyering  <meyering@redhat.com>
8544
8545         test-posixtm.c: correct a comment
8546         * tests/test-posixtm.c: Correct first-line comment.
8547         Spotted by Eric Blake.
8548
8549 2009-09-16  Jim Meyering  <meyering@redhat.com>
8550
8551         posixtm-tests: make T const-correct; add a test case
8552         * tests/test-posixtm.c (T): Declare const.
8553         Add a test for -(2^31+1).
8554         Remove useless can-succeed-only-in-2002 test.
8555
8556         posixtm-tests: adjust the sole failing test
8557         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
8558         expected output matches what mktime now produces.  Cross-checked via
8559         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
8560
8561         posixtm: move #ifdef'd tests into a new module
8562         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
8563         * tests/test-posixtm.c: ... this new file.
8564         * modules/posixtm-tests: New module.
8565
8566 2009-09-19  Eric Blake  <ebb9@byu.net>
8567
8568         openat: simplify use of at-func.c
8569         * lib/at-func.c (includes): Include prerequisites here, to
8570         simplify requirements on client files.
8571         * lib/openat-priv.h: Add double-inclusion guard.
8572         * lib/faccessat.c (includes): Simplify.
8573         * lib/fchmodat.c (includes): Likewise.
8574         * lib/fchownat.c (includes): Likewise.
8575         * lib/mkdirat.c (includes): Likewise.
8576         * lib/mkfifoat.c (includes): Likewise.
8577         * lib/symlinkat.c (includes): Likewise.
8578
8579         openat: allow return of fd 0
8580         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
8581         * modules/save-cwd (Depends-on): Replace fcntl-safer with
8582         unistd-safer.
8583         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
8584         <fcntl.h>; this module does not leak fds.
8585         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
8586         must be allowed to return 0, leaving openat_safer to add the
8587         safety.
8588         (openat_permissive): Avoid writing to just-opened fd 2 if
8589         restoring the current directory fails.
8590         * lib/openat-die.c (openat_restore_fail): Add comment.
8591         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
8592         (save_cwd): Guarantee safe fd, but without use of open_safer.
8593         * tests/test-openat.c: New test.
8594         * modules/openat-tests (Files, Makefile.am): Distribute and build
8595         new file.
8596
8597         relocatable-prog-wrapper: fix build
8598         * modules/relocatable-prog-wrapper (Files): Update name of
8599         canonicalize m4 file, broken on 2009-09-17.
8600         Reported by emad hajjar <aleppos@hotmail.com>.
8601
8602 2009-09-19  Bruno Haible  <bruno@clisp.org>
8603
8604         * lib/safe-alloc.h: Use the standard header with GPL copyright.
8605         * lib/safe-alloc.c: Likewise.
8606         Reported by Ian Beckwith <ianb@erislabs.net>.
8607
8608 2009-09-18  Bruno Haible  <bruno@clisp.org>
8609
8610         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
8611         Reported by <erobles@sensacd.com.mx>.
8612
8613 2009-09-17  Eric Blake  <ebb9@byu.net>
8614
8615         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
8616         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
8617         slashes when checking if last component is missing.
8618         * tests/test-canonicalize.c (main): Test this.
8619
8620         canonicalize, canonicalize-lgpl: honor // if distinct from /
8621         * modules/canonicalize (Files): Add double-slash-root.m4.
8622         * modules/canonicalize-lgpl (Files): Likewise.
8623         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
8624         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
8625         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
8626         fallback definition.
8627         (canonicalize_filename_mode): Use it to protect //.
8628         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
8629         (__realpath): Likewise.
8630         * tests/test-canonicalize.c (main): Test this.
8631         * tests/test-canonicalize-lgpl.c (main): Likewise.
8632         * modules/canonicalize-tests (Depends-on): Add same-inode.
8633         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
8634
8635         canonicalize-lgpl: fix glibc bug with trailing slash
8636         * m4/canonicalize-lgpl.m4: Move contents...
8637         * m4/canonicalize.m4: ...here.
8638         (gl_CANONICALIZE_LGPL): Factor realpath check...
8639         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
8640         glibc 2.3.5 bug, fixed 2005-04-27.
8641         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
8642         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
8643         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
8644         * modules/canonicalize-lgpl (Files): Manage file rename.
8645         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
8646         * modules/stdlib (Makefile.am): Substitute witness.
8647         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
8648         is needed.
8649         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
8650         replacement is required.
8651         * lib/canonicalize.c (canonicalize_file_name): Likewise.
8652         * doc/glibc-functions/canonicalize_file_name.texi
8653         (canonicalize_file_name): Document this.
8654         * doc/posix-functions/realpath.texi (realpath): Likewise.
8655
8656         canonicalize-lgpl: reject non-directory with trailing slash
8657         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
8658         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
8659         catches failures in glibc 2.3.5.
8660         * tests/test-canonicalize.c (main): Likewise.
8661
8662         canonicalize-lgpl: use native realpath if it works
8663         * lib/canonicalize-lgpl.c (realpath): Guard with
8664         FUNC_REALPATH_WORKS.
8665         * lib/stdlib.in.h (realpath): Make declaration optional based on
8666         HAVE_REALPATH.
8667         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
8668         native realpath works.
8669         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
8670         * modules/stdlib (Makefile.am): Substitute witness.
8671
8672         canonicalize, canonicalize-lgpl: use <stdlib.h>
8673         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
8674         (Include): Mention <stdlib.h>.
8675         (configure.ac): Mention functions we provide.
8676         * modules/canonicalize (configure.ac): Likewise.
8677         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
8678         realpath if canonicalize_file_name is missing.
8679         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
8680         * modules/stdlib (Makefile.am): Substitute witnesses.
8681         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
8682         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
8683         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
8684         * NEWS: Document this.
8685         * doc/glibc-functions/canonicalize_file_name.texi
8686         (canonicalize_file_name): Likewise.
8687         * doc/posix-functions/realpath.texi (realpath): Likewise.
8688         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
8689
8690         test-canonicalize: consolidate into single C program
8691         * tests/test-canonicalize.sh: Delete; move setup into...
8692         * tests/test-canonicalize.c (main): ...the program, making it
8693         easier to run in debugger.  Add some tests.
8694         * modules/canonicalize-tests (Files): Remove unused file.
8695         (Depends-on): Add progname.
8696         (configure.ac, Makefile.am): Simplify.
8697
8698         test-canonicalize-lgpl: consolidate into single C program
8699         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
8700         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
8701         easier to run in debugger.  Add some tests.
8702         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
8703         (configure.ac, Makefile.am): Simplify.
8704
8705         canonicalize: avoid resolvepath
8706         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
8707         unnecessary checks.
8708         * lib/canonicalize.c (includes): Simplify.
8709         (canonicalize_file_name): Drop resolvepath implementation.
8710         * modules/canonicalize (Depends-on): Drop filenamecat.
8711
8712         canonicalize: don't lose errno
8713         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
8714         over calls to free.
8715
8716         canonicalize: simplify errno handling
8717         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
8718         assignment.
8719
8720         canonicalize, canonicalize-lgpl: update module dependencies
8721         * modules/canonicalize (Depends-on): Add extensions, lstat,
8722         pathmax, stdlib.
8723         (Files): Drop pathmax.h.
8724         (configure.ac): Adjust macro name.
8725         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
8726         lstat, stdlib, sys_stat.
8727         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
8728         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
8729         extensions.
8730         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
8731         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
8732         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
8733         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
8734         declaration, if available.
8735         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
8736         we can rely on the readlink module.
8737         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
8738         (includes): Use <unistd.h> unconditionally.
8739
8740 2009-09-17  Eric Blake  <ebb9@byu.net>
8741
8742         maint: make Include sections of modules consistent
8743         * modules/alloca: Use only header name; no need to list #include.
8744         * modules/alloca-opt: Likewise.
8745         * modules/arpa_inet: Likewise.
8746         * modules/canon-host: Likewise.
8747         * modules/configmake: Likewise.
8748         * modules/dirent: Likewise.
8749         * modules/eealloc: Likewise.
8750         * modules/environ: Likewise.
8751         * modules/fchdir: Likewise.
8752         * modules/fcntl: Likewise.
8753         * modules/fcntl-h: Likewise.
8754         * modules/gethrxtime: Likewise.
8755         * modules/gettime: Likewise.
8756         * modules/ignore-value: Likewise.
8757         * modules/inet_ntop: Likewise.
8758         * modules/inet_pton: Likewise.
8759         * modules/inttypes: Likewise.
8760         * modules/isnand-nolibm: Likewise.
8761         * modules/isnanf-nolibm: Likewise.
8762         * modules/mbchar: Likewise.
8763         * modules/mbfile: Likewise.
8764         * modules/mbiter: Likewise.
8765         * modules/mbuiter: Likewise.
8766         * modules/netdb: Likewise.
8767         * modules/netinet_in: Likewise.
8768         * modules/nproc: Likewise.
8769         * modules/pagealign_alloc: Likewise.
8770         * modules/poll: Likewise.
8771         * modules/printf-frexp: Likewise.
8772         * modules/pthread: Likewise.
8773         * modules/putenv: Likewise.
8774         * modules/random_r: Likewise.
8775         * modules/relocatable-prog: Likewise.
8776         * modules/search: Likewise.
8777         * modules/select: Likewise.
8778         * modules/selinux-h: Likewise.
8779         * modules/settime: Likewise.
8780         * modules/signal: Likewise.
8781         * modules/size_max: Likewise.
8782         * modules/socklen: Likewise.
8783         * modules/ssize_t: Likewise.
8784         * modules/stdarg: Likewise.
8785         * modules/stdbool: Likewise.
8786         * modules/stddef: Likewise.
8787         * modules/stdint: Likewise.
8788         * modules/stdio: Likewise.
8789         * modules/stdlib: Likewise.
8790         * modules/string: Likewise.
8791         * modules/strings: Likewise.
8792         * modules/sys_file: Likewise.
8793         * modules/sys_ioctl: Likewise.
8794         * modules/sys_select: Likewise.
8795         * modules/sys_socket: Likewise.
8796         * modules/sys_stat: Likewise.
8797         * modules/sys_time: Likewise.
8798         * modules/sys_times: Likewise.
8799         * modules/sys_utsname: Likewise.
8800         * modules/sys_wait: Likewise.
8801         * modules/sysexits: Likewise.
8802         * modules/time: Likewise.
8803         * modules/times: Likewise.
8804         * modules/tmpfile: Likewise.
8805         * modules/trim: Likewise.
8806         * modules/unistd: Likewise.
8807         * modules/wchar: Likewise.
8808         * modules/wctype: Likewise.
8809
8810 2009-09-17  Bruno Haible  <bruno@clisp.org>
8811
8812         Make getdate.y compile on QNX and NetBSD 5 / i386.
8813         * m4/getdate.m4 (gl_GETDATE): Conditionally define
8814         TIME_T_FITS_IN_LONG_INT.
8815         * lib/getdate.y (long_time_t): New type.
8816         (relative_time): Change type of 'seconds' field to long_time_t.
8817         (get_date): Update types of local variables. Check against overflow
8818         during conversion from long_time_t to time_t.
8819         Reported by Matt Kraai <kraai@ftbfs.org>
8820         and Hasso Tepper <hasso@netbsd.org>.
8821
8822 2009-09-17  Bruno Haible  <bruno@clisp.org>
8823
8824         * modules/COPYING: Update copyright years.
8825         * modules/README: Likeiwse.
8826         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
8827         Reported by Ian Beckwith <ianb@erislabs.net>.
8828
8829 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
8830
8831         * users.txt: Update references for gnuit package.
8832
8833 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
8834
8835         * m4/getdelim.m4: Fix typo in copyright line.
8836
8837 2009-09-17  Bruno Haible  <bruno@clisp.org>
8838
8839         * lib/atoll.c: Use the standard header with GPL copyright.
8840         * lib/argz.in.h: Likewise.
8841         * lib/glob.c: Likewise.
8842         * lib/glob-libc.h: Likewise.
8843         * lib/random_r.c: Likewise.
8844         * lib/siglist.h: Likewise.
8845         * lib/strsignal.c: Likewise.
8846         Reported by Ian Beckwith <ianb@erislabs.net>.
8847
8848 2009-09-17  Eric Blake  <ebb9@byu.net>
8849
8850         rmdir: ensure correct dependency order
8851         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
8852
8853 2009-09-17  Bruno Haible  <bruno@clisp.org>
8854
8855         Disable assertion that fails on NetBSD 5 / i386.
8856         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
8857         Reported by Sam Steingold <sds@gnu.org>
8858         and Hasso Tepper <hasso@netbsd.org>.
8859
8860 2009-09-16  Eric Blake  <ebb9@byu.net>
8861
8862         unlinkdir: port to mingw
8863         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
8864         on which no one can unlink a directory.
8865
8866         stdlib: sort witness names
8867         * modules/stdlib (Makefile.am): Sort replacements.
8868         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
8869         * lib/stdlib.in.h: Likewise.
8870
8871         parse-duration-tests: avoid link failure
8872         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
8873         LIBINTL.
8874         Reported by Tom G. Christensen.
8875
8876         openat-tests: ensure unlinkat behaves like rmdir
8877         * tests/test-rmdir.c (main): Factor guts...
8878         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
8879         * modules/rmdir-tests (Files): Ship new file.
8880         * modules/openat-tests: New test.
8881         * tests/test-unlinkat.c: Likewise.
8882
8883         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
8884         * modules/rmdir-errno (Status, Notice): Now obsolete.
8885
8886         rmdir: work around cygwin 1.5.x and mingw bugs
8887         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
8888         * lib/rmdir.c (rmdir): Work around it.
8889         * modules/rmdir (Status, Notice): No longer obsolete.
8890         (Files): Add dos.m4.
8891         (Depends-on): Add unistd.
8892         (configure.ac): Set witnesses.
8893         (License): Relax to LGPLv2+.
8894         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
8895         * modules/unistd (Makefile.am): Substitute witnesses.
8896         * lib/unistd.in.h (rmdir): Declare replacement.
8897         * doc/posix-functions/rmdir.texi (rmdir): Document this.
8898         * modules/rmdir-tests: New tests.
8899         * tests/test-rmdir.c: Likewise.
8900
8901 2009-09-15  Eric Blake  <ebb9@byu.net>
8902
8903         fchdir: improve use of replacement functions
8904         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
8905         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
8906         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
8907         REPLACE_CLOSEDIR.
8908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
8909         * modules/sys_stat (Makefile.am): Substitute correct witness.
8910         * modules/dirent (Makefile.am): Likewise.
8911         * modules/unistd (Makefile.am): Likewise.
8912         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
8913         * lib/unistd.in.h (dup): Likewise.
8914         * lib/sys_stat.in.h (fstat): Likewise.
8915
8916         maint: ignore gnulib-tool temp files
8917         * .gitignore: Ignore files created during gnulib-tool --test.
8918
8919 2009-09-13  Jim Meyering  <meyering@redhat.com>
8920
8921         posixtm: don't reject a time that specify "60" as the number of seconds
8922         * lib/posixtm.c (posixtime): The code to reject invalid dates
8923         would also reject a time specified with the .60 suffix.
8924         But POSIX allows that, in order to accommodate leap seconds.
8925         So don't reject it.
8926         (main): Adjust tests accordingly.
8927         * modules/posixtm (Depends-on): Add stpcpy.
8928
8929 2009-09-11  Jim Meyering  <meyering@redhat.com>
8930
8931         announce-gen: include [$release_type] in emitted Subject:
8932         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
8933         e.g., [stable] in the emitted Subject: line.
8934
8935 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8936
8937         Remove obsolete macros from several modules.
8938         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
8939         obsolete Autoconf macros with their modern counterparts.
8940         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
8941         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
8942         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
8943         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
8944         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
8945         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8946         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
8947         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
8948         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
8949         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
8950         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8951         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8952         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
8953         * m4/sockets.m4 (gl_SOCKETS): Likewise.
8954         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
8955         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
8956         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
8957         * m4/time_r.m4 (gl_TIME_R): Likewise.
8958         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
8959         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
8960         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
8961
8962         Fix copyright header in build-aux scripts.
8963         * build-aux/git-version-gen: Fix copyright header to match GPLv3
8964         recommendation.
8965         * build-aux/ncftpput-ftp: Likewise.
8966         * build-aux/update-copyright: Likewise.
8967
8968 2009-09-09  Eric Blake  <ebb9@byu.net>
8969
8970         test-link: allow Linux choice of errno
8971         * tests/test-link.c (main): Relax test for alternate error.
8972
8973         strndup: fix improper m4 caching
8974         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
8975         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
8976         (gl_PREREQ_STRNDUP): Delete.
8977         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
8978         * modules/string (Makefile.am): Substitute it.
8979         * lib/string.in.h (strndup): Modernize prototype.
8980
8981         getcwd: port to mingw
8982         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
8983         different from the POSIX assumptions made throughout the getcwd
8984         module; fortunately, the mingw getcwd does not need replacement.
8985         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
8986         * modules/getcwd-tests: New test.
8987         * tests/test-getcwd.c: Likewise.
8988
8989         link: fix platform bugs
8990         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
8991         * lib/link.c (link): Work around them.  Fix related mingw bug.
8992         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
8993         * modules/unistd (Makefile.am): Substitute it.
8994         * lib/unistd.in.h (link): Declare replacement.
8995         * doc/posix-functions/link.texi (link): Document this.
8996         * modules/link (Depends-on): Add strdup-posix, sys_stat.
8997
8998         test-link: consolidate into single C program, test more cases
8999         * tests/test-link.sh: Delete.
9000         * tests/test-link.c: Test more error conditions.  Exposes bugs on
9001         at least Cygwin and Solaris.
9002         * modules/link-tests (Files): Remove unused file.
9003         (Depends-on): Add errno, sys_stat.
9004         (Makefile.am): Simplify.
9005
9006 2009-09-08  Bruno Haible  <bruno@clisp.org>
9007
9008         Work around towlower, towupper bug on mingw.
9009         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
9010         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
9011         * doc/posix-functions/towlower.texi: Mention the mingw bug.
9012         * doc/posix-functions/towupper.texi: Likewise.
9013         Reported by Eric Blake.
9014
9015 2009-09-08  Jim Meyering  <meyering@redhat.com>
9016
9017         build: don't try to run autoheader if we don't use it
9018         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
9019         is not used in configure.ac.
9020
9021 2009-09-08  Eric Blake  <ebb9@byu.net>
9022
9023         euidaccess: fix compilation error
9024         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
9025
9026         rawmemchr: relax license
9027         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
9028         okay.
9029         Reported by Jim Meyering.
9030
9031         mkfifoat: new module
9032         * modules/mkfifoat: New file.
9033         * lib/mkfifoat.c: Likewise.
9034         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
9035         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
9036         * modules/sys_stat (Makefile.am): Use them.
9037         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
9038         * MODULES.html.sh (File system functions): Mention module.
9039         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
9040         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
9041         * modules/mkfifoat-tests: New test.
9042         * tests/test-mkfifoat.c: Likewise.
9043
9044         strchrnul: relax license
9045         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
9046         okay.
9047         Reported by Jim Meyering.
9048
9049 2009-09-08  Eric Blake  <ebb9@byu.net>
9050
9051         fstatat: fix compilation on Solaris
9052         * lib/fstatat.c (includes): Add fcntl.h.
9053         Reported by Pádraig Brady.
9054
9055 2009-09-07  Eric Blake  <ebb9@byu.net>
9056
9057         rename: modernize replacement
9058         * modules/rename (Depends-on): Add stdio.
9059         (configure.ac): Declare witness.
9060         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
9061         stdio take care of replacement.
9062         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
9063         * modules/stdio (Makefile.am): Substitute them.
9064         * lib/stdio.in.h (rename): Declare replacement.
9065         * lib/rename.c (includes): Allow cross-compilation to non-windows
9066         machines.
9067         * doc/posix-functions/rename.texi (rename): Improve
9068         documentation.
9069
9070         stdio: sort witness names
9071         * modules/stdio (Makefile.am): Sort replacements.
9072         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
9073         * lib/stdio.in.h: Likewise.
9074
9075         getcwd: minor cleanups
9076         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
9077         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
9078
9079         openat: provide more convenience names
9080         * modules/faccessat (configure.ac): Add C witness.
9081         * lib/unistd.in.h (readlinkat): Fix typo.
9082         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
9083         convenience wrappers.
9084         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
9085         wrappers in syntax checks.
9086
9087 2009-09-06  Eric Blake  <ebb9@byu.net>
9088
9089         doc: fix comments in recent patches
9090         * lib/faccessat.c: Mention correct function.
9091         * lib/fchmodat.c: Likewise.
9092         * lib/fchownat.c: Likewise.
9093         * lib/symlinkat.c: Likewise.
9094         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
9095         constants.
9096
9097         faccessat, symlinkat: continue cleanup of previous patch
9098         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
9099         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
9100         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
9101         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
9102         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
9103         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
9104         set.
9105
9106 2009-09-06  Bruno Haible  <bruno@clisp.org>
9107
9108         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
9109         (fstatat): Declare if GNULIB_FSTATAT is set.
9110         (mkdirat): Declare if GNULIB_MKDIRAT is set.
9111         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
9112         (unlinkat): Declare if GNULIB_UNLINKAT is set.
9113         * modules/fcntl-h (Files): Remove m4/openat.m4.
9114         * modules/sys_stat (Files): Remove m4/openat.m4.
9115         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
9116         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
9117         * modules/unistd (Files): Remove m4/openat.m4.
9118         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
9119         GNULIB_OPENAT.
9120         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
9121         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
9122         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
9123         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
9124         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
9125         gl_OPENAT_DEFAULTS.
9126         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
9127         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
9128         Don't require gl_OPENAT_DEFAULTS.
9129         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
9130         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
9131         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
9132         (gl_OPENAT_DEFAULTS): Remove macro.
9133
9134 2009-09-06  Bruno Haible  <bruno@clisp.org>
9135
9136         * modules/openat (configure.ac): Remove unneeded witness.
9137
9138 2009-09-06  Bruno Haible  <bruno@clisp.org>
9139
9140         Set errno to ENOSYS when a function is entirely unsupported.
9141         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
9142         EOPNOTSUPP.
9143         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
9144         * modules/chown (Depends-on): Remove errno.
9145
9146 2009-09-06  Bruno Haible  <bruno@clisp.org>
9147
9148         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
9149
9150 2009-09-06  Bruno Haible  <bruno@clisp.org>
9151
9152         * lib/sys_stat.in.h: Fix preprocessor command indentation.
9153
9154 2009-09-06  Ben Pfaff  <blp@gnu.org>
9155             Bruno Haible  <bruno@clisp.org>
9156
9157         Work around a glibc bug in strtok_r.
9158         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
9159         Undefine if UNDEFINE_STRTOK_R is set.
9160         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
9161         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
9162         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
9163         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
9164         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
9165         UNDEFINE_STRTOK_R.
9166         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
9167
9168 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
9169
9170         exclude: minor fix
9171         * lib/exclude.c: Include wctype.h
9172
9173 2009-09-06  Akim Demaille  <demaille@gostai.com>
9174
9175         bootstrap: improve error message
9176         * build-aux/bootstrap (find_tool): Upon failure, report the list
9177         of candidates.
9178         Honor the initial value of the envvar.
9179
9180 2009-09-05  Eric Blake  <ebb9@byu.net>
9181
9182         symlinkat: new module
9183         * modules/symlinkat: New file.
9184         * lib/symlinkat.c: Likewise.
9185         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
9186         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
9187         * modules/unistd (Makefile.am): Use them.
9188         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
9189         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
9190         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
9191         * MODULES.html.sh (File system functions): Mention module.
9192         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
9193         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
9194         * modules/symlinkat-tests: New test.
9195         * tests/test-symlinkat.c: Likewise.
9196
9197         test-openat-safer: add more checks
9198         * tests/test-openat-safer.c (main): Check more code paths.
9199
9200 2009-09-05  Jim Meyering  <meyering@redhat.com>
9201
9202         syntax-check: detect unnecessary inclusion of openat.h
9203         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
9204
9205 2009-09-05  Bruno Haible  <bruno@clisp.org>
9206
9207         Support towlower, towupper.
9208         * doc/posix-functions/towlower.texi: Mention module wctype.
9209         * doc/posix-functions/towupper.texi: Likewise.
9210         * lib/wctype.in.h (towlower, towupper): New functions.
9211         * tests/test-wctype.c: Include stdio.h, stdlib.h.
9212         (ASSERT): New macro.
9213         (e): New variable.
9214         (main): Test also towlower, towupper. Test WEOF argument.
9215         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
9216
9217 2009-09-05  Bruno Haible  <bruno@clisp.org>
9218
9219         Fix conversion behaviour when the input is invalid.
9220         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
9221         mark occurring in first pass of indirect conversion.
9222         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
9223         input.
9224         Found by clang's static analyzer.
9225
9226 2009-09-05  Bruno Haible  <bruno@clisp.org>
9227
9228         * tests/test-striconveh.c (main): Test indirect conversion on platforms
9229         where direct conversion is possible.
9230
9231 2009-09-04  Eric Blake  <ebb9@byu.net>
9232
9233         openat: fail with ENOENT on empty name
9234         * lib/openat-proc.c (openat_proc_name): Special-case the empty
9235         buffer.
9236
9237         link-follow: fix logic bug in prior patch
9238         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
9239         reversed sense of yes and no in prior patch.  Avoid confusing
9240         compilation failure with desired semantics.
9241
9242         link-follow: accomodate mingw and cross-compilation
9243         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
9244         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
9245         cross-compilation results to -1, to make linkat easier to
9246         implement when cross-compiling.  Trivially support mingw.
9247         * modules/link-follow (configure.ac): Call new name.
9248         * NEWS: Mention this.
9249
9250 2009-09-03  Eric Blake  <ebb9@byu.net>
9251
9252         faccessat: compile replacement
9253         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
9254         needed.
9255
9256         fts: fix compilation error
9257         * lib/fts.c (includes): Re-add "openat.h", for
9258         openat_needs_fchdir.
9259
9260         faccessat: new module
9261         * modules/faccessat: New file.
9262         * lib/faccessat.c: Likewise.
9263         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
9264         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9265         * modules/unistd (Makefile.am): Use it.
9266         * lib/unistd.in.h (faccessat): Declare it.
9267         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
9268         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
9269         * MODULES.html.sh (File system functions): Mention it.
9270         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
9271         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
9272
9273         euidaccess: prefer POSIX over non-standard implementation
9274         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
9275         * lib/euidaccess.c (euidaccess): Use it if available.
9276
9277         openat: make template easier to use
9278         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
9279         AT_FUNC_F2 to be undefined.
9280         (VALIDATE_FLAG): New macro; use it to reject bad flags.
9281         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
9282         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
9283         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
9284         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
9285         Likewise.
9286         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
9287         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
9288         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
9289         Likewise.
9290
9291         openat: declare in POSIX headers
9292         * NEWS: Mention this.
9293         * modules/openat (configure.ac): Declare witnesses.
9294         (Depends-on): Add fcntl-h, sys_stat, unistd.
9295         (Include): Mention correct headers.
9296         * modules/fcntl-h (Depends-on): Add link-warning.
9297         (Files): Add openat.m4.
9298         (Makefile.am): Substitute witnesses.
9299         * modules/sys_stat (Files, Makefile.am): Likewise.
9300         * modules/unistd (Files, Makefile.am): Likewise.
9301         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
9302         (gl_OPENAT_DEFAULTS): New macro.
9303         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
9304         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
9305         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
9306         (SYS_STAT_H): Remove unused variable.
9307         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
9308         * lib/fcntl--.h (includes): Remove unneeded header.
9309         * lib/openat-safer.c (includes): Likewise.
9310         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
9311         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
9312         appropriate headers.
9313         (__OPENAT_PREFIX): Delete.
9314         * lib/fcntl.in.h (openat): Provide declaration.
9315         (AT_FDCWD): Fix Solaris bug.
9316         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
9317         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
9318         * lib/fchmodat.c (includes):  Adjust to find declaration.
9319         * lib/fchownat.c (includes): Likewise.
9320         * lib/mkdirat.c (includes): Likewise.
9321         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
9322         still visible.
9323
9324 2009-09-02  Eric Blake  <ebb9@byu.net>
9325
9326         errno: use consistently
9327         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
9328         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
9329         * lib/canonicalize.c (ELOOP): Likewise.
9330         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
9331         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
9332         * lib/lchown.c (EOPNOTSUPP): Likewise.
9333         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
9334         * lib/savewd.c (ESTALE): Likewise.
9335         * lib/settime.c (ENOSYS): Likewise.
9336         * lib/utimens.c (ENOSYS): Likewise.
9337         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
9338         * lib/chdir-safer.c (ELOOP): Likewise.
9339         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
9340         * modules/c-stack (Depends-on): Add errno.
9341         * modules/canonicalize (Depends-on): Likewise.
9342         * modules/chdir-safer (Depends-on): Likewise.
9343         * modules/fdopendir (Depends-on): Likewise.
9344         * modules/inet_ntop (Depends-on): Likewise.
9345         * modules/inet_pton (Depends-on): Likewise.
9346         * modules/lchown (Depends-on): Likewise.
9347         * modules/openat (Depends-on): Likewise.
9348         * modules/savewd (Depends-on): Likewise.
9349         * modules/settime (Depends-on): Likewise.
9350         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
9351
9352         fts: avoid leaking fds
9353         * modules/fts (Depends-on): Add cloexec.
9354         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
9355         flag.
9356
9357         fts: make directory fds more robust
9358         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
9359         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
9360
9361         backupfile, chdir-long, fts, savedir: make safer
9362         * lib/backupfile.c (includes): Use "dirent--.h", since
9363         numbered_backup can write to stderr during readdir.
9364         * lib/savedir.c (includes): Likewise.
9365         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
9366         emulation can write to stderr on failure.
9367         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
9368         * lib/getcwd.c: Document why opendir_safer is unused.
9369         * lib/glob.c: Likewise.
9370         * lib/scandir.c: Likewise.
9371         * lib/openat-proc.c: Likewise, for open_safer.
9372         * modules/backupfile (Depends-on): Add dirent-safer.
9373         * modules/savedir (Depends-on): Likewise.
9374         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
9375         * modules/chdir-long (Depends-on): Add openat-safer.
9376
9377         openat-safer: new module
9378         * modules/openat-safer: New file.
9379         * lib/openat-safer.c: Likewise.
9380         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
9381         * lib/fcntl-safer.h (openat_safer): Declare.
9382         * lib/fcntl--.h (openat): Override.
9383         * MODULES.html.sh (File descriptor based I/O): Mention it.
9384         * lib/openat.h: Add double-inclusion guards.
9385         * lib/openat.c (includes): Only include "fcntl-safer.h", not
9386         "fcntl--.h", so we can implement openat.
9387         * modules/openat-safer-tests: New test.
9388         * tests/test-openat-safer.c: New file.
9389
9390         dirent-safer: new module
9391         * modules/dirent-safer: New file.
9392         * lib/dirent--.h: Likewise.
9393         * lib/dirent-safer.h: Likewise.
9394         * lib/opendir-safer.c: Likewise.
9395         * m4/dirent-safer.m4: Likewise.
9396         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
9397         * modules/dirent-safer-tests: New test.
9398         * tests/test-dirent-safer.c: New file.
9399         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
9400
9401         fdopendir: optimize on mingw
9402         * lib/unistd.in.h (_gl_directory_name): New prototype.
9403         * lib/fchdir.c (_gl_directory_name): Implement it.
9404         (fchdir): Use it to simplify implementation.
9405         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
9406         fchdir, when available, to avoid calling [f]chdir().
9407
9408         fdopendir: split into its own module
9409         * lib/openat.c (fdopendir): Move...
9410         * lib/fdopendir.c: ...into new file.
9411         * modules/fdopendir: New module.
9412         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
9413         * modules/openat (Depends-on): Add fdopendir.
9414         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
9415         fdopendir here.
9416         * modules/savedir (Depends-on): Only need fdopendir, not full
9417         openat.
9418         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
9419         * lib/openat.h (fdopendir): Drop prototype.
9420         * lib/dirent.in.h (fdopendir): Provide prototype.
9421         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
9422         * modules/dirent (Makefile.am): Substitute them.
9423         * MODULES.html.sh (File system functions): Mention it.
9424         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
9425         * modules/fdopendir-tests: New file.
9426         * tests/test-fdopendir.c: Likewise.
9427
9428         fchdir: use more consistent macro convention
9429         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
9430         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
9431         REPLACE_FCHDIR, rather than relying on config.h macros.
9432         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
9433         inside a single make-time REPLACE_FCHDIR block, rather than using
9434         the config.h FCHDIR_REPLACEMENT.
9435         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
9436         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
9437         Manage fstat replacement.
9438         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
9439         REPLACE_FCHDIR.
9440         * modules/sys_stat (Files): Add m4/unistd_h.m4.
9441         (Makefile.am): Substitute REPLACE_FCHDIR.
9442         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
9443         FCHDIR_REPLACEMENT.
9444         * lib/dup-safer.c (dup_safer): Likewise.
9445         * lib/dup2.c (rpl_dup2): Likewise.
9446         * lib/dup3.c (rpl_dup3): Likewise.
9447         * lib/open.c (rpl_open): Likewise.
9448
9449         fchdir: simplify error handling, and support dup3
9450         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
9451         stdbool, malloc-posix, realloc-posix.
9452         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
9453         (ensure_dirs_slot): Return false on allocation failure.
9454         (rpl_dup2): Delete.
9455         (_gl_register_dup): New function.
9456         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
9457         (_gl_register_fd): Close fd on allocation failure.
9458         * lib/fcntl.in.h (_gl_register_fd): Update signature.
9459         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
9460         prototype.
9461         (rpl_dup2_fchdir): Delete prototype.
9462         * lib/open.c (open): Update caller.
9463         * lib/dup2.c (dup2): Track fchdir metadata.
9464         * lib/dup3.c (dup3): Likewise.
9465         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
9466         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
9467
9468 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9469
9470         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
9471         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
9472         don't pass arguments to AC_OUTPUT.
9473
9474 2009-09-02  Bruno Haible  <bruno@clisp.org>
9475
9476         * modules/mkdtemp (License): Relicense under LGPLv2+.
9477         Reported by Paolo Bonzini.
9478
9479 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9480
9481         Replace uses of obsolete autoconf macros in Jim's modules.
9482         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
9483         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
9484         can evoke a warning from autoconf when run with -Wobsolete
9485         enabled.  They were declared obsolete for good reasons (see
9486         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
9487         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
9488         should not continue using the deprecated macros.
9489         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
9490         obsolete Autoconf macros with modern counterparts.
9491         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9492         * m4/dos.m4 (gl_AC_DOS): Likewise.
9493         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
9494         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
9495         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
9496         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
9497         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
9498         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
9499         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
9500         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
9501         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
9502         Likewise.
9503         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
9504         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
9505         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
9506         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
9507         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
9508         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
9509
9510 2009-09-01  Eric Blake  <ebb9@byu.net>
9511
9512         fchdir: fix off-by-one bug in previous patch
9513         * lib/fchdir.c (rpl_fstat): Use correct bounds.
9514         (_gl_unregister_fd): Delete useless if.
9515
9516 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
9517
9518         maint.mk: sort the list of syntax-check rules
9519         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
9520         easier to get a sense of progress when the rules are run sequentially
9521         and take a long time.
9522
9523 2009-09-01  Simon Josefsson  <simon@josefsson.org>
9524
9525         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
9526         * modules/netinet_in: Likewise.
9527         * modules/sys_file: Likewise.
9528         * modules/sys_ioctl: Likewise.
9529         * modules/sys_select: Likewise.
9530         * modules/sys_socket: Likewise.
9531         * modules/sys_stat: Likewise.
9532         * modules/sys_time: Likewise.
9533         * modules/sys_times: Likewise.
9534         * modules/sys_utsname: Likewise.
9535         * modules/sys_wait: Likewise.
9536
9537 2009-09-01  Jim Meyering  <meyering@redhat.com>
9538
9539         fts: help ensure that return values are not ignored
9540         * lib/fts_.h (__GNUC_PREREQ): Define.
9541         (__attribute_warn_unused_result__): Define.
9542         (fts_children, fts_close, fts_open, fts_read): Declare with
9543         __attribute_warn_unused_result__.
9544
9545         fts: fts_close now fails also when closing a dir file descriptor fails
9546         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
9547         and propagate to caller, along with errno.
9548
9549         announce-gen: correct formatting in --help output
9550         * build-aux/announce-gen (usage): Move the one-line description in
9551         --help output "up", to where it belongs, just after Usage:.
9552
9553 2009-08-31  Eric Blake  <ebb9@byu.net>
9554
9555         fchdir: port to mingw
9556         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
9557         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
9558         opened, then use a substitute.
9559         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
9560         replacement.
9561         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
9562         (_gl_register_fd): No need to check stat if open already filters
9563         all directories.
9564         (fchdir): Fix error condition to match POSIX.
9565         * modules/fchdir (Depends-on): Add sys_stat.
9566         * doc/posix-functions/open.texi (open): Document the limitation.
9567         * modules/fchdir-tests: New file.
9568         * tests/test-fchdir.c: Likewise.
9569
9570         canonicalize: allow cross-testing from cygwin to mingw
9571         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
9572         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
9573         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
9574         Likewise.
9575         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
9576         target does not support symlinks.
9577         * tests/test-canonicalize-lgpl.sh: Likewise.
9578
9579         chown: avoid compilation warning on mingw
9580         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
9581         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
9582         mingw.
9583         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
9584         * modules/chown (Depends-on): Add errno.
9585
9586 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
9587
9588         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
9589         command.
9590
9591 2009-08-31  Jim Meyering  <meyering@redhat.com>
9592
9593         canonicalize: remove useless initialization
9594         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
9595         initialization of local, "end".
9596
9597 2009-08-30  Bruno Haible  <bruno@clisp.org>
9598
9599         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
9600         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
9601         ENOSYS.
9602
9603 2009-08-30  Bruno Haible  <bruno@clisp.org>
9604
9605         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
9606         /usr/xpg4/bin/tr when it exists.
9607         * tests/test-pipe-filter-gi1.sh: Likewise.
9608
9609 2009-08-30  Bruno Haible  <bruno@clisp.org>
9610
9611         Work around deficient /usr/bin/id program on Solaris.
9612         * tests/test-file-has-acl.sh (ID): New variable.
9613         * tests/test-set-mode-acl.sh (ID): Likewise.
9614         * tests/test-copy-acl.sh (ID): Likewise.
9615         * tests/test-copy-file.sh (ID): Likewise.
9616
9617 2009-08-30  Bruno Haible  <bruno@clisp.org>
9618
9619         New module 'xstriconveh'.
9620         * lib/xstriconveh.h: New file.
9621         * lib/xstriconveh.c: New file.
9622         * modules/xstriconveh: New file.
9623
9624 2009-08-30  Bruno Haible  <bruno@clisp.org>
9625
9626         Make it easier to use mem_cd_iconveh.
9627         * lib/striconveh.h (iconveh_t): New type.
9628         (iconveh_open, iconveh_close): New declarations.
9629         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
9630         with a single 'const iconveh_t *' argument.
9631         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
9632         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
9633         with a single 'const iconveh_t *' argument.
9634         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
9635         * tests/test-striconveh.c (main): Update.
9636         * NEWS: Mention the change.
9637
9638 2009-08-30  Bruno Haible  <bruno@clisp.org>
9639
9640         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
9641         problem.
9642
9643 2009-08-30  Bruno Haible  <bruno@clisp.org>
9644
9645         Work around iconv_open problem on Solaris.
9646         * lib/iconv_open-solaris.gperf: New file.
9647         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
9648         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
9649         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
9650         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
9651         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
9652         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
9653
9654 2009-08-29  Jim Meyering  <meyering@redhat.com>
9655
9656         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
9657         * top/maint.mk (cvs-check): Remove target; it was just an alias
9658         to the better-named vc-diff-check.
9659         (maintainer-distcheck): Remove rule.  It was used only from
9660         the (alpha/beta/major) target, and all of its commands but one
9661         were coreutils-specific.
9662         (vc-dist): Remove rule.
9663         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
9664         Run vc-diff-check, not vc-dist.
9665         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
9666
9667 2009-08-27  Bruno Haible  <bruno@clisp.org>
9668
9669         * tests/test-bitrotate.c (main): Remove test that uses a shift count
9670         of 0.
9671
9672 2009-08-27  Bruno Haible  <bruno@clisp.org>
9673
9674         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
9675         compilers.
9676         * doc/func.texi: Document the SunPRO C bug.
9677
9678 2009-08-27  Bruno Haible  <bruno@clisp.org>
9679
9680         Fix link error on Solaris.
9681         * tests/test-parse-duration.c (xstrdup): Remove function.
9682
9683 2009-08-26  Pádraig Brady  <P@draigbrady.com>
9684
9685         ignore-value: handle pointer types, too
9686         * lib/ignore-value.h (__attribute__): Remove definition.
9687         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
9688         of a more concise and more-often effective "(void) i" statement.
9689         (ignore_ptr): New function to suppress warnings from functions that
9690         return pointers, and to make it explicit that one function doesn't
9691         handle all cases.
9692
9693 2009-08-25  Bruno Haible  <bruno@clisp.org>
9694
9695         dup2: work around a Linux bug.
9696         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
9697         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
9698         * doc/posix-functions/dup2.texi: Mention the Linux bug.
9699         Reported by Simon Josefsson.
9700
9701 2009-08-25  Jim Meyering  <meyering@redhat.com>
9702
9703         libguestfs uses gnulib
9704         * users.txt: Add libguestfs.
9705
9706 2009-08-24  Eric Blake  <ebb9@byu.net>
9707
9708         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
9709         * lib/pipe2.c (includes): Add binary-io.h.
9710         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
9711
9712 2009-08-24  Bruno Haible  <bruno@clisp.org>
9713
9714         Tolerate declared but missing accept4 syscall.
9715         * lib/accept4.c (accept4): Invoke original accept4 function first, if
9716         available.
9717         * lib/sys_socket.in.h (accept4): If the function is already present,
9718         override it.
9719         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
9720         * modules/accept4 (Makefile.am): Compile accept4.c always.
9721         Reported by Paolo Bonzini and Eric Blake.
9722
9723 2009-08-23  Bruno Haible  <bruno@clisp.org>
9724
9725         New module 'accept4'.
9726         * lib/sys_socket.in.h (accept4): New declaration.
9727         * lib/accept4.c: New file.
9728         * m4/accept4.m4: New file.
9729         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
9730         GNULIB_ACCEPT4, HAVE_ACCEPT4.
9731         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
9732         HAVE_ACCEPT4.
9733         * modules/accept4: New file.
9734         * doc/glibc-functions/accept4.texi: Mention the new module.
9735
9736 2009-08-24  Jim Meyering  <meyering@redhat.com>
9737
9738         progname: also set global program_invocation_name, when possible
9739         Before this change, a libtool-enabled program that calls glibc's
9740         error function would report the program name as
9741         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
9742         * modules/progname (configure.ac): Check for a declaration of
9743         program_invocation_name.
9744         * lib/progname.c:  Include <errno.h>.
9745         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
9746         Set program_invocation_name.
9747
9748 2009-08-23  Bruno Haible  <bruno@clisp.org>
9749
9750         * lib/dup3.c: Include <string.h>.
9751
9752 2009-08-23  Bruno Haible  <bruno@clisp.org>
9753
9754         * lib/dup3.c (dup3): Test only once whether the system actually exists.
9755         * lib/pipe2.c (pipe2): Likewise.
9756         Suggested by Eric Blake.
9757
9758 2009-08-23  Bruno Haible  <bruno@clisp.org>
9759
9760         Tolerate declared but missing dup3 syscall.
9761         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
9762         * lib/unistd.in.h (dup3): If the function is already present,
9763         override it.
9764         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
9765         * modules/dup3 (Makefile.am): Compile dup3.c always.
9766         Reported by Paolo Bonzini.
9767
9768 2009-08-23  Bruno Haible  <bruno@clisp.org>
9769
9770         Tolerate declared but missing pipe2 syscall.
9771         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
9772         available.
9773         * lib/unistd.in.h (pipe2): If the function is already present,
9774         override it.
9775         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
9776         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
9777         Reported by Paolo Bonzini.
9778
9779 2009-08-23  Bruno Haible  <bruno@clisp.org>
9780
9781         * lib/pipe2.c (pipe2): Move #ifs inside function.
9782
9783 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9784
9785         quotearg: document limitations of quote_these_too
9786         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
9787         those limitations are created.
9788         * lib/quotearg.h (set_char_quoting): Document that digits and
9789         letters that are special after backslash are not permitted.
9790         (quotearg_char): Cross-reference set_char_quoting documentation.
9791
9792 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
9793
9794         quotearg: implement custom_quoting_style
9795         * lib/quotearg.c: (struct quoting_options): Add left_quote and
9796         right_quote fields.
9797         (set_custom_quoting): New public function.
9798         (quotearg_buffer_restyled): Add left_quote and right_quote
9799         arguments, handle them very much like locale quoting, and update
9800         all uses.
9801         (quotearg_n_custom): New public function.
9802         (quotearg_n_custom_mem): New public function.
9803         (quotearg_custom): New public function.
9804         (quotearg_custom_mem): New public function.
9805         * lib/quotearg.h: Prototype and document new public functions.
9806         (enum quoting_style): For escape_quoting_style and
9807         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
9808         ignored even though they're otherwise like c_quoting_style.
9809         Add custom_quoting_style member and document with comparison to
9810         clocale_quoting_style.
9811         * tests/test-quotearg.c (custom_quotes): New array.
9812         (custom_results): New array.
9813         (main): Extend to test custom quoting.
9814
9815 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9816
9817         quotearg: fix right quote escaping when it's in quote_these_too
9818         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
9819         quote, be sure to prepend only one backslash.
9820         * tests/test-quotearg.c (use_quote_double_quotes): New function.
9821         (main): Test it.
9822
9823 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9824
9825         quotearg-tests: test escaping of embedded locale quotes
9826         * tests/test-quotearg.c (struct result_strings): Add member for
9827         new input.
9828         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
9829         (inputs): Add new input.
9830         (results_g): Add expected results.
9831         (flag_results): Likewise.
9832         (locale_results): Likewise.
9833         (compare_strings): Check those.
9834
9835 2009-08-23  Bruno Haible  <bruno@clisp.org>
9836
9837         Tests for module 'dup3'.
9838         * modules/dup3-tests: New file.
9839         * tests/test-dup3.c: New file.
9840
9841         New module 'dup3'.
9842         * lib/unistd.in.h (dup3): New declaration.
9843         * lib/dup3.c: New file.
9844         * m4/dup3.m4: New file.
9845         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
9846         HAVE_DUP3.
9847         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
9848         * modules/dup3: New file.
9849         * doc/glibc-functions/dup3.texi: Mention the new module.
9850
9851 2009-08-23  Bruno Haible  <bruno@clisp.org>
9852
9853         Tweak the dup2 test.
9854         * tests/test-dup2.c (main): Create the test file empty. Verify that an
9855         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
9856         the test file is still empty. Fix argument order of lseek.
9857
9858 2009-08-23  Bruno Haible  <bruno@clisp.org>
9859
9860         Avoid test link errors when the modules getopt-gnu, gettext are used.
9861         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
9862         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9863
9864 2009-08-23  Bruno Haible  <bruno@clisp.org>
9865
9866         Fix getdtablesize() on mingw.
9867         * lib/getdtablesize.c (getdtablesize): Implement differently.
9868         * lib/unistd.in.h (getdtablesize): Improve comment.
9869
9870 2009-08-23  Bruno Haible  <bruno@clisp.org>
9871
9872         New module 'mkostemp'.
9873         Based on Ulrich Drepper's 2007-08-10 change in glibc.
9874         * lib/stdlib.in.h (mksotemp): New declaration.
9875         * lib/mkostemp.c: New file, from glibc with modifications.
9876         * lib/tempname.h (GT_FILE): Remove outdated comment.
9877         (gen_tempname): Add flags argument.
9878         * lib/tempname.c (__GT_BIGFILE): Remove macro.
9879         (__GT_FILE): Map to 1.
9880         (small_open, large_open): Remove macros.
9881         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
9882         * lib/mkstemp.c (mkstemp): Update.
9883         * lib/mkdtemp.c (mkdtemp): Likewise.
9884         * m4/mkostemp.m4: New file.
9885         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
9886         HAVE_MKOSTEMP.
9887         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
9888         HAVE_MKOSTEMP.
9889         * modules/mkostemp: New file, based on modules/mkstemp.
9890         * doc/glibc-functions/mkostemp.texi: Mention the new module.
9891         * NEWS: Mention the change.
9892
9893 2009-08-23  Bruno Haible  <bruno@clisp.org>
9894
9895         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
9896         Reported by Eric Blake.
9897
9898 2009-08-23  Bruno Haible  <bruno@clisp.org>
9899
9900         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
9901         Reported by Eric Blake.
9902
9903 2009-08-23  Bruno Haible  <bruno@clisp.org>
9904
9905         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
9906         * modules/pipe2 (Depends-on): Likewise.
9907
9908 2009-08-23  Eric Blake  <ebb9@byu.net>
9909
9910         fcntl-h: add O_TTY_INIT support
9911         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
9912         * tests/test-fcntl-h.c (o): Test it.
9913         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
9914
9915         fcntl-h: rename from fcntl, in preparation for fcntl(2)
9916         * modules/fcntl: Move <fcntl.h> header replacement...
9917         * modules/fcntl-h: ...to new name, so as not to collide with
9918         like-named function.
9919         * tests/test-fcntl.c: Rename...
9920         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
9921         * modules/fcntl-tests: Rename...
9922         * modules/fcntl-h-tests: ...to this.  Update test file name.
9923         * modules/chdir-long (Depends-on): Update clients.
9924         * modules/chdir-safer (Depends-on): Likewise.
9925         * modules/fcntl-safer (Depends-on): Likewise.
9926         * modules/fts (Depends-on): Likewise.
9927         * modules/mkancesdirs (Depends-on): Likewise.
9928         * modules/mkdir-p (Depends-on): Likewise.
9929         * modules/open (Depends-on): Likewise.
9930         * modules/savewd (Depends-on): Likewise.
9931         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
9932         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
9933
9934 2009-08-22  Bruno Haible  <bruno@clisp.org>
9935
9936         * modules/binary-io (License): Relicense under LGPL.
9937         * modules/pipe2 (License): Likewise.
9938
9939 2009-08-22  Bruno Haible  <bruno@clisp.org>
9940
9941         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
9942         return value.
9943         * lib/pipe-filter-gi.c (filter_init): Likewise.
9944         Reported by Eric Blake.
9945
9946 2009-08-22  Bruno Haible  <bruno@clisp.org>
9947
9948         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
9949         * modules/pipe (Depends-on): Add pipe2.
9950
9951 2009-08-22  Bruno Haible  <bruno@clisp.org>
9952
9953         Tests for module 'pipe2'.
9954         * modules/pipe2-tests: New file.
9955         * tests/test-pipe2.c: New file.
9956
9957         New module 'pipe2'.
9958         * lib/unistd.in.h (pipe2): New declaration.
9959         * lib/pipe2.c: New file.
9960         * m4/pipe2.m4: New file.
9961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
9962         HAVE_PIPE2.
9963         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
9964         * modules/pipe2: New file.
9965         * doc/glibc-functions/pipe2.texi: Mention the new module.
9966
9967 2009-08-22  Bruno Haible  <bruno@clisp.org>
9968
9969         Reference some new glibc functions.
9970         * doc/glibc-functions/accept4.texi: New file.
9971         * doc/glibc-functions/dup3.texi: New file.
9972         * doc/glibc-functions/mkostemp.texi: New file.
9973         * doc/glibc-functions/pipe2.texi: New file.
9974         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
9975         (Glibc sys/socket.h): Refer to accept4.
9976         (Glibc unistd.h): Refer to dup3, pipe2.
9977         Reported by Eric Blake.
9978
9979 2009-08-22  Jim Meyering  <meyering@redhat.com>
9980             Bruno Haible  <bruno@clisp.org>
9981
9982         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
9983         This makes it so packages using automake-1.11's silent-rules option
9984         can print e.g., a single "GEN    configmake.h" line, rather than
9985         the 30+ statements that perform the job.  If you want to see the
9986         actual commands, you can still run "make V=1".
9987         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
9988         so that make output is abbreviated when those variables are defined
9989         appropriately.
9990         * modules/argz: Likewise.
9991         * modules/arpa_inet: Likewise.
9992         * modules/byteswap: Likewise.
9993         * modules/configmake: Likewise.
9994         * modules/dirent: Likewise.
9995         * modules/errno: Likewise.
9996         * modules/fcntl: Likewise.
9997         * modules/float: Likewise.
9998         * modules/fnmatch: Likewise.
9999         * modules/getopt-posix: Likewise.
10000         * modules/glob: Likewise.
10001         * modules/iconv_open: Likewise.
10002         * modules/inttypes: Likewise.
10003         * modules/localcharset: Likewise.
10004         * modules/locale: Likewise.
10005         * modules/math: Likewise.
10006         * modules/netdb: Likewise.
10007         * modules/netinet_in: Likewise.
10008         * modules/poll: Likewise.
10009         * modules/posix_spawnp-tests: Likewise.
10010         * modules/sched: Likewise.
10011         * modules/search: Likewise.
10012         * modules/selinux-h: Likewise.
10013         * modules/signal: Likewise.
10014         * modules/spawn: Likewise.
10015         * modules/stdarg: Likewise.
10016         * modules/stdbool: Likewise.
10017         * modules/stddef: Likewise.
10018         * modules/stdint: Likewise.
10019         * modules/stdio: Likewise.
10020         * modules/stdlib: Likewise.
10021         * modules/string: Likewise.
10022         * modules/strings: Likewise.
10023         * modules/sys_file: Likewise.
10024         * modules/sys_ioctl: Likewise.
10025         * modules/sys_select: Likewise.
10026         * modules/sys_socket: Likewise.
10027         * modules/sys_stat: Likewise.
10028         * modules/sys_time: Likewise.
10029         * modules/sys_times: Likewise.
10030         * modules/sys_utsname: Likewise.
10031         * modules/sys_wait: Likewise.
10032         * modules/sysexits: Likewise.
10033         * modules/time: Likewise.
10034         * modules/unistd: Likewise.
10035         * modules/wchar: Likewise.
10036         * modules/wctype: Likewise.
10037
10038 2009-08-22  Jim Meyering  <meyering@redhat.com>
10039
10040         announce-gen: detect write failure
10041         * build-aux/announce-gen: Add Coda at end.
10042         Remove equivalent-but-more-verbose block at top.
10043
10044 2009-08-19  Akim Demaille  <demaille@gostai.com>
10045
10046         bootstrap: --help to stdout.
10047         * bootstrap (usage): Don't send --help to stderr.
10048         Use a here doc instead of a long string.
10049
10050 2009-08-21  Eric Blake  <ebb9@byu.net>
10051
10052         test-popen-safer: split from test-popen
10053         * tests/test-popen.c (main): Move...
10054         * tests/test-popen.h: ...into new file.
10055         * tests/test-popen-safer2.c: New file.
10056         * modules/popen-tests (Files): Add test-popen.h.
10057         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
10058         Suggested by Bruno Haible.
10059
10060         test-fcntl-safer: split from test-open
10061         * tests/test-open.c (main): Move...
10062         * tests/test-open.h: ...into new file.
10063         * tests/test-fcntl-safer.c: New file.
10064         * modules/open-tests (Files): Add test-open.h.
10065         * modules/fcntl-safer-tests: New file.
10066         Suggested by Bruno Haible.
10067
10068         test-fopen-safer: split from test-fopen
10069         * tests/test-fopen.c (main): Move...
10070         * tests/test-fopen.h: ...into new file.
10071         * tests/test-fopen-safer.c: New file.
10072         * modules/fopen-tests (Files): Add test-fopen.h.
10073         * modules/fopen-safer-tests: New file.
10074         Suggested by Bruno Haible.
10075
10076 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
10077
10078         popen-safer: test O_CLOEXEC at run-time.
10079         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
10080
10081 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
10082
10083         fcntl: move more flags to the header
10084         * lib/cloexec.c: Do not define FD_CLOEXEC here.
10085         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
10086         * lib/fcntl.in.h: Do both things here.
10087
10088 2009-08-21  Jim Meyering  <meyering@redhat.com>
10089
10090         consistently remove $@-t before redirecting to it
10091         * modules/argz: Remove $@-t and $@ before redirecting to the former.
10092         * modules/alloca-opt: Likewise.
10093         * modules/byteswap: Likewise.
10094         * modules/fnmatch: Likewise.
10095         * modules/getopt-posix: Likewise.
10096         * modules/glob: Likewise.
10097         * modules/poll: Likewise.
10098         * modules/posix_spawnp-tests: Likewise.
10099         * modules/sys_socket: Likewise.
10100         * modules/sysexits: Likewise.
10101
10102 2009-08-21  Eric Blake  <ebb9@byu.net>
10103
10104         popen: simplify access to original popen
10105         * lib/popen.c (rpl_popen): No need to worry about popen being a
10106         macro.
10107         Reported by Bruno Haible.
10108
10109 2009-08-20  Eric Blake  <ebb9@byu.net>
10110
10111         build: avoid some compiler warnings
10112         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
10113         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
10114         type.
10115         (new_exclude_segment, excluded_file_pattern_p)
10116         (excluded_file_name_p): Reduce scope.
10117         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
10118         old-style declaration.
10119
10120 2009-08-20  Simon Josefsson  <simon@josefsson.org>
10121
10122         * tests/test-exclude1.sh: Handle Windows EOL.
10123         * tests/test-exclude2.sh: Likewise.
10124         * tests/test-exclude3.sh: Likewise.
10125         * tests/test-exclude4.sh: Likewise.
10126         * tests/test-exclude5.sh: Likewise.
10127         * tests/test-exclude6.sh: Likewise.
10128         * tests/test-exclude7.sh: Likewise.
10129
10130 2009-08-19  Akim Demaille  <demaille@gostai.com>
10131
10132         bootstrap: find sha1sum when named gsha1sum.
10133         * bootstrap (find_tool): New.
10134         ($SHA1SUM): New.
10135         Use it.
10136
10137 2009-08-20  Jim Meyering  <meyering@redhat.com>
10138
10139         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
10140         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
10141         expression that converts "." in a file name to "\." in the resulting
10142         regexp.  Start with a dummy statement, so that prior shell variable
10143         definitions are expanded portably.  Reported by Simon Josefsson.
10144
10145 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
10146
10147         Fix polling for writeability of a screen buffer.
10148         * lib/poll.c: Distinguish input and screen buffers for the
10149         Win32 implementation.
10150         * lib/select.c: Likewise.
10151
10152 2009-08-19  Eric Blake  <ebb9@byu.net>
10153
10154         popen-safer: prevent popen from clobbering std descriptors
10155         * modules/popen-safer: New file.
10156         * lib/popen-safer.c: Likewise.
10157         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
10158         * lib/stdio--.h (popen): Provide override.
10159         * lib/stdio-safer.h (popen_safer): Provide declaration.
10160         * tests/test-popen.c (includes): Partially test this.
10161         * modules/popen-safer-tests: New file, for more tests.
10162         * tests/test-popen-safer.c: Likewise.
10163         * MODULES.html.sh (file stream based Input/Output): Mention it.
10164
10165         tests: test some of the *-safer modules
10166         * modules/fopen-safer (Depends-on): Add fopen.
10167         * modules/fcntl-safer (Depends-on): Add fcntl.
10168         * modules/stdlib-safer (Depends-on): Add stdlib.
10169         (configure.ac): Set indicator.
10170         * modules/unistd-safer (configure.ac): Likewise.
10171         * modules/tmpfile-safer (configure.ac): Likewise.
10172         (Depends-on): Add tmpfile.
10173         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
10174         active.
10175         * tests/test-fopen.c (includes): Test safer versions when they are
10176         in use.
10177         * tests/test-open.c (includes): Likewise.
10178
10179         popen: fix cygwin 1.5 bug when stdin closed
10180         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
10181         * modules/popen: New file.
10182         * modules/popen-tests: Likewise.
10183         * tests/test-popen.c: Likewise.
10184         * m4/popen.m4: Likewise.
10185         * lib/popen.c: Likewise.
10186         * lib/stdio.in.h (popen): New declaration.
10187         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
10188         * modules/stdio (Makefile.am): Likewise.
10189         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
10190
10191 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
10192
10193         maint.mk: give full control over update-copyright exclusions
10194         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
10195         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
10196         (update-copyright): Don't force inclusion of top-level
10197         ChangeLog.  Don't force exclusion of all COPYING files, but make
10198         them the default exclusion instead.
10199
10200 2009-08-16  Bruno Haible  <bruno@clisp.org>
10201
10202         Fix test failures on Solaris 10.
10203         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
10204         tests when Solaris iconv() is used.
10205         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
10206         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
10207         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
10208         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
10209         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
10210
10211 2009-08-16  Bruno Haible  <bruno@clisp.org>
10212
10213         Fix test failures on Solaris 10.
10214         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
10215         'tr' program and pass it as first argument.
10216         * tests/test-pipe-filter-gi1.sh: Likewise.
10217         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
10218         program as first argument.
10219         * tests/test-pipe-filter-gi1.c (main): Likewise.
10220
10221 2009-08-16  Eric Blake  <ebb9@byu.net>
10222
10223         fpurge: fix previous commits
10224         * modules/fpurge (Makefile.am): Make replacement conditional,
10225         partially reverting 2007-04-29 change; missed in previous
10226         attempt.
10227         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
10228         is missing.
10229
10230 2009-08-16  Bruno Haible  <bruno@clisp.org>
10231
10232         Clarify fpurge's effect on the file position.
10233         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
10234         * tests/test-fpurge.c (main): Make a second pass for checking the file
10235         position.
10236
10237 2009-08-16  Bruno Haible  <bruno@clisp.org>
10238
10239         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
10240         declaration of fpurge is missing.
10241         * tests/test-fpurge.c (main): Check that the file has not more contents
10242         than expected. Close the file before removing it.
10243
10244 2009-08-15  Eric Blake  <ebb9@byu.net>
10245
10246         fpurge: don't wrap working cygwin implementation
10247         * lib/fpurge.c (fpurge): Fix comment typo.
10248         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
10249         1.7 to avoid replacement.
10250         * tests/test-fpurge.c (main): Enhance test.
10251
10252 2009-08-15  Eric Blake  <ebb9@byu.net>
10253         and Jim Meyering  <meyering@redhat.com>
10254
10255         test-update-copyright: skip if perl is insufficient
10256         * tests/test-update-copyright.sh: Failure to run maintainer tool
10257         should not cause testsuite failure on cygwin 1.5.
10258
10259 2009-08-14  Eric Blake  <ebb9@byu.net>
10260
10261         doc: mention more functions added in cygwin 1.7.0
10262         * doc/posix-headers/limits.texi (limits.h): Update for recent
10263         cygwin additions.
10264         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
10265         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
10266         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
10267         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
10268         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
10269
10270 2009-08-14  Eric Blake  <ebb9@byu.net>
10271
10272         maint.mk: simplify update-copyright rule
10273         * top/maint.mk (update-copyright-local): Delete, and document how
10274         to do it in cfg.mk instead.
10275         (update-copyright-exclude-regexp): Delete, and document how to do
10276         it in .x-update-copyright instead.
10277         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
10278         exclude ChangeLog.
10279
10280 2009-08-14  Bruno Haible  <bruno@clisp.org>
10281
10282         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
10283
10284 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
10285
10286         maint.mk: support update-copyright-env
10287         * top/maint.mk (update-copyright-env): Define place-holder.
10288         (update-copyright): Expand $(update-copyright-env) before
10289         invoking update-copyright.
10290
10291 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
10292
10293         update-copyright: implement forced reformatting
10294         * build-aux/update-copyright: Implement and document
10295         UPDATE_COPYRIGHT_FORCE.
10296         * tests/test-update-copyright.sh: Test it.
10297
10298 2009-08-14  Eric Blake  <ebb9@byu.net>
10299         and Bruno Haible  <bruno@clisp.org>
10300
10301         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
10302         * tests/test-locale.c: Revert previous patch related to NULL.
10303         * tests/test-stdio.c: Likewise.
10304         * tests/test-stdlib.c: Likewise.
10305         * tests/test-string.c: Likewise.
10306         * tests/test-unistd.c: Likewise.
10307         * modules/time-tests (Depends-on): Add verify.
10308         * modules/wchar-tests (Depends-on): Likewise.
10309         * tests/test-time.c: Test for NULL compliance.
10310         * tests/test-wchar.c: Likewise.
10311         * modules/locale (Depends-on): Add stddef.
10312         * modules/stdio (Depends-on): Likewise.
10313         * modules/stdlib (Depends-on): Likewise.
10314         * modules/string (Depends-on): Likewise.
10315         * modules/time (Depends-on): Likewise.
10316         * modules/unistd (Depends-on): Likewise.
10317         * modules/wchar (Depends-on): Likewise.
10318         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
10319         * lib/stdlib.in.h (includes): Likewise.
10320         * lib/string.in.h (includes): Likewise.
10321         * lib/time.in.h (includes): Likewise.
10322         * lib/unistd.in.h (includes): Likewise.
10323         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
10324         replaced.
10325         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
10326         * m4/stddef_h.m4: New file.
10327         * modules/stddef: Likewise.
10328         * lib/stddef.in.h: Likewise.
10329         * modules/stddef-tests: Likewise.
10330         * tests/test-stddef.c: Likewise.
10331         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
10332         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
10333         * doc/posix-headers/locale.texi (locale.h): Likewise.
10334         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
10335         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
10336         * doc/posix-headers/string.texi (string.h): Likewise.
10337         * doc/posix-headers/time.texi (time.h): Likewise.
10338         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
10339         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
10340
10341 2009-08-14  Eric Blake  <ebb9@byu.net>
10342
10343         doc: improve git diff of texinfo files
10344         * .gitattributes: Add rule for *.texi files, with hint on how to
10345         use it.
10346         Copied from m4, and based on a report by Bruno Haible.
10347
10348 2009-08-14  Bruno Haible  <bruno@clisp.org>
10349
10350         Disable multithread support by default on Cygwin 1.5.x for real.
10351         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
10352
10353 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
10354
10355         update-copyright: much ado about intervals
10356         * build-aux/update-copyright: Implement and document
10357         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
10358         of copyright year intervals.
10359         Also, document UPDATE_COPYRIGHT_YEAR.
10360         * tests/test-update-copyright.sh: Test it.
10361
10362         update-copyright: convert 2-digit to 4-digit years
10363         * build-aux/update-copyright: Implement and document.
10364         * tests/test-update-copyright.sh: Update.
10365
10366 2009-08-14  Jim Meyering  <meyering@redhat.com>
10367
10368         test-exclude: avoid coreutils "make check" failure
10369         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
10370         just as in test-argmatch.c.
10371
10372 2009-08-13  Eric Blake  <ebb9@byu.net>
10373
10374         test-dup2: fix bad assumption
10375         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
10376         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
10377
10378         test-version-etc: fix CRLF portability issue
10379         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
10380         recognize \r.
10381         * tests/test-argp-version-etc-1.sh: Likewise.
10382
10383         getopt: update client modules
10384         * modules/argp (Depends-on): Use getopt-gnu.
10385         * modules/git-merge-changelog (Depends-on): Likewise.
10386         * modules/long-options (Depends-on): Likewise.
10387         * modules/xstrtol (Depends-on): Likewise.
10388
10389 2009-08-13  Simon Josefsson  <simon@josefsson.org>
10390
10391         * tests/test-version-etc.sh: Don't fail on different
10392         project/version.  Don't fail on CRLF differences.  Rewrite to use
10393         multiple -e instead of multiple sed forks, suggested by Eric Blake
10394         <ebb9@byu.net>.
10395         * tests/test-argp-version-etc-1.sh: Likewise.
10396
10397 2009-08-13  Simon Josefsson  <simon@josefsson.org>
10398
10399         * tests/test-version-etc.sh: Don't fail on different
10400         project/version.
10401
10402 2009-08-12  Bruno Haible  <bruno@clisp.org>
10403
10404         Tests for modules 'getopt-posix', 'getopt-gnu'.
10405         * modules/getopt-posix-tests: New file.
10406         * tests/test-getopt.c: New file.
10407         * tests/test-getopt.h: New file.
10408         * tests/test-getopt_long.h: New file.
10409
10410         New modules 'getopt-posix', 'getopt-gnu'.
10411         * modules/getopt-gnu: New file, renamed from modules/getopt.
10412         * modules/getopt-posix: New file.
10413         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
10414         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
10415         (gl_GETOPT): Remove macro.
10416         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
10417         Disable the test against BSD systems that declare optreset. Test
10418         against mingw bug. Test against lack of support of optional arguments
10419         on many platforms.
10420         * doc/glibc-headers/getopt.texi: Update module name and list of
10421         relevant platforms.
10422         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
10423         'getopt-gnu' and more portability problems.
10424         * NEWS: Mention the changes.
10425
10426 2009-08-12  Bruno Haible  <bruno@clisp.org>
10427
10428         Ensure that optarg etc. get declared by <unistd.h>.
10429         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
10430         AC_USE_SYSTEM_EXTENSIONS.
10431         * modules/getopt (Depends-on): Add 'extensions'.
10432
10433 2009-08-12  Bruno Haible  <bruno@clisp.org>
10434
10435         Avoid test link errors.
10436         * modules/pipe-filter-ii-tests (Makefile.am): Define
10437         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
10438         * modules/pipe-filter-gi-tests (Makefile.am): Define
10439         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
10440         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10441
10442 2009-08-12  Bruno Haible  <bruno@clisp.org>
10443
10444         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
10445         gl_GETOPT_SUBSTITUTE before.
10446         (gl_GETOPT): Use it.
10447         * m4/argp.m4 (gl_ARGP): Update.
10448         Reported by Sergey Poznyakoff.
10449
10450         * m4/getopt.m4: Reorder macros.
10451         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
10452         (gl_GETOPT_SUBSTITUTE): Remove macro.
10453
10454 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
10455
10456         Minor improvement in gitlog-to-changelog
10457
10458         * build-aux/gitlog-to-changelog: New option `--format' makes
10459         output format string configurable.
10460
10461 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
10462
10463         Optimize exclude: use hash tables for non-wildcard patterns.
10464
10465         * lib/exclude.c: Include hash.h and mbuiter.h
10466         (struct exclude_pattern, exclude_segment): New data types.
10467         (struct exclude): Rewrite.
10468         (fnmatch_pattern_has_wildcards): New function.
10469         (new_exclude_segment, free_exclude_segment): New functions.
10470         (excluded_file_pattern_p, excluded_file_name_p): New functions.
10471         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
10472         * lib/exclude.h (is_fnmatch_pattern): New prototype.
10473         * modules/exclude: Depend on hash and mbuiter.
10474
10475         * modules/exclude-tests: New file.
10476         * tests/test-exclude.c: New file.
10477         * tests/test-exclude1.sh: New file.
10478         * tests/test-exclude2.sh: New file.
10479         * tests/test-exclude3.sh: New file.
10480         * tests/test-exclude4.sh: New file.
10481         * tests/test-exclude5.sh: New file.
10482         * tests/test-exclude6.sh: New file.
10483         * tests/test-exclude7.sh: New file.
10484
10485 2009-08-12  Bruno Haible  <bruno@clisp.org>
10486
10487         Ensure that getopt() gets declared by <unistd.h>.
10488         * lib/unistd.in.h: Conditionally include getopt.h.
10489         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
10490         Set GNULIB_UNISTD_H_GETOPT.
10491         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10492         GNULIB_UNISTD_H_GETOPT.
10493         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
10494
10495 2009-08-12  Bruno Haible  <bruno@clisp.org>
10496
10497         Clarify logic.
10498         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
10499         gl_replace_getopt instead of GETOPT_H.
10500
10501 2009-08-12  Bruno Haible  <bruno@clisp.org>
10502
10503         * m4/getopt.m4: Add comments.
10504
10505 2009-08-12  Bruno Haible  <bruno@clisp.org>
10506
10507         Disable multithread support by default on Cygwin 1.5.x.
10508         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
10509         set gl_use_threads=no if not specified otherwise.
10510
10511 2009-08-11  Bruno Haible  <bruno@clisp.org>
10512
10513         Avoid compilation error on NetBSD 5.0.
10514         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
10515         * tests/test-stdio.c: Likewise.
10516         * tests/test-stdlib.c: Likewise.
10517         * tests/test-string.c: Likewise.
10518         * tests/test-unistd.c: Likewise.
10519         Reported by Greg Troxel <gdt@ir.bbn.com>
10520         at <https://savannah.gnu.org/support/?106973>.
10521
10522 2009-08-11  Bruno Haible  <bruno@clisp.org>
10523
10524         * modules/dup2-tests (Depends-on): Remove close.
10525
10526         Undo 2009-07-19 commit.
10527         * modules/acl-tests (Depends-on): Remove close.
10528         * modules/binary-io-tests (Depends-on): Likewise.
10529         * modules/closein-tests (Depends-on): Likewise.
10530         * modules/flock-tests (Depends-on): Likewise.
10531         * modules/fsync-tests (Depends-on): Likewise.
10532         * modules/lseek-tests (Depends-on): Likewise.
10533         * modules/pipe-tests (Depends-on): Likewise.
10534         * modules/posix_spawn-tests (Depends-on): Likewise.
10535         * modules/posix_spawnp-tests (Depends-on): Likewise.
10536         * modules/stat-time-tests (Depends-on): Likewise.
10537         * modules/yesno-tests (Depends-on): Likewise.
10538
10539 2009-08-10  Bruno Haible  <bruno@clisp.org>
10540
10541         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
10542
10543 2009-08-10  Bruno Haible  <bruno@clisp.org>
10544
10545         Fix a gcc warning.
10546         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
10547
10548 2009-08-10  Bruno Haible  <bruno@clisp.org>
10549
10550         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
10551         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
10552         not only the first time.
10553         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
10554         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
10555         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
10556         is 1, not only the the first time.
10557
10558 2009-08-10  Bruno Haible  <bruno@clisp.org>
10559
10560         Make it possible to use module 'gethostname' without module 'close'.
10561         * lib/unistd.in.h (close): Evoke a link error only if
10562         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
10563         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10564         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10565         * modules/unistd (Makefile.am): Substitute
10566         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10567         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
10568         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
10569         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
10570         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10571         * modules/sys_ioctl (Makefile.am): Substitute
10572         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10573         * modules/socket (configure.ac): On native Windows, set
10574         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
10575         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10576         Reported by Sam Steingold <sds@gnu.org>.
10577
10578 2009-08-10  Bruno Haible  <bruno@clisp.org>
10579
10580         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
10581         * modules/ioctl (configure.ac): Likewise.
10582
10583 2009-08-10  Bruno Haible  <bruno@clisp.org>
10584
10585         Avoid collision between gnulib wrapper and libintl wrapper.
10586         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
10587         already defined in intl/printf.c.
10588         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
10589         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
10590
10591 2009-08-09  Bruno Haible  <bruno@clisp.org>
10592
10593         Make <sys/select.h> really self-contained, also on Solaris 10.
10594         * lib/sys_select.in.h: Include <string.h>.
10595         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
10596         Solaris 10 problem.
10597         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
10598         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
10599         Reported by Jim Meyering.
10600
10601 2009-08-09  Bruno Haible  <bruno@clisp.org>
10602
10603         Avoid warnings from 'aclocal' that are due to a use of macro name
10604         AM_XGETTEXT_OPTION that is not defined in automake.
10605         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
10606         automake.
10607         * modules/error (configure.ac): Likewise.
10608         * modules/propername (configure.ac): Likewise.
10609         * modules/vasprintf (configure.ac): Likewise.
10610         * modules/verror (configure.ac): Likewise.
10611         * modules/xprintf (configure.ac): Likewise.
10612         * modules/xvasprintf (configure.ac): Likewise.
10613
10614 2009-08-08  Bruno Haible  <bruno@clisp.org>
10615
10616         Avoid compilation error in C++ mode.
10617         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
10618         Reported by Sam Steingold <sds@gnu.org>.
10619
10620 2009-08-08  Bruno Haible  <bruno@clisp.org>
10621
10622         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
10623         for the various Unix platforms.
10624         * doc/posix-headers/limits.texi: Update platforms list regarding
10625         HOST_NAME_MAX.
10626         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10627
10628 2009-08-07  Jim Meyering  <meyering@redhat.com>
10629
10630         selinux-at: fix typo in a comment
10631         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
10632         Spotted by Paolo Bonzini.
10633
10634         selinux-at: remove redundant m4 code, add documentation
10635         * modules/selinux-at (configure.ac): Remove redundant code.
10636         LIB_SELINUX is already set via the dependent module, selinux-h.
10637         (Include): Add quotes around selinux-at.h.
10638         * lib/selinux-at.h: Add documentation.
10639         Reported by Bruno Haible in
10640         http://marc.info/?l=gnulib-bug&m=124958988300749
10641
10642 2009-08-07  Bruno Haible  <bruno@clisp.org>
10643
10644         Avoid link error on MacOS X 10.3 and 10.4.
10645         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
10646         on non-ELF systems.
10647         * lib/argp-pv.c (argp_program_version): Likewise.
10648         Reported by Simon Josefsson.
10649
10650 2009-08-07  Simon Josefsson  <simon@josefsson.org>
10651
10652         * tests/test-version-etc.sh: Use $EXEEXT.
10653
10654 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
10655
10656         update-copyright: update documentation to point to maint.mk
10657         * build-aux/update-copyright: Here.
10658
10659 2009-08-06  Jim Meyering  <meyering@redhat.com>
10660
10661         maint.mk: support update-copyright-local
10662         * top/maint.mk (update-copyright-local): Define place-holder.
10663         (update-copyright): Depend on $(update-copyright-local).
10664
10665 2009-08-06  Jim Meyering  <meyering@redhat.com>
10666
10667         selinux-at: new module
10668         Initially written for coreutils, this module will soon be
10669         used by findutils, too.
10670         * MODULES.html.sh [Misc]: Add selinux-at.
10671         * lib/selinux-at.h: New file, from coreutils.
10672         * lib/selinux-at.c: Likewise.
10673         * modules/selinux-at: Likewise.
10674         (License): Change from LGPL to GPL, since it depends
10675         on the GPL'd openat module.
10676
10677         doc: update README
10678         * README: Remove references to cogito.
10679         Remove cvs-repo-updating instructions from 2007.
10680         Don't imply that CVS is better if you have limited disk space.
10681
10682 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10683
10684         update-copyright: support C-style comments
10685         * build-aux/update-copyright: Implement and document.
10686         * tests/test-update-copyright.sh: Test.
10687
10688 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10689
10690         update-copyright: support omitted "(C)"
10691         * build-aux/update-copyright: Implement and document.  Also,
10692         allow variable whitespace before "(C)".
10693         * tests/test-update-copyright.sh: Test.
10694
10695 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10696
10697         update-copyright: don't trip on non-FSF copyright statements
10698         * build-aux/update-copyright: Fix so that the first correctly
10699         formatted FSF copyright statement is recognized no matter what
10700         appears before it.  Update documentation.
10701         * tests/test-update-copyright.sh: Test that.
10702
10703 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10704
10705         update-copyright: clean up code a little
10706         * build-aux/update-copyright: Append "_re" to the name of any
10707         variable holding a regular expression.
10708         Replace "old" and "new" with "stmt" in variable names.
10709         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
10710         handled correctly.
10711         Format code more consistently.
10712
10713 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10714
10715         update-copyright-tests: improve portability
10716         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
10717         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
10718
10719 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
10720
10721         update-copyright: support @copyright{} and &copy;
10722         * build-aux/update-copyright: Implement and document.
10723         * tests/test-update-copyright.sh: Test.
10724
10725 2009-08-04  Jim Meyering  <meyering@redhat.com>
10726
10727         update-copyright-tests: correctly test EOL=\r\n handling
10728         * tests/test-update-copyright.sh: Put \r at the end of some lines
10729         for the dos-eol tests.  Based on a patch by Joel E. Denny.
10730
10731         maint.mk: make update-copyright exclusion list more configurable
10732         * top/maint.mk (update-copyright): Default to excluding COPYING,
10733         but allow an override, in case someone does want to update that file.
10734
10735         maint.mk: don't update copyright date in COPYING
10736         * top/maint.mk (update-copyright): Exclude COPYING.
10737
10738         maint.mk: add a copyright-updating rule
10739         * top/maint.mk (update-copyright): New rule.
10740         Derived from coreutils/Makefile.am.
10741
10742         update-copyright: rename some variables
10743         * build-aux/update-copyright: Rename a few variables for clarity.
10744         Tweak syntax.  List Joel E. Denny as coauthor.
10745
10746 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
10747
10748         update-copyright: fix bug for 2-digit last year and add tests
10749         * build-aux/update-copyright: Fix bug.
10750         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
10751         specified.
10752         * modules/update-copyright-tests: New
10753         * tests/test-update-copyright.sh: New.
10754
10755 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
10756
10757         update-copyright: handle leading tabs in line prefix
10758         * build-aux/update-copyright: Count leading tabs as 8 spaces
10759         when computing margin.  This helps with the formatting of
10760         ChangeLogs, for example.
10761         Fix documentation a little.
10762
10763 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
10764
10765         update-copyright: support EOL=\r\n
10766         * build-aux/update-copyright: Implement that.
10767
10768 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
10769
10770         update-copyright: automatically format copyright statements
10771         * build-aux/update-copyright: Implement that.
10772         Also, be a little more predictable and safer by always failing
10773         when the full copyright format is not perfectly recognized as an
10774         unbroken whole.  Discussed at
10775         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
10776         Rewrite documentation.
10777
10778 2009-08-03  Bruno Haible  <bruno@clisp.org>
10779
10780         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
10781
10782 2009-08-02  Bruno Haible  <bruno@clisp.org>
10783
10784         Tests for module 'uname'.
10785         * modules/uname-tests: New file.
10786         * tests/test-uname.c: New file.
10787
10788         New module 'uname'.
10789         * lib/uname.c: New file.
10790         * m4/uname.m4: New file.
10791         * modules/uname: New file.
10792         * doc/posix-functions/uname.texi: Mention the new module.
10793
10794 2009-08-02  Bruno Haible  <bruno@clisp.org>
10795
10796         Tests for module 'sys_utsname'.
10797         * modules/sys_utsname-tests: New file.
10798         * tests/test-sys_utsname.c: New file.
10799
10800         New module 'sys_utsname'.
10801         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
10802         * m4/sys_utsname_h.m4: New file.
10803         * modules/sys_utsname: New file.
10804         * doc/posix-headers/sys_utsname.texi: Mention the new module.
10805
10806 2009-08-02  Bruno Haible  <bruno@clisp.org>
10807
10808         Implicitly initialize the sockets library.
10809         * lib/gethostname.c: Include sockets.h.
10810         (rpl_gethostname): Invoke gl_sockets_startup.
10811         * lib/socket.c: Include sockets.h.
10812         (rpl_socket): Invoke gl_sockets_startup.
10813         * modules/gethostname (Depends-on): Add sockets.
10814         * modules/socket (Depends-on): Likewise.
10815         * tests/test-poll.c: Don't include sockets.h.
10816         (main): Don't invoke gl_sockets_startup.
10817         * tests/test-select.c: Don't include sockets.h.
10818         (main): Don't invoke gl_sockets_startup.
10819
10820 2009-08-02  Bruno Haible  <bruno@clisp.org>
10821
10822         Allow multiple calls to gl_sockets_startup.
10823         * lib/sockets.c (initialized_sockets_version): New variable.
10824         (gl_sockets_startup): Do nothing if already called for this or a higher
10825         version.
10826         (gl_sockets_cleanup): Reset initialized_sockets_version.
10827
10828 2009-08-03  Simon Josefsson  <simon@josefsson.org>
10829
10830         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
10831         different project/version.
10832
10833 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
10834             Bruno Haible  <bruno@clisp.org>
10835
10836         Tests for module 'pipe-filter-gi'.
10837         * modules/pipe-filter-gi-tests: New file.
10838         * tests/test-pipe-filter-gi1.sh: New file.
10839         * tests/test-pipe-filter-gi1.c: New file.
10840         * tests/test-pipe-filter-gi2.sh: New file.
10841         * tests/test-pipe-filter-gi2-main.c: New file.
10842         * tests/test-pipe-filter-gi2-child.c: New file.
10843
10844         New module 'pipe-filter-gi'.
10845         * lib/pipe-filter-gi.c: New file.
10846         * modules/pipe-filter-gi: New file.
10847
10848 2009-08-02  Bruno Haible  <bruno@clisp.org>
10849             Paolo Bonzini  <bonzini@gnu.org>
10850
10851         Tests for module 'pipe-filter-ii'.
10852         * modules/pipe-filter-ii-tests: New file.
10853         * tests/test-pipe-filter-ii1.sh: New file.
10854         * tests/test-pipe-filter-ii1.c: New file.
10855         * tests/test-pipe-filter-ii2.sh: New file.
10856         * tests/test-pipe-filter-ii2-main.c: New file.
10857         * tests/test-pipe-filter-ii2-child.c: New file.
10858
10859         New module 'pipe-filter-ii'.
10860         * lib/pipe-filter.h: New file.
10861         * lib/pipe-filter-ii.c: New file.
10862         * lib/pipe-filter-aux.h: New file.
10863         * modules/pipe-filter-ii: New file.
10864
10865 2009-08-02  Simon Josefsson  <simon@josefsson.org>
10866
10867         * lib/gc-libgcrypt.c: Change copyright to FSF.
10868         * lib/gc-gnulib.c: Likewise.
10869
10870 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
10871
10872         * lib/gethostname.c: Include limits.h.
10873
10874 2009-08-02  Simon Josefsson  <simon@josefsson.org>
10875             Bruno Haible  <bruno@clisp.org>
10876
10877         Ensure HOST_NAME_MAX as part of the gethostname module.
10878         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
10879         define also HOST_NAME_MAX.
10880         * tests/test-gethostname.c: Include <limits.h>.
10881         (main): Check also HOST_NAME_MAX.
10882         * doc/posix-headers/limits.texi: Document the mingw problem.
10883
10884 2009-08-02  Bruno Haible  <bruno@clisp.org>
10885
10886         * lib/gethostname.c (gethostname): Fix handling of large len argument.
10887         Add comments.
10888
10889 2009-03-31  Simon Josefsson  <simon@josefsson.org>
10890
10891         * lib/gethostname.c: Add Windows wrapper.
10892         * m4/gethostname.m4: Look for gethostname in -lws2_32.
10893         * modules/gethostname: Depend on sys_socket & errno, for also
10894         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
10895         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
10896
10897 2009-07-31  Jim Meyering  <meyering@redhat.com>
10898
10899         getloadavg: fix symbol name in comment
10900         * lib/getloadavg.c: Correct a typo I introduced when adding
10901         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
10902         Matt Kraai spotted the problem.
10903
10904 2009-07-29  Matt Kraai  <mkraai@beckman.com>
10905
10906         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
10907         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
10908         code also if ! defined N_NAME_POINTER.
10909         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
10910         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
10911         but the n_name member is a 12-byte array.
10912
10913 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
10914
10915         update-copyright: generalize comment handling
10916         * build-aux/update-copyright: Handle copyright statements
10917         within more comment styles.
10918         Document usage.
10919         Report any file with an external copyright holder or parse failure.
10920
10921 2009-07-29  Jim Meyering  <meyering@redhat.com>
10922
10923         mktime: correct setting of REPLACE_MKTIME
10924         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
10925
10926         update-copyright: new module
10927         * modules/update-copyright: New file.
10928         * build-aux/update-copyright: New file.
10929         * MODULES.html.sh (maint+release support): Add update-copyright.
10930
10931 2009-07-27  Bruno Haible  <bruno@clisp.org>
10932
10933         Fix compilation error when <ctime> is used and mktime is replaced.
10934         * lib/time.in.h (mktime): New declaration.
10935         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
10936         REPLACE_MKTIME instead of defining mktime in config.h.
10937         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
10938         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
10939         Reported by Ross McFarland <rwmcfa1@neces.com>.
10940
10941 2009-07-27  Bruno Haible  <bruno@clisp.org>
10942
10943         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
10944         Reported by Matt Kraai <mkraai@beckman.com>.
10945
10946 2009-07-25  Jim Meyering  <meyering@redhat.com>
10947
10948         maint.mk: avoid warnings about missing files
10949         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
10950         diagnostic when .prev-version does not exist.
10951         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
10952         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
10953         nonexistent cfg.mk.
10954         Suggestions from Simon Josefsson.
10955
10956 2009-07-25  Bruno Haible  <bruno@clisp.org>
10957
10958         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
10959         defined as macros. Needed on QNX 6.4.1.
10960         Reported by Matt Kraai <mkraai@beckman.com>.
10961
10962 2009-07-23  Jim Meyering  <meyering@redhat.com>
10963
10964         maint.mk: invoke "make dist" with a working value of XZ_OPT
10965         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
10966
10967 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
10968
10969         Make fseeko.c compile on QNX.
10970         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
10971
10972 2009-07-22  Peter Simons  <simons@cryp.to>
10973
10974         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
10975         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
10976         * lib/md4.h: Likewise.
10977         * lib/md5.h: Likewise.
10978         * lib/sha1.h: Likewise.
10979         * lib/sha256.h: Likewise.
10980         * lib/sha512.h: Likewise.
10981
10982         tests-sha1: don't assign literal string to 'char *' variable
10983         * tests/test-sha1.c (main): Declare locals with "const" to match
10984         attributes of the right hand side.
10985
10986 2009-07-21  Eric Blake  <ebb9@byu.net>
10987
10988         dup2: fix more mingw problems
10989         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
10990         fd to itself.
10991         * doc/posix-functions/dup2.texi (dup2): Document the bug.
10992         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
10993         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
10994         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
10995         care of mingw bugs.
10996
10997 2009-07-21  Jim Meyering  <meyering@redhat.com>
10998
10999         vc-list-files: avoid failure when /bin/sh is dash
11000         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
11001         On some Debian based systems, /bin/sh is a symlink to dash, and running
11002         this command would omit the "/" following each 'tests' prefix:
11003           dash -x build-aux/vc-list-files -C . tests
11004         That is because bash and dash work differently:
11005           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
11006           bash ok
11007           dash odd
11008
11009 2009-07-21  Eric Blake  <ebb9@byu.net>
11010
11011         dup2-tests: test previous patch
11012         * modules/dup2-tests: New file.
11013         * tests/test-dup2.c: Likewise.
11014         * tests/test-open.c (main): Avoid unspecified behavior.
11015         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
11016         test.
11017
11018         dup2: work around mingw and cygwin 1.5 bug
11019         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
11020         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11021         * modules/unistd (Makefile.am): Substitute it.
11022         * lib/unistd.in.h (dup2): Declare the replacement.
11023         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
11024         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
11025         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
11026         * modules/execute (Depends-on): Add dup2.
11027         * modules/fseterr (Depends-on): Likewise.
11028         * modules/pipe (Depends-on): Likewise.
11029         * modules/posix_spawn-internal (Depends-on): Likewise.
11030
11031 2009-07-21  Bruno Haible  <bruno@clisp.org>
11032
11033         * modules/.gitattributes: New file.
11034
11035 2009-07-20  Bruno Haible  <bruno@clisp.org>
11036
11037         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
11038         (main): Use it.
11039
11040 2009-07-20  Eric Blake  <ebb9@byu.net>
11041
11042         test-pipe: make a bit more robust.
11043         * tests/test-pipe.c (myerr): Allow error messages regardless of
11044         what we do to stderr.
11045         (test_pipe): Rearrange to avoid deadlock.
11046         (child_main): Try a larger read, to ensure we avoided deadlock.
11047         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
11048         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
11049         if misused.
11050
11051 2009-07-19  Jim Meyering  <meyering@redhat.com>
11052
11053         fts: avoid false-positive cycle-detection
11054         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
11055         for each new command line argument.
11056
11057 2009-07-19  Bruno Haible  <bruno@clisp.org>
11058
11059         Fix build error on mingw with the modules sys_select and unistd.
11060         * modules/acl-tests (Depends-on): Add close.
11061         * modules/binary-io-tests (Depends-on): Likewise.
11062         * modules/closein-tests (Depends-on): Likewise.
11063         * modules/flock-tests (Depends-on): Likewise.
11064         * modules/fsync-tests (Depends-on): Likewise.
11065         * modules/lseek-tests (Depends-on): Likewise.
11066         * modules/pipe-tests (Depends-on): Likewise.
11067         * modules/posix_spawn-tests (Depends-on): Likewise.
11068         * modules/posix_spawnp-tests (Depends-on): Likewise.
11069         * modules/stat-time-tests (Depends-on): Likewise.
11070         * modules/yesno-tests (Depends-on): Likewise.
11071
11072 2009-07-19  Bruno Haible  <bruno@clisp.org>
11073
11074         Unify conditionals.
11075         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
11076         macros, not at the compiler macros.
11077         * lib/pipe.c: Likewise.
11078         * lib/execute.c: Likewise.
11079         * lib/spawni.c: Likewise.
11080
11081 2009-07-19  Bruno Haible  <bruno@clisp.org>
11082
11083         Fix handling of closed stdin/stdout/stderr on mingw.
11084         * lib/w32spawn.h: Include unistd.h.
11085         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
11086         file descriptor with O_NOINHERIT flag.
11087         (fd_safer_noinherit): New function, based on fd-safer.c.
11088         (dup_safer_noinherit): New function, based on dup-safer.c.
11089         (undup_safer_noinherit): New function.
11090         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
11091         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
11092         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
11093         instead of fd_safer.
11094         * tests/test-pipe.c: Include <windows.h>.
11095         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
11096
11097         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
11098         from main.
11099         (test_pipe): Pass an extra argument for disambiguation.
11100         (main): Invoke parent_main or child_main.
11101
11102         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
11103         consistently.
11104
11105 2009-07-18  Eric Blake  <ebb9@byu.net>
11106
11107         test-pipe: fix mingw build
11108         * tests/test-pipe.c (main): Avoid fcntl on mingw.
11109
11110 2009-07-18  Bruno Haible  <bruno@clisp.org>
11111
11112         * modules/pipe-tests (Makefile.am): Fix typo.
11113
11114 2009-07-18  Eric Blake  <ebb9@byu.net>
11115
11116         error: fix mingw build
11117         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
11118         Reported by Bruno Haible.
11119
11120         error: avoid undefined use of stdout
11121         * lib/error.c (error, error_at_line): Check that fd 1 is open
11122         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
11123         is handling faults and the close_stdout module wants to report the
11124         detection of closed stdout as an error.
11125
11126 2009-07-17  Eric Blake  <ebb9@byu.net>
11127
11128         pipe: be robust in face of closed fds
11129         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
11130         should cause child to misbehave.
11131         * modules/pipe-tests: New module.
11132         * tests/test-pipe.c: New file.
11133         * tests/test-pipe.sh: New file.
11134         Reported by Akim Demaille.
11135
11136 2009-07-14  Bruno Haible  <bruno@clisp.org>
11137
11138         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
11139         Reported by anonymous kc.
11140
11141 2009-07-07  Jim Meyering  <meyering@redhat.com>
11142
11143         maint.mk: don't look for translatable strings in *.m4 or *.mk
11144         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
11145         when searching for translatable strings.
11146
11147 2009-07-05  Jim Meyering  <meyering@redhat.com>
11148
11149         remove superfluous parentheses in STREQ definition
11150         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
11151         * lib/getugroups.c (STREQ): Likewise.
11152         * lib/fnmatch.c (STREQ): Likewise.
11153         Spotted by Bruno Haible.
11154
11155 2009-07-04  Jim Meyering  <meyering@redhat.com>
11156
11157         argv-iter: new module
11158         * MODULES.html.sh: Add argv-iter.
11159         * lib/argv-iter.c, lib/argv-iter.h: New files.
11160         * modules/argv-iter: New file.
11161         * modules/argv-iter-tests: New file.
11162         * tests/test-argv-iter.c: Test it.
11163
11164 2009-07-04  Bruno Haible  <bruno@clisp.org>
11165
11166         Fix assertion.
11167         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
11168         contains more exact copies of a given entry than file2, leave the extra
11169         copies unpaired rather than aborting.
11170         Reported by Eric Blake.
11171
11172 2009-07-02  Bruno Haible  <bruno@clisp.org>
11173
11174         Speedup git-merge-changelog for git cherry-pick.
11175         * lib/git-merge-changelog.c (struct entries_mapping): New type.
11176         (entries_mapping_get): New function, extracted from compute_mapping.
11177         (entries_mapping_reverse_get): New function.
11178         (compute_mapping): Add a 'full' argument. Return the result in a
11179         'struct entries_mapping'.
11180         (main): Update. Access the mappings through entries_mapping_get.
11181         Reported by Eric Blake.
11182
11183 2009-07-02  Bruno Haible  <bruno@clisp.org>
11184
11185         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
11186         best_i.
11187
11188 2009-07-02  Bruno Haible  <bruno@clisp.org>
11189
11190         Speed up approximate search for matching ChangeLog entries.
11191         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
11192         argument. Call fstrcmp_bounded instead of fstrcmp.
11193         (compute_mapping, try_split_merged_entry, main): Update callers.
11194
11195 2009-07-02  Bruno Haible  <bruno@clisp.org>
11196
11197         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
11198
11199 2009-06-30  Bruno Haible  <bruno@clisp.org>
11200
11201         Reduce the number of uc_is_cased calls.
11202         * lib/unicase.h (casing_suffix_context_t): Add
11203         'first_char_except_ignorable' field.
11204         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
11205         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
11206         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
11207         Update initializer.
11208         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
11209         case-ignorable characters.
11210         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
11211         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
11212         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
11213         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
11214         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
11215
11216 2009-06-30  Bruno Haible  <bruno@clisp.org>
11217
11218         Tests for module 'unicase/ignorable'.
11219         * modules/unicase/ignorable-tests: New file.
11220         * tests/unicase/test-ignorable.c: New file, generated by
11221         gen-uni-tables.
11222
11223         Tests for module 'unicase/cased'.
11224         * modules/unicase/cased-tests: New file.
11225         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
11226         * tests/unicase/test-predicate-part1.h: New file, derived from
11227         tests/unictype/test-predicate-part1.h.
11228         * tests/unicase/test-predicate-part2.h: New file, same as
11229         tests/unictype/test-predicate-part2.h.
11230
11231         Fix evaluation of "Before C" condition of FINAL_SIGMA.
11232         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
11233         (output_casing_properties): New function.
11234         (main): Call it.
11235         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
11236         * lib/unicase/cased.c: Include unictype/bitmap.h.
11237         (uc_is_cased): Define through a bitmap lookup.
11238         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
11239         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
11240         (uc_is_case_ignorable): Define through a bitmap lookup.
11241         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
11242         lib/unictype/bitmap.h.
11243         (Depends-on): Add inline. Clean up.
11244         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
11245         lib/unictype/bitmap.h.
11246         (Depends-on): Add inline. Clean up.
11247         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
11248         recognition.
11249         * tests/unicase/test-u16-tolower.c (main): Likewise.
11250         * tests/unicase/test-u32-tolower.c (main): Likewise.
11251
11252 2009-06-30  Bruno Haible  <bruno@clisp.org>
11253
11254         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
11255         * lib/unicase/u16-casemap.c: Likewise.
11256         * lib/unicase/u32-casemap.c: Likewise.
11257
11258 2009-06-29  Bruno Haible  <bruno@clisp.org>
11259
11260         Define u32_casefold as a wrapper around u32_ct_casefold.
11261         * lib/unicase/u32-casefold.c: Update.
11262         * modules/unicase/u32-casefold (Depends-on): Add
11263         unicase/u32-ct-casefold, unicase/empty-prefix-context,
11264         unicase/empty-suffix-context. Clean up.
11265
11266         Define u16_casefold as a wrapper around u16_ct_casefold.
11267         * lib/unicase/u16-casefold.c: Update.
11268         * modules/unicase/u16-casefold (Depends-on): Add
11269         unicase/u16-ct-casefold, unicase/empty-prefix-context,
11270         unicase/empty-suffix-context. Clean up.
11271
11272         Define u8_casefold as a wrapper around u8_ct_casefold.
11273         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
11274         * lib/unicase/u8-casefold.c: Update.
11275         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
11276         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
11277
11278         Define u32_totitle as a wrapper around u32_ct_totitle.
11279         * lib/unicase/u32-totitle.c: Update.
11280         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
11281         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
11282
11283         Define u16_totitle as a wrapper around u16_ct_totitle.
11284         * lib/unicase/u16-totitle.c: Update.
11285         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
11286         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
11287
11288         Define u8_totitle as a wrapper around u8_ct_totitle.
11289         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
11290         functions.
11291         (FUNC): Delegate to U_CT_TOTITLE.
11292         * lib/unicase/u8-totitle.c: Update.
11293         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
11294         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
11295
11296         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
11297         invocation.
11298         * modules/unicase/u32-tolower (Depends-on): Add
11299         unicase/empty-prefix-context, unicase/empty-suffix-context.
11300
11301         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
11302         invocation.
11303         * modules/unicase/u16-tolower (Depends-on): Add
11304         unicase/empty-prefix-context, unicase/empty-suffix-context.
11305
11306         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
11307         * modules/unicase/u8-tolower (Depends-on): Add
11308         unicase/empty-prefix-context, unicase/empty-suffix-context.
11309
11310         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
11311         invocation.
11312         * modules/unicase/u32-toupper (Depends-on): Add
11313         unicase/empty-prefix-context, unicase/empty-suffix-context.
11314
11315         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
11316         invocation.
11317         * modules/unicase/u16-toupper (Depends-on): Add
11318         unicase/empty-prefix-context, unicase/empty-suffix-context.
11319
11320         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
11321         * modules/unicase/u8-toupper (Depends-on): Add
11322         unicase/empty-prefix-context, unicase/empty-suffix-context.
11323
11324         New module 'unicase/u32-ct-casefold'.
11325         * lib/unicase/u32-ct-casefold.c: New file.
11326         * modules/unicase/u32-ct-casefold: New file.
11327
11328         New module 'unicase/u16-ct-casefold'.
11329         * lib/unicase/u16-ct-casefold.c: New file.
11330         * modules/unicase/u16-ct-casefold: New file.
11331
11332         New module 'unicase/u8-ct-casefold'.
11333         * lib/unicase/u8-ct-casefold.c: New file.
11334         * lib/unicase/u-ct-casefold.h: New file, derived from
11335         lib/unicase/u-casefold.h.
11336         * modules/unicase/u8-ct-casefold: New file.
11337
11338         New module 'unicase/u32-ct-totitle'.
11339         * lib/unicase/u32-ct-totitle.c: New file.
11340         * modules/unicase/u32-ct-totitle: New file.
11341
11342         New module 'unicase/u16-ct-totitle'.
11343         * lib/unicase/u16-ct-totitle.c: New file.
11344         * modules/unicase/u16-ct-totitle: New file.
11345
11346         New module 'unicase/u8-ct-totitle'.
11347         * lib/unicase/u8-ct-totitle.c: New file.
11348         * lib/unicase/u-ct-totitle.h: New file, derived from
11349         lib/unicase/u-totitle.h.
11350         * modules/unicase/u8-ct-totitle: New file.
11351
11352         New module 'unicase/u32-ct-tolower'.
11353         * lib/unicase/u32-ct-tolower.c: New file.
11354         * modules/unicase/u32-ct-tolower: New file.
11355
11356         New module 'unicase/u16-ct-tolower'.
11357         * lib/unicase/u16-ct-tolower.c: New file.
11358         * modules/unicase/u16-ct-tolower: New file.
11359
11360         New module 'unicase/u8-ct-tolower'.
11361         * lib/unicase/u8-ct-tolower.c: New file.
11362         * modules/unicase/u8-ct-tolower: New file.
11363
11364         New module 'unicase/u32-ct-toupper'.
11365         * lib/unicase/u32-ct-toupper.c: New file.
11366         * modules/unicase/u32-ct-toupper: New file.
11367
11368         New module 'unicase/u16-ct-toupper'.
11369         * lib/unicase/u16-ct-toupper.c: New file.
11370         * modules/unicase/u16-ct-toupper: New file.
11371
11372         New module 'unicase/u8-ct-toupper'.
11373         * lib/unicase/u8-ct-toupper.c: New file.
11374         * modules/unicase/u8-ct-toupper: New file.
11375
11376         Add context arguments to u*_casemap functions.
11377         * lib/unicase/unicasemap.h: Include unicase.h.
11378         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
11379         suffix_context arguments.
11380         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
11381         functions.
11382         (FUNC): Add prefix_context and suffix_context arguments. Use
11383         uc_is_cased and uc_is_case_ignorable.
11384         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
11385         * lib/unicase/u16-casemap.c: Likewise.
11386         * lib/unicase/u32-casemap.c: Likewise.
11387         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
11388         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
11389         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
11390         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
11391         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
11392         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
11393
11394         New module 'unicase/u32-suffix-context'.
11395         * lib/unicase/u32-suffix-context.c: New file.
11396         * modules/unicase/u32-suffix-context: New file.
11397
11398         New module 'unicase/u16-suffix-context'.
11399         * lib/unicase/u16-suffix-context.c: New file.
11400         * modules/unicase/u16-suffix-context: New file.
11401
11402         New module 'unicase/u8-suffix-context'.
11403         * lib/unicase/u8-suffix-context.c: New file.
11404         * lib/unicase/u-suffix-context.h: New file.
11405         * modules/unicase/u8-suffix-context: New file.
11406
11407         New module 'unicase/empty-suffix-context'.
11408         * lib/unicase/empty-suffix-context.c: New file.
11409         * modules/unicase/empty-suffix-context: New file.
11410
11411         New module 'unicase/u32-prefix-context'.
11412         * lib/unicase/u32-prefix-context.c: New file.
11413         * modules/unicase/u32-prefix-context: New file.
11414
11415         New module 'unicase/u16-prefix-context'.
11416         * lib/unicase/u16-prefix-context.c: New file.
11417         * modules/unicase/u16-prefix-context: New file.
11418
11419         New module 'unicase/u8-prefix-context'.
11420         * lib/unicase/u8-prefix-context.c: New file.
11421         * lib/unicase/u-prefix-context.h: New file.
11422         * lib/unicase/context.h: New file.
11423         * modules/unicase/u8-prefix-context: New file.
11424
11425         New module 'unicase/empty-prefix-context'.
11426         * lib/unicase/empty-prefix-context.c: New file.
11427         * modules/unicase/empty-prefix-context: New file.
11428
11429         New module 'unicase/ignorable'.
11430         * lib/unicase/ignorable.c: New file.
11431         * modules/unicase/ignorable: New file.
11432
11433         New module 'unicase/cased'.
11434         * lib/unicase/caseprop.h: New file.
11435         * lib/unicase/cased.c: New file.
11436         * modules/unicase/cased: New file.
11437
11438         New functions for case mapping of substrings.
11439         * lib/unicase.h (casing_prefix_context_t): New type.
11440         (unicase_empty_prefix_context): New variable.
11441         (u8_casing_prefix_context, u16_casing_prefix_context,
11442         u32_casing_prefix_context, u8_casing_prefixes_context,
11443         u16_casing_prefixes_context, u32_casing_prefixes_context): New
11444         declarations.
11445         (casing_suffix_context_t): New type.
11446         (unicase_empty_suffix_context): New variable.
11447         (u8_casing_suffix_context, u16_casing_suffix_context,
11448         u32_casing_suffix_context, u8_casing_suffixes_context,
11449         u16_casing_suffixes_context, u32_casing_suffixes_context,
11450         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
11451         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
11452         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
11453         declarations.
11454
11455 2009-06-28  Jim Meyering  <meyering@redhat.com>
11456
11457         boostrap: indent only with spaces
11458         * build-aux/bootstrap: Indent only with spaces, never TABs.
11459
11460         bootstrap: split long lines
11461         * build-aux/bootstrap: Keep line length < 80.
11462
11463         bootstrap: sync from coreutils
11464         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
11465         just as autoreconf does.  Verify a list of prerequisite
11466         package-name,version-number pairs if defined in bootstrap.conf.
11467         Refer to README-prereq, if prerequisites are not satisfied.
11468
11469 2009-06-27  Eric Blake  <ebb9@byu.net>
11470
11471         tests: add test for bogus NULL definition
11472         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
11473         * tests/test-stdlib.c: Likewise.
11474         * tests/test-string.c: Likewise.
11475         * tests/test-locale.c: Likewise.
11476         * tests/test-unistd.c: Likewise.
11477         * modules/stdio-tests (Depends-on): Add verify.
11478         * modules/stdlib-tests (Depends-on): Likewise.
11479         * modules/string-tests (Depends-on): Likewise.
11480         * modules/locale-tests (Depends-on): Likewise.
11481         * modules/unistd-tests (Depends-on): Likewise.
11482
11483 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
11484
11485         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
11486         self-explaining comment.
11487         * m4/selinux-selinux-h: Update serial.
11488         (gl_LIBSELINUX): New macro, adding a warning for missing development
11489         packages to code extracted from...
11490         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
11491         Add warning for missing development packages here, too.
11492
11493 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
11494
11495         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
11496
11497 2009-06-25  Eric Blake  <ebb9@byu.net>
11498
11499         version-etc: fix regression
11500         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
11501         gcc.
11502         (version_etc): Use it, to catch bugs with trailing NULL.
11503         * lib/version-etc.c (version_etc_arn): Delete unused argument.
11504         (version_etc_va): Fix logic bug.
11505         * modules/version-etc-tests: Add test.
11506         * tests/test-version-etc.c: New file.
11507         * tests/test-version-etc.sh: Likewise.
11508
11509 2009-06-25  Sam Steingold  <sds@gnu.org>
11510
11511         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
11512         mbtowc declaration.
11513
11514 2009-06-25  Eric Blake  <ebb9@byu.net>
11515
11516         fpurge: migrate into <stdio.h>
11517         * lib/fpurge.h: Delete...
11518         * lib/stdio.in.h (fpurge): ...and declare here, instead.
11519         * lib/fpurge.c (fpurge): Change declaring header.
11520         * modules/fpurge (Files): Drop deleted file.
11521         (Depends-on): Add stdio.
11522         (configure.ac): Set witness.
11523         * modules/stdio (Makefile.am): Support fpurge macros.
11524         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
11525         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
11526         * lib/fflush.c: Update client.
11527         * tests/test-fpurge.c: Likewise.
11528         * NEWS: Mention the change.
11529
11530 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
11531
11532         * lib/argp-version-etc.c (program_authors): Add const
11533         qualifier.
11534         * lib/version-etc.c: Fix typos in the comments.
11535         * modules/argp-version-etc: Depends on version-etc.
11536
11537 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
11538
11539         argp-version-etc: new module.
11540
11541         * lib/argp-version-etc.c: New file.
11542         * lib/argp-version-etc.h: New file.
11543         * modules/argp-version-etc: New file.
11544         * modules/argp-version-etc-tests: New file.
11545         * tests/test-argp-version-etc.c: New test.
11546         * tests/test-argp-version-etc-1.sh: New test.
11547
11548 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
11549
11550         Provide additional interfaces and documentation for version-etc
11551         module.
11552
11553         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
11554         interfaces.
11555         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
11556         prototypes.
11557
11558 2009-06-24  Bruno Haible  <bruno@clisp.org>
11559
11560         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
11561         HAVE_LIB${NAME} macro.
11562         Reported by Sam Steingold <sds@gnu.org>.
11563
11564 2009-06-23  Simon Josefsson  <simon@josefsson.org>
11565
11566         * modules/hash-tests (test_hash_LDADD): Link to libintl when
11567         needed.
11568
11569 2009-06-21  Bruno Haible  <bruno@clisp.org>
11570
11571         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
11572         work.
11573         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
11574         together with LIB${NAME}, LTLIB${NAME}.
11575         Reported by Sam Steingold <sds@gnu.org>.
11576
11577 2009-06-20  Jim Meyering  <meyering@redhat.com>
11578
11579         tests: make sc_require_test_exit_idiom more generic
11580         * top/maint.mk (Exit_witness_file): New overridable variable.
11581         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
11582         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
11583
11584 2009-06-19  Jim Meyering  <meyering@redhat.com>
11585
11586         hash: reverse order of src/dst parameters in an internal interface
11587         * lib/hash.c (transfer_entries): Reverse order of parameters to
11588         put DST before SRC.  Adjust callers.
11589
11590         tests: test-hash: avoid wholesale duplication
11591         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
11592         Instead, use a loop and add a single conditional.
11593
11594         tests: test-hash: allow seed selection via a command line argument
11595         * tests/test-hash.c (get_seed): New function.
11596         (main): Use it.
11597
11598 2009-06-19  Eric Blake  <ebb9@byu.net>
11599
11600         hash: avoid memory leak on allocation failure
11601         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
11602         failure.  Factor repeated algorithm...
11603         (transfer_entries): ...into new helper routine.
11604         (hash_delete): React to hash_rehash return value.
11605
11606         hash: reduce memory pressure in hash_rehash no-op case
11607         * lib/hash.c (next_prime): Avoid overflow.
11608         (hash_initialize): Factor bucket size computation...
11609         (compute_bucket_size): ...into new helper function.
11610         (hash_rehash): Use new function and open coding to reduce memory
11611         pressure, and avoid a memory leak in USE_OBSTACK code.
11612         Reported by Jim Meyering.
11613
11614 2009-06-18  Eric Blake  <ebb9@byu.net>
11615
11616         hash: make rotation more obvious
11617         * modules/hash (Depends-on): Add bitrotate and stdint.
11618         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
11619         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
11620         (SIZE_MAX): Rely on headers for definition.
11621         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
11622         (raw_hasher): Use rotr_sz.
11623         Suggested by Jim Meyering.
11624
11625         hash: fix memory leak in last patch
11626         * lib/hash.c (hash_rehash): Avoid memory leak.
11627
11628         hash: avoid no-op rehashing
11629         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
11630
11631         hash: provide default callback functions
11632         * lib/hash.c (raw_hasher, raw_comparator): New functions.
11633         (hash_initialize): Use them as defaults.
11634         * tests/test-hash.c (main): Test this.
11635
11636         hash: minor optimization
11637         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
11638         when possible.
11639         (hash_initialize): Document this promise.
11640         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
11641         * tests/test-hash.c (hash_compare_strings): Test this.
11642
11643 2009-06-18  Bruno Haible  <bruno@clisp.org>
11644
11645         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
11646         going to be replaced anyway.
11647
11648 2009-06-18  Bruno Haible  <bruno@clisp.org>
11649
11650         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
11651         in one place.
11652         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
11653         be replaced anyway.
11654
11655 2009-06-18  Eric Blake  <ebb9@byu.net>
11656
11657         hash: check for resize before insertion
11658         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
11659         threshold before insertion, so that a pathological hash_rehash
11660         that fills every bucket can still trigger another rehash.
11661
11662 2009-06-18  Jim Meyering  <meyering@redhat.com>
11663
11664         hash-tests: add a loop around the small tests
11665         * tests/test-hash.c (main): Repeat small tests with selected
11666         small initial table sizes.
11667
11668 2009-06-17  Eric Blake  <ebb9@byu.net>
11669
11670         hash: minor cleanups
11671         * lib/hash.h (hash_entry): Make opaque, by moving...
11672         * lib/hash.c (hash_entry): ...here.
11673         (hash_insert): Clarify restrictions on what can be inserted.
11674         (hash_get_next): Clarify when it is safe to remove an element
11675         during traversal.
11676         (check_tuning): Skip verification when tuning is known safe.
11677         (hash_initialize): Clarify restrictions on tuning.
11678
11679 2009-06-17  Jim Meyering  <jim@meyering.net>
11680         and Eric Blake  <ebb9@byu.net>
11681
11682         hash-tests: new module
11683         * modules/hash-tests: New file.
11684         * tests/test-hash.c: New file.
11685
11686 2009-06-17  Eric Blake  <ebb9@byu.net>
11687
11688         strstr-simple: document new module
11689         * MODULES.html.sh: Document new module.
11690
11691         strstr, strcasestr: replace on platforms with broken memchr
11692         * modules/strstr: Split into...
11693         * modules/strstr-simple: ...new module that does not care about
11694         performance, but does care about glibc bug.
11695         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
11696         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
11697         if platform memchr is broken, per Debian bug 521737.
11698         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
11699         memchr.
11700         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
11701         * doc/posix-functions/strstr.texi (strstr): Document the fix.
11702         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
11703         * modules/mountlist (Depends-on): Add strstr-simple.
11704         * modules/gen-uni-tables (Depends-on): Likewise.
11705         * modules/argz (Depends-on): Add strstr.
11706
11707 2009-06-17  Bruno Haible  <bruno@clisp.org>
11708
11709         * modules/posix_spawn-internal (Depends-on): Add errno.
11710
11711 2009-06-17  Bruno Haible  <bruno@clisp.org>
11712
11713         Define missing ESTALE on Interix 3.5.
11714         * lib/errno.in.h (ESTALE): Assign a value if missing.
11715         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
11716         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
11717         missing.
11718         * doc/posix-headers/errno.texi: Mention the Interix bug.
11719         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
11720
11721 2009-06-15  Eric Blake  <ebb9@byu.net>
11722
11723         memchr, memchr2: add valgrind exception
11724         * lib/memchr.valgrind: New file.
11725         * lib/memchr2.valgrind: New file.
11726         * modules/memchr (Files): Distribute valgrind file.
11727         * modules/memchr2 (Files): Likewise.
11728
11729         docs: memchr is no longer obsolete
11730         * MODULES.html.sh: Move memchr from obsolete to string.h section.
11731         * lib/string.in.h (memchr): Simplify logic.
11732
11733 2009-06-14  Jim Meyering  <meyering@redhat.com>
11734
11735         link-follow: fix the "checking..." message to not mention trailing slash
11736         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
11737         never considered trailing slashes.
11738
11739 2009-06-14  Bruno Haible  <bruno@clisp.org>
11740
11741         * m4/memchr.m4: Mention also the bug on IA-64.
11742         * doc/posix-functions/memchr.texi: Likewise.
11743
11744 2009-06-12  Eric Blake  <ebb9@byu.net>
11745
11746         memchr: detect broken x86_64 and alpha implementations
11747         * modules/memchr-tests (Depends-on): Move mmap detection...
11748         * modules/memchr (Depends-on): ...here.
11749         (configure.ac): Set indicator.
11750         * lib/string.in.h (memchr): Declare replacement.
11751         * modules/string (Makefile.am): Trigger replacement.
11752         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
11753         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
11754         bugs.
11755         * doc/posix-functions/memchr.texi (memchr): Document the bug.
11756         * modules/getpagesize (License): Relax license.
11757
11758 2009-06-11  Bruno Haible  <bruno@clisp.org>
11759
11760         * lib/idpriv.h: Add more references.
11761
11762 2009-06-08  Bruno Haible  <bruno@clisp.org>
11763
11764         Tests for module 'idpriv-droptemp'.
11765         * modules/idpriv-droptemp-tests: New file.
11766         * tests/test-idpriv-droptemp.sh: New file.
11767         * tests/test-idpriv-droptemp.su.sh: New file.
11768         * tests/test-idpriv-droptemp.c: New file.
11769
11770         New module 'idpriv-droptemp'.
11771         * lib/idpriv-droptemp.c: New file.
11772         * modules/idpriv-droptemp: New file.
11773
11774 2009-06-08  Bruno Haible  <bruno@clisp.org>
11775
11776         Tests for module 'idpriv-drop'.
11777         * modules/idpriv-drop-tests: New file.
11778         * tests/test-idpriv-drop.sh: New file.
11779         * tests/test-idpriv-drop.su.sh: New file.
11780         * tests/test-idpriv-drop.c: New file.
11781
11782         New module 'idpriv-drop'.
11783         * lib/idpriv.h: New file.
11784         * lib-idpriv-drop.c: New file.
11785         * m4/idpriv.m4: New file.
11786         * modules/idpriv-drop: New file.
11787
11788 2009-06-08  Bruno Haible  <bruno@clisp.org>
11789
11790         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
11791         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
11792         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
11793         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
11794         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
11795         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
11796         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
11797
11798 2009-06-08  Eric Blake  <ebb9@byu.net>
11799
11800         test-strstr: use memory fence, when possible
11801         * tests/test-strstr.c (main): Use memory fence, in order to be
11802         more likely to trigger Debian bug 521737.
11803         * modules/strstr-tests (Files): Pull in additional files.
11804
11805         memchr: no longer obsolete, for wider field testing
11806         * modules/memchr (Status, Notice): Delete, this module is no
11807         longer obsolete.
11808         * modules/vasnprintf (Depends-on): Add memchr.
11809
11810 2009-06-07  Jim Meyering  <meyering@redhat.com>
11811
11812         hash: declare some functions with the warn_unused_result attribute
11813         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
11814
11815 2009-06-07  Bruno Haible  <bruno@clisp.org>
11816
11817         * tests/test-alignof.c: Don't test int64_t if it does not exist.
11818         Reported by Eric Blake.
11819
11820 2009-06-06  Eric Blake  <ebb9@byu.net>
11821
11822         test-alignof: fix typo with long double
11823         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
11824         compiler error.
11825
11826 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
11827
11828         Escape non-texinfo { and }s.
11829         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
11830         markup error.
11831
11832 2009-06-04  Jim Meyering  <meyering@redhat.com>
11833
11834         gitlog-to-changelog: don't infloop on an empty commit log
11835         * build-aux/gitlog-to-changelog: Warn about an empty log message.
11836         Reported by Boris Petersen <transacid@centerim.org>.
11837
11838 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
11839
11840         version-etc: extend for packagers
11841         Add three new configure options, intended for packagers:
11842           --with-packager="packager name"
11843           --with-packager-version="packager-specific version"
11844           --with-packager-bug-reports="packager bug reporting"
11845         An example with coreutils:
11846           $ ./configure \
11847             --with-packager=Gentoo \
11848             --with-packager-bug-report=http://bugs.gentoo.org/ \
11849             --with-packager-version="patchset 1.6"
11850           $ ./src/ls --version | head -n2
11851           ls (GNU coreutils) 7.1-dirty
11852           Packaged by Gentoo (patchset 1.6)
11853         Note that the bug reporting info via --help doesn't show up because
11854         coreutils uses its own custom emit_bug_reporting_address() implementation
11855         in src/system.h.  If it didn't, it'd look like:
11856           $ ./src/ls --help | tail -n4
11857           Report bugs to <bug-coreutils@gnu.org>.
11858           Report Gentoo bugs to <http://bugs.gentoo.org/>.
11859           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
11860           General help using GNU software: <http://www.gnu.org/gethelp/>.
11861         * lib/version-etc.c: Print new information, if provided.
11862         * m4/version-etc.m4: New file.
11863         * modules/version-etc (Files): Add m4/version-etc.m4.
11864         (configure.ac): Add gl_VERSION_ETC.
11865
11866 2009-05-31  Bruno Haible  <bruno@clisp.org>
11867
11868         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
11869         and 'int64_t'.
11870         * modules/alignof-tests (Dependencies): Add stdint.
11871         Reported by Eric Blake.
11872
11873 2009-05-31  Bruno Haible  <bruno@clisp.org>
11874
11875         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
11876         restriction due to compiler bugs.
11877         Reported by Eric Blake.
11878
11879 2009-05-31  Simon Josefsson  <simon@josefsson.org>
11880             Bruno Haible  <bruno@clisp.org>
11881
11882         Fix test-alignof failure.
11883         * lib/alignof.h (alignof_slot): New macro.
11884         (alignof_type): New macro, with the same semantics as the previous
11885         'alignof'.
11886         (alignof): Alias to alignof_slot.
11887         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
11888         check that the results are usable as constant expressions.
11889
11890 2009-05-31  Bruno Haible  <bruno@clisp.org>
11891
11892         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
11893         * tests/test-memchr.c (main): Check that memchr does not read past the
11894         first occurrence of the byte.
11895         * tests/test-strstr.c (main): Update comment.
11896         Suggested by Eric Blake.
11897
11898 2009-05-30  Bruno Haible  <bruno@clisp.org>
11899
11900         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
11901         detail how to use dumpbin.
11902         Reported by David Byron <dbyron@dbyron.com>.
11903
11904 2009-06-02  Simon Josefsson  <simon@josefsson.org>
11905
11906         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
11907
11908 2009-06-02  Simon Josefsson  <simon@josefsson.org>
11909
11910         * m4/manywarnings.m4: Add GCC 4.4 warnings.
11911
11912 2009-05-28  Bruno Haible  <bruno@clisp.org>
11913
11914         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
11915         build-aux/ files.
11916
11917 2009-05-28  Simon Josefsson  <simon@josefsson.org>
11918
11919         * gnulib-tool (func_import): Transform license on build-aux/ files too.
11920
11921 2009-05-27  Simon Josefsson  <simon@josefsson.org>
11922
11923         * gnulib-tool (sed_transform_main_lib_file)
11924         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
11925         regexps.
11926
11927 2009-05-26  Simon Josefsson  <simon@josefsson.org>
11928
11929         * tests/test-strstr.c: Add another self-test.
11930         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
11931         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
11932
11933 2009-05-23  Bruno Haible  <bruno@clisp.org>
11934
11935         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
11936         change.
11937
11938 2009-05-21  Bruno Haible  <bruno@clisp.org>
11939
11940         Simplify use of mode_t varargs.
11941         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
11942         uses 'mode_t' or 'int'.
11943         * lib/openat.c (openat): Likewise.
11944         * lib/open-safer.c (open_safer): Likewise.
11945         * m4/mode_t.m4: New file.
11946         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
11947         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
11948         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
11949         * modules/open (Files): Add m4/mode_t.m4.
11950         * modules/openat (Files): Likewise.
11951         * modules/fcntl-safer (Files): Likewise.
11952         Suggested by Eric Blake.
11953
11954 2009-05-21  Pádraig Brady  <P@draigbrady.com>
11955
11956         * doc/glibc-functions/fallocate.texi: New file.
11957         * doc/gnulib.texi: Include it.
11958
11959 2009-05-21  Eric Blake  <ebb9@byu.net>
11960             Bruno Haible  <bruno@clisp.org>
11961
11962         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
11963         invocations.
11964         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
11965
11966 2009-05-21  Eric Blake  <ebb9@byu.net>
11967             Bruno Haible  <bruno@clisp.org>
11968
11969         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
11970         include_next. Fix of 2008-11-20 commit.
11971         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
11972         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
11973         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
11974         NEXT_MATH_H.
11975         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
11976         instead of NEXT_MATH_H.
11977
11978 2009-05-21  Bruno Haible  <bruno@clisp.org>
11979
11980         Avoid redefinition warnings for SIZE_MAX.
11981         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
11982         Reported by Simon Josefsson.
11983
11984 2009-05-21  Bruno Haible  <bruno@clisp.org>
11985
11986         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
11987         AC_CACHE_VAL.
11988
11989 2009-05-20  Bruno Haible  <bruno@clisp.org>
11990
11991         Make zeroptr.h work on mingw.
11992         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
11993         mprotect.
11994         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
11995         * modules/memchr2-tests (configure.ac): Likewise.
11996         * modules/memcmp-tests (configure.ac): Likewise.
11997         * modules/memmem-tests (configure.ac): Likewise.
11998         * modules/memrchr-tests (configure.ac): Likewise.
11999         Reported by Simon Josefsson.
12000
12001 2009-05-20  Simon Josefsson  <simon@josefsson.org>
12002
12003         * tests/test-glob.c: Include string.h for strcmp prototype.
12004
12005 2009-05-20  Simon Josefsson  <simon@josefsson.org>
12006
12007         * modules/getdelim (Depends-on): Add explicit stdint, although it
12008         was implicitly already pulled in via realloc-posix.
12009         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
12010
12011 2009-05-20  Simon Josefsson  <simon@josefsson.org>
12012
12013         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
12014         G. Christensen" <tgc@jupiterrise.com>.
12015         * m4/sys_socket_h.m4: Check for sa_family_t.
12016         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
12017         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
12018         * tests/test-sys_socket.c: Check that sa_family_t works.
12019
12020 2009-05-18  Eric Blake  <ebb9@byu.net>
12021
12022         maint.mk: allow gnulib_dir in VPATH build
12023         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
12024
12025 2009-05-15  Jim Meyering  <meyering@redhat.com>
12026
12027         maint.mk: Give gnulib_dir a default definition.
12028         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
12029         Thus, most packages no longer need to specify this variable in cfg.mk
12030
12031 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
12032
12033         rename.m4: fix typos that would make non-mingw cross-configure fail
12034         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
12035
12036 2009-05-13  Eric Blake  <ebb9@byu.net>
12037
12038         mmap-anon: avoid out-of-order autoconf expansion
12039         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
12040         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
12041         * modules/memchr-tests (Depends-on): Add extensions.
12042         * modules/memchr2-tests (Depends-on): Add extensions.
12043         * modules/memcmp-tests (Depends-on): Add extensions.
12044         * modules/memmem-tests (Depends-on): Add extensions.
12045         * modules/memrchr-tests (Depends-on): Add extensions.
12046
12047 2009-05-13  Bruno Haible  <bruno@clisp.org>
12048
12049         Make some tests ISO C 99 compliant.
12050         * tests/zerosize-ptr.h: New file.
12051         * tests/test-memchr.c: Include zerosize-ptr.h.
12052         (main): Use a zero-size object pointer instead of NULL.
12053         * tests/test-memchr2.c: Include zerosize-ptr.h.
12054         (main): Use a zero-size object pointer instead of NULL.
12055         * tests/test-memcmp.c: Include zerosize-ptr.h.
12056         (main): Use a zero-size object pointer instead of NULL.
12057         * tests/test-memmem.c: Include zerosize-ptr.h.
12058         (main): Use a zero-size object pointer instead of NULL.
12059         * tests/test-memrchr.c: Include zerosize-ptr.h.
12060         (main): Use a zero-size object pointer instead of NULL.
12061         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
12062         m4/mmap-anon.m4.
12063         (Depends-on): Add getpagesize.
12064         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
12065         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
12066         m4/mmap-anon.m4.
12067         (Depends-on): Add getpagesize.
12068         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
12069         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
12070         m4/mmap-anon.m4.
12071         (Depends-on): Add getpagesize.
12072         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
12073         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
12074         m4/mmap-anon.m4.
12075         (Depends-on): Add getpagesize.
12076         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
12077         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
12078         m4/mmap-anon.m4.
12079         (Depends-on): Add getpagesize.
12080         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
12081
12082 2009-05-12  Bruno Haible  <bruno@clisp.org>
12083
12084         Tests for module 'alignof'.
12085         * modules/alignof-tests: New file.
12086         * tests/test-alignof.c: New file.
12087
12088 2009-05-12  Bruno Haible  <bruno@clisp.org>
12089
12090         Fix alignof macro.
12091         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
12092         vendor compilers that are always correct.
12093
12094 2009-05-12  Bruno Haible  <bruno@clisp.org>
12095
12096         Make the MAP_ANONYMOUS detection work on HP-UX 11.
12097         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
12098         not whether its fully works.
12099
12100 2009-05-12  Bruno Haible  <bruno@clisp.org>
12101
12102         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
12103
12104 2009-05-12  Jim Meyering  <meyering@redhat.com>
12105
12106         * top/maint.mk: Adjust backslash alignment.
12107
12108 2009-05-11  Simon Josefsson  <simon@josefsson.org>
12109
12110         * top/maint.mk: Make $(srcdir)/build-aux configurable.
12111
12112 2009-05-11  Eric Blake  <ebb9@byu.net>
12113
12114         argp: avoid undefined behavior
12115         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
12116         macros.
12117
12118 2009-05-08  Simon Josefsson  <simon@josefsson.org>
12119
12120         * tests/test-vc-list-files-git.sh: Do git config of user.email and
12121         user.name to prevent git commit from complaining.
12122
12123 2009-05-10  Bruno Haible  <bruno@clisp.org>
12124
12125         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
12126         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
12127         it rewrites every file name only once.
12128         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
12129
12130 2009-05-08  Bruno Haible  <bruno@clisp.org>
12131
12132         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
12133         instead of 'max'.
12134
12135 2009-05-08  Simon Josefsson  <simon@josefsson.org>
12136
12137         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
12138         sockaddr_storage test.
12139
12140 2009-05-07  Simon Josefsson  <simon@josefsson.org>
12141
12142         * modules/sys_socket (Makefile.am): Substitute
12143         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
12144         * m4/sys_socket_h.m4: Check for sockaddr_storage.
12145         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
12146         * tests/test-sys_socket.c: Check sockaddr_storage.
12147
12148 2009-05-08  Bruno Haible  <bruno@clisp.org>
12149
12150         New module 'alignof'.
12151         * lib/alignof.h: New file.
12152         * modules/alignof: New file.
12153
12154 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
12155             Bruno Haible  <bruno@clisp.org>
12156
12157         Fix test-file-has-acl on FreeBSD.
12158         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
12159         mask is implicitly added.
12160         * tests/test-file-has-acl.c: Include <signal.h>.
12161         (main): Terminate the test after 5 seconds.
12162         * modules/acl-tests (configure.ac): Check for alarm function.
12163
12164 2009-05-04  Bruno Haible  <bruno@clisp.org>
12165
12166         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
12167         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
12168         * modules/errno (configure.ac): Drop AC_REQUIRE.
12169         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
12170         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
12171
12172 2009-05-04  Simon Josefsson  <simon@josefsson.org>
12173
12174         * modules/glob-tests: New module.
12175         * tests/test-glob.c: Add.
12176
12177 2009-05-04  Simon Josefsson  <simon@josefsson.org>
12178
12179         * modules/fnmatch-tests: New module.
12180         * tests/test-fnmatch.c: Add.
12181
12182 2009-05-04  Eric Blake  <ebb9@byu.net>
12183
12184         maint: make the new no-submodule-changes rule VPATH-safe
12185         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
12186
12187 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
12188             Bruno Haible  <bruno@clisp.org>
12189
12190         acl: Fix infinite loop on FreeBSD.
12191         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
12192         of return value from acl_get_entry.
12193         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
12194         Likewise.
12195
12196 2009-05-03  Bruno Haible  <bruno@clisp.org>
12197
12198         * lib/acl-internal.h (acl_entries): Clarify return value.
12199         * lib/acl_entries.c (acl_entries): Likewise.
12200
12201 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
12202
12203         Bug fix in acl module.
12204         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
12205
12206 2009-05-03  Bruno Haible  <bruno@clisp.org>
12207
12208         Create gperf-generated file in the source dir, not in the build dir.
12209         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
12210         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
12211         * modules/unicase/locale-language (unicase/locale-languages.h):
12212         Likewise.
12213         * modules/unicase/special-casing (unicase/special-casing-table.h):
12214         Likewise.
12215         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
12216         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
12217         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
12218         Reported by Ralf Wildenhues.
12219
12220 2009-05-03  Bruno Haible  <bruno@clisp.org>
12221
12222         * modules/fnmatch (Description, configure.ac): Taken from
12223         fnmatch-posix.
12224         * modules/fnmatch-posix: Turn into a symbolic reference to the
12225         'fnmatch' module, and deprecate.
12226         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
12227
12228 2009-05-03  Bruno Haible  <bruno@clisp.org>
12229
12230         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
12231         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
12232         Reported by Ralf Wildenhues.
12233
12234 2009-05-04  Simon Josefsson  <simon@josefsson.org>
12235
12236         * m4/fnmatch.m4: Fix fnmatch re-define.
12237
12238 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
12239
12240         priv-set: new module and tests; adapt write-any-file
12241         * lib/priv-set.c: New file.
12242         * lib/priv-set.h: New file.
12243         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
12244         * lib/write-any-file.c: Simplify by using priv-set module.
12245         * m4/priv-set.m4: New file.
12246         * modules/priv-set: New file.
12247         * modules/unlinkdir: Add dependency on priv-set module.
12248         * modules/write-any-file: Likewise.
12249
12250         Tests for module 'priv-set'.
12251         * modules/priv-set-tests: New file.
12252         * tests/test-priv-set.c: New file.
12253
12254 2009-05-03  Jim Meyering  <meyering@redhat.com>
12255             Bruno Haible  <bruno@clisp.org>
12256
12257         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
12258         use the converted UTF-8 variant of the name instead.
12259
12260 2009-05-03  Jim Meyering  <meyering@redhat.com>
12261
12262         tests: tighten some getdate tests
12263         * tests/test-getdate.c (main): Tighten tests: require equality,
12264         not just greater than.  Set TZ envvar to UTC0.
12265
12266 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
12267
12268         getdate: correctly interpret "next monday" when run on a Monday
12269         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
12270         that e.g., "next tues" (when run on a tuesday) results in a date
12271         that is one week in the future, and not today's date.
12272         I.e., add a week when the wday is the same as the current one.
12273         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
12274         and earlier by Martin Bernreuther and Jan Minář.
12275         * tests/test-getdate.c (main): Check that "next DAY" is always in
12276         the future and that "last DAY" is always in the past.
12277
12278 2009-05-02  Jim Meyering  <meyering@redhat.com>
12279
12280         build: ensure that a release build fails when a submodule is unclean
12281         * top/maint.mk (no-submodule-changes): New rule.
12282         (alpha beta major): Depend on it.
12283
12284 2009-05-02  Bruno Haible  <bruno@clisp.org>
12285
12286         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
12287         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
12288         shell variable gl_fnmatch_required to detect which variant is
12289         requested.
12290         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
12291         gl_FUNC_FNMATCH_POSIX.
12292         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
12293         exclude fnmatch-posix.
12294
12295 2009-05-02  Bruno Haible  <bruno@clisp.org>
12296
12297         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
12298         * modules/mbsrtowcs (License): Change to LGPLv2+.
12299         * modules/strnlen1 (License): Likewise.
12300         Reported by Simon Josefsson.
12301
12302 2009-05-02  Bruno Haible  <bruno@clisp.org>
12303
12304         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
12305         "cross".
12306         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
12307         gnulib-tool was called with option --source-base=lib.
12308
12309 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12310
12311         Use automake *-local hooks without commands, for extensibility.
12312         * modules/localcharset (Makefile.am): Rename install-exec-local
12313         rule to install-exec-localcharset, and make it a prerequisite of
12314         install-exec-local.  Likewise, rename the uninstall-local rule to
12315         uninstall-localcharset, and make it a prerequisite of the former.
12316
12317 2009-05-01  Bruno Haible  <bruno@clisp.org>
12318
12319         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
12320         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
12321         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
12322         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
12323         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
12324         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
12325         m4/locale-zh.m4, m4/codeset.m4.
12326
12327         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
12328         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
12329         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
12330         m4/locale-zh.m4.
12331
12332         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
12333         REPLACE_WCRTOMB if mbstate_t must be replaced.
12334         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
12335         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
12336
12337 2009-05-01  Bruno Haible  <bruno@clisp.org>
12338
12339         Avoid compiler warnings when redefining macros defined by <libintl.h>.
12340         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
12341         dngettext, dcngettext, textdomain, bindtextdomain,
12342         bind_textdomain_codeset): Undefine before redefining.
12343
12344 2009-04-30  Bruno Haible  <bruno@clisp.org>
12345
12346         Fix bug introduced on 2009-04-25.
12347         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
12348         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
12349         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
12350         is defined.
12351         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
12352         is defined.
12353         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
12354         is defined.
12355         Reported by Elbert_Pol <elbert.pol@gmail.com>.
12356
12357 2009-04-28  Bruno Haible  <bruno@clisp.org>
12358
12359         Comment tweaks.
12360         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
12361         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
12362         * lib/unicase.h (u*_casexfrm): Likewise.
12363         Reported by Paolo Bonzini.
12364
12365 2009-04-28  Bruno Haible  <bruno@clisp.org>
12366
12367         Fix a compilation error.
12368         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
12369         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
12370         Reported by Jim Meyering.
12371
12372 2009-04-27  Bruno Haible  <bruno@clisp.org>
12373
12374         New module 'libunistring'.
12375         * modules/libunistring: New file.
12376         * m4/libunistring.m4: New file.
12377         * MODULES.html.sh (Unicode string functions): Add it.
12378
12379 2009-04-27  Eric Blake  <ebb9@byu.net>
12380
12381         maint.mk: allow package-specific header to provide <config.h>
12382         * top/maint.mk (sc_require_config_h): New variable.
12383         (sc_require_config_h, sc_require_config_h_first): Use it.
12384
12385 2009-04-27  Simon Josefsson  <simon@josefsson.org>
12386
12387         * top/maint.mk (sc_avoid_if_before_free): Except
12388         useless-if-before-free script.
12389
12390 2009-04-27  Eric Blake  <ebb9@byu.net>
12391
12392         maintainer-makefile: depend on all required helper scripts
12393         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
12394         useless-if-before-free.
12395         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
12396         version, rather than assuming gnulib checkout is available.
12397         Reported by Simen Josefsson.
12398
12399 2009-04-26  Bruno Haible  <bruno@clisp.org>
12400
12401         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
12402         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
12403         "../" or "..".
12404
12405 2009-04-26  Bruno Haible  <bruno@clisp.org>
12406
12407         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
12408         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
12409         AC_LIB_HAVE_LINKFLAGS.
12410
12411 2009-04-26  Bruno Haible  <bruno@clisp.org>
12412
12413         Simplify calling convention of u*_conv_from_encoding.
12414         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
12415         u32_conv_from_encoding): Expect a resultbuf argument and return the
12416         result directly as a pointer.
12417         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
12418         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
12419         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
12420         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
12421         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
12422         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
12423         Update.
12424         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
12425         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
12426         * lib/vasnprintf.c (VASNPRINTF): Update.
12427         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
12428         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
12429         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
12430         * NEWS: Mention the change.
12431
12432 2009-04-26  Bruno Haible  <bruno@clisp.org>
12433
12434         Simplify calling convention of u*_conv_to_encoding.
12435         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
12436         u32_conv_to_encoding): Expect a resultbuf argument and return the
12437         result directly as a pointer.
12438         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
12439         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
12440         freeing scaled_offsets if mem_iconveha failed.
12441         * lib/unicase/u-casexfrm.h (FUNC): Update.
12442         * lib/uninorm/u-normxfrm.h (FUNC): Update.
12443         * lib/vasnprintf.c (VASNPRINTF): Update.
12444         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
12445         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
12446         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
12447         * NEWS: Mention the change.
12448
12449 2009-04-26  Bruno Haible  <bruno@clisp.org>
12450
12451         Avoid test failures on AIX and OSF/1.
12452         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
12453         malloc(0).
12454         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
12455         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
12456         Likewise.
12457         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
12458         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
12459         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
12460         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
12461         * doc/posix-functions/malloc.texi: Document the portability problem
12462         related to malloc(0).
12463
12464 2009-04-26  Bruno Haible  <bruno@clisp.org>
12465
12466         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
12467         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
12468         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
12469
12470 2009-04-25  Bruno Haible  <bruno@clisp.org>
12471
12472         Avoid link error when creating a namespace clean library.
12473         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
12474         as macro with arguments if already defined as an alias.
12475         * lib/signbitf.c (gl_signbitf): Don't undefine.
12476         * lib/signbitd.c (gl_signbitd): Don't undefine.
12477         * lib/signbitl.c (gl_signbitl): Don't undefine.
12478
12479 2009-04-25  Jim Meyering  <meyering@redhat.com>
12480
12481         vc-list-files: fix another quoting bug
12482         * build-aux/vc-list-files: Avoid sed backslash expansion
12483         of pathological directory names.
12484
12485 2009-04-25  Eric Blake  <ebb9@byu.net>
12486
12487         vc-list-files: fix shell quoting error
12488         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
12489         timestamp.
12490
12491 2009-04-25  Jim Meyering  <meyering@redhat.com>
12492
12493         vc-list-files: restore lost functionality with subdir argument
12494         * build-aux/vc-list-files: When given a non-"." sub-directory
12495         argument, substitute the $dir/ prefix back onto each resulting name.
12496         Otherwise, coreutils' root_tests check would fail.
12497
12498 2009-04-24  Eric Blake  <ebb9@byu.net>
12499
12500         vc-list-files: ignore git symlinks
12501         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
12502         than ls-files, to ignore git symlinks.
12503
12504         maint.mk: import improvements from m4
12505         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
12506         (move_if_change): Delete unused macro.
12507         (news-date-check, vc-diff-check): Support VPATH builds.
12508         (announcement): Likewise.  Split --bootstrap-tools list...
12509         (boostrap-tools): ...into separate list, which can be overridden
12510         in cfg.mk.
12511         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
12512         requiring dependency on useless-if-before-free module.
12513         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
12514         Support VPATH builds.
12515
12516 2009-04-24  Jim Meyering  <meyering@redhat.com>
12517
12518         maint.mk: remove coreutils-specific rules and variables
12519         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
12520         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
12521         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
12522
12523         maint.mk: remove obsolete rule
12524         * top/maint.mk (rel-check): Remove rule.
12525         (WGET, WGETFLAGS): Remove now-unused variables.
12526
12527 2009-04-24  Simon Josefsson  <simon@josefsson.org>
12528
12529         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
12530         consistency.
12531
12532         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
12533         '$(PATH_SEPARATOR)' instead of ':'.
12534
12535 2009-04-24  Simon Josefsson  <simon@josefsson.org>
12536
12537         * lib/getopt1.c (main): Use 'const' for static array.
12538
12539 2009-04-24  Simon Josefsson  <simon@josefsson.org>
12540
12541         * top/maint.mk: Sync with coreutils.
12542         * NEWS: Explain incompatibilities.
12543
12544 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12545             Bruno Haible  <bruno@clisp.org>
12546
12547         Fix cross-compilation results.
12548         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
12549         statement, as third argument of AC_TRY_RUN.
12550         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
12551         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
12552         Likewise.
12553         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
12554         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
12555         Likewise.
12556         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
12557         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
12558         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
12559
12560 2009-04-20  Bruno Haible  <bruno@clisp.org>
12561
12562         Avoid test failure on mingw.
12563         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
12564
12565 2009-04-20  Bruno Haible  <bruno@clisp.org>
12566
12567         Avoid compilation error on mingw.
12568         * modules/localename-tests (Depends-on): Add locale.
12569
12570 2009-04-19  Bruno Haible  <bruno@clisp.org>
12571
12572         Support for building a shared library on Windows platforms.
12573         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
12574         (main): Test the presence of UNINORM_NFC here.
12575         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
12576         (main): Test the presence of UNINORM_NFD here.
12577         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
12578         (main): Test the presence of UNINORM_NFKC here.
12579         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
12580         (main): Test the presence of UNINORM_NFKD here.
12581
12582 2009-04-19  Bruno Haible  <bruno@clisp.org>
12583
12584         Avoid a compiler warning.
12585         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
12586         Change type of variable 'sequence'.
12587
12588 2009-04-19  Bruno Haible  <bruno@clisp.org>
12589
12590         * modules/configmake (Makefile.am): When the contents of configmake.h
12591         does not change, arrange to preserve its modification time.
12592
12593 2009-04-17  Simon Josefsson  <simon@josefsson.org>
12594
12595         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
12596         gettext domain.
12597
12598 2009-04-16  Jim Meyering  <meyering@redhat.com>
12599
12600         useless-if-before-free: improve conversion code
12601         * build-aux/useless-if-before-free: Adjust code-in-comment to match
12602         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
12603
12604 2009-04-14  Bruno Haible  <bruno@clisp.org>
12605
12606         * modules/fcntl (Depends-on): Add extensions.
12607         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
12608
12609 2009-04-12  Ben Pfaff  <blp@gnu.org>
12610
12611         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
12612         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
12613
12614 2009-03-20  Ben Pfaff  <blp@gnu.org>
12615
12616         Make rename replace existing destinations on Windows.
12617         * m4/rename.m4: Add test for Mingw.
12618         * lib/rename.c: Add rename replacement that uses MoveFileEx with
12619         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
12620         * doc/posix-functions/rename.texi: Document.
12621
12622 2009-04-10  Bruno Haible  <bruno@clisp.org>
12623
12624         New include file "iconveh.h".
12625         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
12626         * lib/striconveh.h: Include it.
12627         (enum iconv_ilseq_handler): Remove definition.
12628         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
12629         striconveh.h.
12630         * lib/striconveha.c: Include striconveh.h.
12631         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
12632         * modules/striconveh (Files): Add lib/iconveh.h.
12633         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
12634         lib/striconveh.h.
12635
12636 2009-04-10  Bruno Haible  <bruno@clisp.org>
12637
12638         * lib/uniconv.h: Update comment.
12639
12640 2009-04-10  Bruno Haible  <bruno@clisp.org>
12641
12642         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
12643         always.
12644         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
12645         * lib/unistr/u16-mbtouc-aux.c: Likewise.
12646         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
12647         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
12648         "unistring-notinline.h", so that the function gets defined always.
12649         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
12650         * lib/unistr/u8-uctomb.c: Likewise.
12651         * lib/unistr/u16-mbtouc.c: Likewise.
12652         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
12653         * lib/unistr/u16-uctomb.c: Likewise.
12654         * lib/unistr/u32-mbtouc.c: Likewise.
12655         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
12656         * lib/unistr/u32-uctomb.c: Likewise.
12657
12658 2009-04-10  Bruno Haible  <bruno@clisp.org>
12659
12660         Mark 'utime' obsolete.
12661         * modules/utime (Status, Notice): New sections.
12662         Suggested by Jim Meyering.
12663
12664         Fix cross-compile guess for utime test.
12665         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
12666         autoconf.
12667         * doc/posix-functions/utime.texi: Give more precisions.
12668         Reported by Jan <ipif@ymail.com>.
12669
12670 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
12671
12672         filevercmp: correct today's change
12673         * lib/filevercmp.c: Also handle coreutils' test inputs.
12674         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
12675
12676         Fix regression in 'filevercmp' module. Thanks Sven Joachim
12677         for reporting it.
12678         * lib/filevercmp.c: Special handle for "", "." and "..".
12679         * tests/test-filevercmp.c: Enlarge the set suite.
12680
12681 2009-04-07  Jim Meyering  <meyering@redhat.com>
12682
12683         useless-if-before-free: show how to remove braced useless free, too
12684         * build-aux/useless-if-before-free: still only in a comment, though.
12685
12686 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
12687
12688         maint.mk: import changes to syntax-check macros from coreutils
12689         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
12690         Use them in the relevant macros.
12691
12692 2009-04-06  Bruno Haible  <bruno@clisp.org>
12693
12694         Fix unportable use of bit-fields.
12695         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
12696         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
12697         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
12698
12699 2009-04-06  Bruno Haible  <bruno@clisp.org>
12700
12701         Avoid test failures on AIX and OSF/1.
12702         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
12703         that malloc(0) = NULL.
12704         * tests/unicase/test-u8-tolower.c (check): Likewise.
12705         * tests/unicase/test-u8-totitle.c (check): Likewise.
12706         * tests/unicase/test-u8-toupper.c (check): Likewise.
12707         * tests/unicase/test-u16-casefold.c (check): Likewise.
12708         * tests/unicase/test-u16-tolower.c (check): Likewise.
12709         * tests/unicase/test-u16-totitle.c (check): Likewise.
12710         * tests/unicase/test-u16-toupper.c (check): Likewise.
12711         * tests/unicase/test-u32-casefold.c (check): Likewise.
12712         * tests/unicase/test-u32-tolower.c (check): Likewise.
12713         * tests/unicase/test-u32-totitle.c (check): Likewise.
12714         * tests/unicase/test-u32-toupper.c (check): Likewise.
12715         * tests/uninorm/test-u8-nfc.c (check): Likewise.
12716         * tests/uninorm/test-u8-nfd.c (check): Likewise.
12717         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
12718         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
12719         * tests/uninorm/test-u16-nfc.c (check): Likewise.
12720         * tests/uninorm/test-u16-nfd.c (check): Likewise.
12721         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
12722         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
12723         * tests/uninorm/test-u32-nfc.c (check): Likewise.
12724         * tests/uninorm/test-u32-nfd.c (check): Likewise.
12725         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
12726         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
12727
12728 2009-04-05  Bruno Haible  <bruno@clisp.org>
12729
12730         Work around an autoconf limitation.
12731         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
12732         comment line if it would be longer than 3 KB.
12733
12734 2009-04-05  Bruno Haible  <bruno@clisp.org>
12735
12736         Avoid test failure with libiconv-1.13.
12737         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
12738         of the expected test results.
12739
12740 2009-04-05  Bruno Haible  <bruno@clisp.org>
12741
12742         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
12743         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
12744         that it should be installed.
12745
12746 2009-04-05  Bruno Haible  <bruno@clisp.org>
12747
12748         * gnulib-tool: New option --copy-file.
12749         (func_usage): Document it.
12750         (func_dest_tmpfilename): Moved out of func_import.
12751         (func_add_file, func_update_file): New functions, extracted from
12752         func_import.
12753         (func_import): Update.
12754
12755 2009-04-05  Karl Berry  <karl@gnu.org>
12756
12757         * README: prominently mention gnulib-tool.
12758         Rearrange sections so getting the code is near the top.
12759
12760 2009-04-05  Bruno Haible  <bruno@clisp.org>
12761
12762         * lib/unicase.h: Mention u*_cmp2.
12763         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
12764         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
12765         * lib/unicase/ulc-casecmp.c: Likewise.
12766         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
12767         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
12768         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
12769         unistr/u8-cmp.
12770         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
12771         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
12772         unistr/u16-cmp.
12773         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
12774         unistr/u32-cmp.
12775
12776         * lib/uninorm.h: Mention u*_cmp2.
12777         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
12778         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
12779         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
12780         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
12781         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
12782         unistr/u8-cmp.
12783         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
12784         unistr/u16-cmp.
12785         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
12786         unistr/u32-cmp.
12787
12788         New module 'unistr/u32-cmp2'.
12789         * lib/unistr/u32-cmp2.c: New file.
12790         * modules/unistr/u32-cmp2: New file.
12791
12792         New module 'unistr/u16-cmp2'.
12793         * lib/unistr/u16-cmp2.c: New file.
12794         * modules/unistr/u16-cmp2: New file.
12795
12796         New module 'unistr/u8-cmp2'.
12797         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
12798         * lib/unistr/u8-cmp2.c: New file.
12799         * lib/unistr/u-cmp2.h: New file.
12800         * modules/unistr/u8-cmp2: New file.
12801
12802 2009-04-05  Bruno Haible  <bruno@clisp.org>
12803
12804         * lib/unictype.h (uc_property_is_valid): New macro.
12805         * tests/unictype/test-pr_byname.c (main): Use it.
12806
12807         * lib/unistr.h: Doc fixes.
12808         * lib/uniconv.h: Doc fixes.
12809         * lib/unictype.h: Doc fixes.
12810
12811 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
12812
12813         Port coreutils 7.2 to Solaris 8.
12814
12815         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
12816         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
12817         for Solaris 8.  This is a bit of a hack, as it means it's the
12818         caller's responsibility to add -lnsl if needed, but most likely it
12819         won't be needed since only getaddrinfo uses this and getaddrinfo
12820         isn't needed on Solaris 8.
12821
12822         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
12823         problem to Solaris 8 encountered with coreutils 7.2, which
12824         resulted in a message "fnmatch.c:292: warning: passing argument 4
12825         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
12826         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
12827
12828 2009-04-03  Simon Josefsson  <simon@josefsson.org>
12829
12830         * m4/ld-version-script.m4: Add FIXME comment.
12831
12832 2009-04-02  Simon Josefsson  <simon@josefsson.org>
12833
12834         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
12835         SOVERSION variable.
12836
12837 2009-04-02  Bruno Haible  <bruno@clisp.org>
12838
12839         * Makefile (info, html, dvi, pdf): Combine the rules.
12840         Suggested by Jim Meyering.
12841
12842 2009-04-01  Bruno Haible  <bruno@clisp.org>
12843
12844         * Makefile (info, html, dvi, pdf): New targets.
12845         Reported by Reuben Thomas <rrt@sc3d.org>.
12846
12847 2009-04-01  Bruno Haible  <bruno@clisp.org>
12848
12849         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
12850         can be put into PATH.
12851         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
12852
12853 2009-04-01  Bruno Haible  <bruno@clisp.org>
12854
12855         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
12856
12857 2009-04-01  Bruno Haible  <bruno@clisp.org>
12858
12859         Rename module 'visibility'.
12860         * modules/lib-symbol-visibility: Renamed from modules/visibility.
12861         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
12862         * doc/gnulib.texi: Update.
12863         * MODULES.html.sh (Misc): Update.
12864         * NEWS: Mention the change.
12865
12866 2009-04-01  Simon Josefsson  <simon@josefsson.org>
12867
12868         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
12869         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
12870         Eric Blake <ebb9@byu.net> for review.
12871         * MODULES.html.sh: Add lib-msvc-compat.
12872         * doc/gnulib.texi: Link to new section.
12873         * m4/ld-output-def.m4: New file.
12874         * doc/ld-output-def.texi: New file.
12875
12876 2009-04-01  Simon Josefsson  <simon@josefsson.org>
12877
12878         Rename ld-version-script to lib-symbol-versions.  Suggested by
12879         Bruno Haible <bruno@clisp.org>.
12880         * modules/ld-version-script: Renamed to lib-symbol-versions.
12881         * doc/ld-version-script.texi: Fix module name.
12882         * MODULES.html.sh: Add lib-symbol-versions.
12883
12884 2009-03-31  Simon Josefsson  <simon@josefsson.org>
12885
12886         * modules/u64-tests: New file.
12887         * tests/test-u64.c: New file.
12888
12889 2009-03-04  Simon Josefsson  <simon@josefsson.org>
12890
12891         * MODULES.html.sh: Mention u64.
12892         * modules/u64: New module.
12893         * modules/crypto/sha512: Depend on u64 module instead of providing
12894         u64.h.
12895
12896 2009-03-27  Eric Blake  <ebb9@byu.net>
12897
12898         test-strerror: make debugging EAI_SYSTEM easier
12899         * modules/getaddrinfo-tests (Depends-on): Add strerror.
12900         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
12901         failure was EAI_SYSTEM.
12902
12903 2009-03-25  Bruno Haible  <bruno@clisp.org>
12904
12905         Fix a problem with --enable-relocatable on Solaris 7.
12906         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
12907         since 2008-02-24.
12908
12909 2009-03-25  Eric Blake  <ebb9@byu.net>
12910
12911         test-sockets: avoid gcc warning
12912         * tests/test-sockets.c (main): Silence compiler warning.
12913
12914 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
12915
12916         New modules nproc, pthread, contributed by Glen Lenker.
12917
12918         * MODULES.html.sh: Add pthread, nproc.
12919         * lib/nproc.c: New file.
12920         * lib/nproc.h: New file.
12921         * lib/pthread.in.h: New file.
12922         * m4/pthread.m4: New file.
12923         * modules/nproc: New file.
12924         * modules/pthread: New file.
12925
12926 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12927
12928         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
12929         New variable.
12930
12931 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
12932
12933         filevercmp: handle simple~ and numbered.~3~ backup suffixes
12934         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
12935         * tests/test-filevercmp.c: Add tests for backup suffixes.
12936
12937 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12938
12939         * modules/stdlib (Depends-on): Add stdint, needed when defining
12940         struct random_data on, for example, HP-UX 10.20.  Reported by
12941         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12942
12943 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12944
12945         * lib/readline.c (readline): Call fflush on stdout after printing
12946         prompt.
12947
12948 2009-03-20  Bruno Haible  <bruno@clisp.org>
12949
12950         Remove dependency from 'close' module to -lws2_32 on native Windows.
12951         * lib/close-hook.h: New file.
12952         * lib/close-hook.c: New file.
12953         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
12954         w32sock.h.
12955         (_gl_close_fd_maybe_socket): Remove function.
12956         (rpl_close): Invoke execute_all_close_hooks instead of
12957         _gl_close_fd_maybe_socket.
12958         * lib/sockets.c: Include close-hook.h, w32sock.h.
12959         (close_fd_maybe_socket): New function, essentially from lib/close.c.
12960         (close_sockets_hook): New variable.
12961         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
12962         (gl_sockets_cleanup): Unregister it.
12963         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
12964         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
12965         * modules/close-hook: New file.
12966         * modules/close (Files): Remove lib/w32sock.h.
12967         (Depends-on): Add close-hook.
12968         (Link): Remove section.
12969         * modules/sockets (Files): Add lib/w32sock.h.
12970         (Depends-on): Add close-hook.
12971         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
12972         invocation.
12973         * NEWS: Mention that LIB_CLOSE is gone.
12974
12975 2009-03-23  Eric Blake  <ebb9@byu.net>
12976
12977         signal-tests: test previous patch
12978         * tests/test-signal.c: New file.
12979         * modules/signal-tests: Likewise.
12980
12981         signal.h: always support 'volatile sig_atomic_t'
12982         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
12983         (gl_SIGNAL_H_DEFAULTS): Add a default.
12984         * modules/signal (Makefile.am): Substitute if needed.
12985         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
12986         users can blindly add volatile.
12987         * doc/posix-headers/signal.texi (signal.h): Document it.
12988         Reported by Matthew Woehlke.
12989
12990 2009-03-23  Jim Meyering  <meyering@redhat.com>
12991
12992         pathmax: PATH_MAX: use pathconf only when available
12993         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
12994         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
12995         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
12996         This avoids a link failure in a PSP cross-compilation environment
12997         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
12998
12999         * lib/vasnprintf.c (divide): Fix typo in comment.
13000
13001 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13002
13003         * gnulib-tool (func_filter_filelist): Fix comment.
13004
13005 2009-03-20  Bruno Haible  <bruno@clisp.org>
13006
13007         Make sockets.h self-contained.
13008         * lib/sockets.c: Include sockets.h first.
13009         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
13010
13011 2009-03-19  Eric Blake  <ebb9@byu.net>
13012
13013         doc: mention more functions added in cygwin 1.7.0
13014         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
13015         addition.
13016         * doc/posix-functions/log2f.texi: Likewise.
13017
13018 2009-03-19  Jim Meyering  <meyering@redhat.com>
13019
13020         fsusage: avoid syntax error due to statement-before-declaration
13021         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
13022         after all declarations.  Reported by Matthew Woehlke in
13023         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
13024
13025 2009-03-18  Eric Blake  <ebb9@byu.net>
13026
13027         build-aux/compile: sync from automake
13028         * build-aux/compile: New file, from automake.
13029         * config/srclist.txt: Mention build-aux/compile.
13030
13031 2009-03-17  Bruno Haible  <bruno@clisp.org>
13032
13033         * lib/git-merge-changelog.c: Fix typo in comment.
13034         Reported by Reuben Thomas <rrt@sc3d.org>.
13035
13036 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
13037
13038         * m4/regex.m4: update and improve help for
13039         --without-included-regex.
13040
13041 2009-03-17  Simon Josefsson  <simon@josefsson.org>
13042
13043         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
13044         failure on missing include files.
13045
13046 2009-03-17  Eric Blake  <ebb9@byu.net>
13047
13048         doc: mention more functions added in cygwin 1.7.0
13049         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
13050         addition.
13051         * doc/posix-functions/fwscanf.texi: Likewise.
13052         * doc/posix-functions/swprintf.texi: Likewise.
13053         * doc/posix-functions/swscanf.texi: Likewise.
13054         * doc/posix-functions/vfwprintf.texi: Likewise.
13055         * doc/posix-functions/vfwscanf.texi: Likewise.
13056         * doc/posix-functions/vswprintf.texi: Likewise.
13057         * doc/posix-functions/vswscanf.texi: Likewise.
13058         * doc/posix-functions/vwprintf.texi: Likewise.
13059         * doc/posix-functions/vwscanf.texi: Likewise.
13060         * doc/posix-functions/wcscasecmp.texi: Likewise.
13061         * doc/posix-functions/wcsdup.texi: Likewise.
13062         * doc/posix-functions/wcsftime.texi: Likewise.
13063         * doc/posix-functions/wcsncasecmp.texi: Likewise.
13064         * doc/posix-functions/wprintf.texi: Likewise.
13065         * doc/posix-functions/wscanf.texi: Likewise.
13066         * doc/glibc-functions/gethostbyname2.texi: Likewise.
13067
13068 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13069
13070         maint.mk: really add $(AM_MAKEFLAGS)
13071         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
13072         was inadvertently omitted in the last commit.
13073         Spotted by Bruno Haible.
13074
13075         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
13076         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
13077         $(AM_MAKEFLAGS)' rather than plain `make'.
13078
13079         gnulib-tool: execute $MAKE not make
13080         * gnulib-tool: Default $MAKE to 'make'.
13081         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
13082         than make.  Initialize $MAKE in the do-autobuild script.
13083
13084         gnulib-tool: use $MAKE not make in generated files
13085         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
13086         make, in generated files.  Initialize $MAKE in the do-autobuild
13087         script.
13088
13089         * top/GNUmakefile (_have-git-version-gen): Fix typo.
13090
13091         GNUmakefile: disable parallelism only for multiple, recursive targets
13092         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
13093         additions in the Makefile.
13094         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
13095         by Automake.
13096         (.NOTPARALLEL): Only disable parallel builds if multiple targets
13097         are listed on the command line and at least one of them is
13098         listed in $(ALL_RECURSIVE_TARGETS).
13099
13100 2009-03-14  Bruno Haible  <bruno@clisp.org>
13101
13102         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
13103         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
13104         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
13105         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
13106         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
13107         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
13108         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
13109         unistr/u8-uctomb.
13110         * modules/unistr/u8-strchr (Depends-on): Likewise.
13111         * modules/unistr/u8-strrchr (Depends-on): Likewise.
13112         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
13113         unistr/u16-uctomb.
13114         * modules/unistr/u16-strchr (Depends-on): Likewise.
13115         * modules/unistr/u16-strrchr (Depends-on): Likewise.
13116
13117 2009-03-12  Bruno Haible  <bruno@clisp.org>
13118
13119         Work around select() bug on Interix 3.5.
13120         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
13121         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
13122         * m4/select.m4: New file.
13123         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
13124         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
13125         * modules/select (Files): Add m4/select.m4.
13126         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
13127         * modules/nanosleep (Depends-on): Add select.
13128         * modules/poll (Depends-on): Likewise.
13129         * doc/posix-functions/select.texi: Mention the Interix bug.
13130         Reported by Markus Duft <mduft@gentoo.org>.
13131
13132         * lib/select.c: Renamed from lib/winsock-select.c.
13133         * modules/select (Files): Add lib/select.c, remove
13134         lib/winsock-select.c.
13135         (configure.ac): Update.
13136
13137 2009-03-12  Jim Meyering  <meyering@redhat.com>
13138
13139         avoid gcc warnings about unused macro definitions
13140         * lib/readtokens.c (STREQ): Remove unused definition.
13141         * lib/xmalloc.c (SIZE_MAX): Likewise.
13142         * lib/openat-die.c (N_): Likewise.
13143         * lib/mountlist.c (SIZE_MAX): Remove definition.
13144         Instead, include <stdint.h>.
13145         * lib/readutmp.c: Likewise.
13146         * modules/readutmp (Depends-on): Add stdint.
13147         * modules/mountlist (Depends-on): Add stdint.
13148         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
13149
13150 2009-03-10  Bruno Haible  <bruno@clisp.org>
13151
13152         Tests for module 'mbmemcasecoll'.
13153         * modules/mbmemcasecoll-tests: New file.
13154         * tests/test-mbmemcasecoll1.sh: New file.
13155         * tests/test-mbmemcasecoll2.sh: New file.
13156         * tests/test-mbmemcasecoll3.sh: New file.
13157         * tests/test-mbmemcasecoll.c: New file.
13158
13159         New module 'mbmemcasecoll'.
13160         * lib/mbmemcasecoll.h: New file.
13161         * lib/mbmemcasecoll.c: New file.
13162         * modules/mbmemcasecoll: New file.
13163
13164         * tests/test-mbmemcasecmp.h: New file, extracted from
13165         tests/test-mbmemcasecmp.c.
13166         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
13167         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
13168         (main): Update.
13169         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
13170
13171 2009-03-09  Bruno Haible  <bruno@clisp.org>
13172
13173         Tests for module 'mbmemcasecmp'.
13174         * modules/mbmemcasecmp-tests: New file.
13175         * tests/test-mbmemcasecmp1.sh: New file.
13176         * tests/test-mbmemcasecmp2.sh: New file.
13177         * tests/test-mbmemcasecmp3.sh: New file.
13178         * tests/test-mbmemcasecmp.c: New file.
13179
13180         New module 'mbmemcasecmp'.
13181         * lib/mbmemcasecmp.h: New file.
13182         * lib/mbmemcasecmp.c: New file.
13183         * modules/mbmemcasecmp: New file.
13184
13185 2009-03-09  Bruno Haible  <bruno@clisp.org>
13186
13187         Tests for module 'unicase/ulc-casecoll'.
13188         * modules/unicase/ulc-casecoll-tests: New file.
13189         * tests/unicase/test-ulc-casecoll1.sh: New file.
13190         * tests/unicase/test-ulc-casecoll2.sh: New file.
13191         * tests/unicase/test-ulc-casecoll.c: New file.
13192
13193         New module 'unicase/ulc-casecoll'.
13194         * lib/unicase.h (ulc_casecoll): New declaration.
13195         * lib/unicase/ulc-casecoll.c: New file.
13196         * modules/unicase/ulc-casecoll: New file.
13197
13198         New module 'unicase/ulc-casexfrm'.
13199         * lib/unicase.h (ulc_casexfrm): New declaration.
13200         * lib/unicase/ulc-casexfrm.c: New file.
13201         * modules/unicase/ulc-casexfrm: New file.
13202
13203 2009-03-09  Bruno Haible  <bruno@clisp.org>
13204
13205         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
13206         invocations.
13207
13208         * m4/mbscasecmp.m4: Remove file.
13209         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
13210         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
13211
13212         * m4/mbscasestr.m4: Remove file.
13213         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
13214         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
13215
13216         * m4/mbschr.m4: Remove file.
13217         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
13218         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
13219
13220         * m4/mbscspn.m4: Remove file.
13221         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
13222         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
13223
13224         * m4/mbslen.m4: Remove file.
13225         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
13226         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
13227
13228         * m4/mbsncasecmp.m4: Remove file.
13229         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
13230         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
13231
13232         * m4/mbsnlen.m4: Remove file.
13233         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
13234         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
13235
13236         * m4/mbspbrk.m4: Remove file.
13237         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
13238         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
13239
13240         * m4/mbspcasecmp.m4: Remove file.
13241         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
13242         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
13243
13244         * m4/mbsrchr.m4: Remove file.
13245         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
13246         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
13247
13248         * m4/mbssep.m4: Remove file.
13249         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
13250         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
13251
13252         * m4/mbsspn.m4: Remove file.
13253         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
13254         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
13255
13256         * m4/mbsstr.m4: Remove file.
13257         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
13258         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
13259
13260         * m4/mbstok_r.m4: Remove file.
13261         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
13262         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
13263
13264         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
13265
13266         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
13267         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
13268
13269         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
13270
13271 2009-03-08  Bruno Haible  <bruno@clisp.org>
13272
13273         Tests for module 'unicase/ulc-casecmp'.
13274         * modules/unicase/ulc-casecmp-tests: New file.
13275         * tests/unicase/test-ulc-casecmp1.sh: New file.
13276         * tests/unicase/test-ulc-casecmp2.sh: New file.
13277         * tests/unicase/test-ulc-casecmp.c: New file.
13278
13279         New module 'unicase/ulc-casecmp'.
13280         * lib/unicase.h (ulc_casecmp): New declaration.
13281         * lib/unicase/ulc-casecmp.c: New file.
13282         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
13283         'const SRC_UNIT *'.
13284         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
13285         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
13286         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
13287         * modules/unicase/ulc-casecmp: New file.
13288
13289         Tests for module 'unicase/u32-is-cased'.
13290         * modules/unicase/u32-is-cased-tests: New file.
13291         * tests/unicase/test-u32-is-cased.c: New file.
13292
13293         Tests for module 'unicase/u16-is-cased'.
13294         * modules/unicase/u16-is-cased-tests: New file.
13295         * tests/unicase/test-u16-is-cased.c: New file.
13296
13297         Tests for module 'unicase/u8-is-cased'.
13298         * modules/unicase/u8-is-cased-tests: New file.
13299         * tests/unicase/test-u8-is-cased.c: New file.
13300         * tests/unicase/test-is-cased.h: New file.
13301
13302         New module 'unicase/u32-is-cased'.
13303         * lib/unicase/u32-is-cased.c: New file.
13304         * modules/unicase/u32-is-cased: New file.
13305
13306         New module 'unicase/u16-is-cased'.
13307         * lib/unicase/u16-is-cased.c: New file.
13308         * modules/unicase/u16-is-cased: New file.
13309
13310         New module 'unicase/u8-is-cased'.
13311         * lib/unicase/u8-is-cased.c: New file.
13312         * lib/unicase/u-is-cased.h: New file.
13313         * modules/unicase/u8-is-cased: New file.
13314
13315         Tests for module 'unicase/u32-is-casefolded'.
13316         * modules/unicase/u32-is-casefolded-tests: New file.
13317         * tests/unicase/test-u32-is-casefolded.c: New file.
13318
13319         Tests for module 'unicase/u16-is-casefolded'.
13320         * modules/unicase/u16-is-casefolded-tests: New file.
13321         * tests/unicase/test-u16-is-casefolded.c: New file.
13322
13323         Tests for module 'unicase/u8-is-casefolded'.
13324         * modules/unicase/u8-is-casefolded-tests: New file.
13325         * tests/unicase/test-u8-is-casefolded.c: New file.
13326         * tests/unicase/test-is-casefolded.h: New file.
13327
13328         New module 'unicase/u32-is-casefolded'.
13329         * lib/unicase/u32-is-casefolded.c: New file.
13330         * modules/unicase/u32-is-casefolded: New file.
13331
13332         New module 'unicase/u16-is-casefolded'.
13333         * lib/unicase/u16-is-casefolded.c: New file.
13334         * modules/unicase/u16-is-casefolded: New file.
13335
13336         New module 'unicase/u8-is-casefolded'.
13337         * lib/unicase/u8-is-casefolded.c: New file.
13338         * modules/unicase/u8-is-casefolded: New file.
13339
13340         Tests for module 'unicase/u32-is-titlecase'.
13341         * modules/unicase/u32-is-titlecase-tests: New file.
13342         * tests/unicase/test-u32-is-titlecase.c: New file.
13343
13344         Tests for module 'unicase/u16-is-titlecase'.
13345         * modules/unicase/u16-is-titlecase-tests: New file.
13346         * tests/unicase/test-u16-is-titlecase.c: New file.
13347
13348         Tests for module 'unicase/u8-is-titlecase'.
13349         * modules/unicase/u8-is-titlecase-tests: New file.
13350         * tests/unicase/test-u8-is-titlecase.c: New file.
13351         * tests/unicase/test-is-titlecase.h: New file.
13352
13353         New module 'unicase/u32-is-titlecase'.
13354         * lib/unicase/u32-is-titlecase.c: New file.
13355         * modules/unicase/u32-is-titlecase: New file.
13356
13357         New module 'unicase/u16-is-titlecase'.
13358         * lib/unicase/u16-is-titlecase.c: New file.
13359         * modules/unicase/u16-is-titlecase: New file.
13360
13361         New module 'unicase/u8-is-titlecase'.
13362         * lib/unicase/u8-is-titlecase.c: New file.
13363         * modules/unicase/u8-is-titlecase: New file.
13364
13365         Tests for module 'unicase/u32-is-lowercase'.
13366         * modules/unicase/u32-is-lowercase-tests: New file.
13367         * tests/unicase/test-u32-is-lowercase.c: New file.
13368
13369         Tests for module 'unicase/u16-is-lowercase'.
13370         * modules/unicase/u16-is-lowercase-tests: New file.
13371         * tests/unicase/test-u16-is-lowercase.c: New file.
13372
13373         Tests for module 'unicase/u8-is-lowercase'.
13374         * modules/unicase/u8-is-lowercase-tests: New file.
13375         * tests/unicase/test-u8-is-lowercase.c: New file.
13376         * tests/unicase/test-is-lowercase.h: New file.
13377
13378         New module 'unicase/u32-is-lowercase'.
13379         * lib/unicase/u32-is-lowercase.c: New file.
13380         * modules/unicase/u32-is-lowercase: New file.
13381
13382         New module 'unicase/u16-is-lowercase'.
13383         * lib/unicase/u16-is-lowercase.c: New file.
13384         * modules/unicase/u16-is-lowercase: New file.
13385
13386         New module 'unicase/u8-is-lowercase'.
13387         * lib/unicase/u8-is-lowercase.c: New file.
13388         * modules/unicase/u8-is-lowercase: New file.
13389
13390         Tests for module 'unicase/u32-is-uppercase'.
13391         * modules/unicase/u32-is-uppercase-tests: New file.
13392         * tests/unicase/test-u32-is-uppercase.c: New file.
13393
13394         Tests for module 'unicase/u16-is-uppercase'.
13395         * modules/unicase/u16-is-uppercase-tests: New file.
13396         * tests/unicase/test-u16-is-uppercase.c: New file.
13397
13398         Tests for module 'unicase/u8-is-uppercase'.
13399         * modules/unicase/u8-is-uppercase-tests: New file.
13400         * tests/unicase/test-u8-is-uppercase.c: New file.
13401         * tests/unicase/test-is-uppercase.h: New file.
13402
13403         New module 'unicase/u32-is-uppercase'.
13404         * lib/unicase/u32-is-uppercase.c: New file.
13405         * modules/unicase/u32-is-uppercase: New file.
13406
13407         New module 'unicase/u16-is-uppercase'.
13408         * lib/unicase/u16-is-uppercase.c: New file.
13409         * modules/unicase/u16-is-uppercase: New file.
13410
13411         New module 'unicase/u8-is-uppercase'.
13412         * lib/unicase/u8-is-uppercase.c: New file.
13413         * modules/unicase/u8-is-uppercase: New file.
13414
13415         New module 'unicase/u32-is-invariant'.
13416         * lib/unicase/u32-is-invariant.c: New file.
13417         * modules/unicase/u32-is-invariant: New file.
13418
13419         New module 'unicase/u16-is-invariant'.
13420         * lib/unicase/u16-is-invariant.c: New file.
13421         * modules/unicase/u16-is-invariant: New file.
13422
13423         New module 'unicase/u8-is-invariant'.
13424         * lib/unicase/u8-is-invariant.c: New file.
13425         * lib/unicase/invariant.h: New file.
13426         * lib/unicase/u-is-invariant.h: New file.
13427         * modules/unicase/u8-is-invariant: New file.
13428
13429         Tests for module 'unicase/u32-casecoll'.
13430         * modules/unicase/u32-casecoll-tests: New file.
13431         * tests/unicase/test-u32-casecoll.c: New file.
13432
13433         Tests for module 'unicase/u16-casecoll'.
13434         * modules/unicase/u16-casecoll-tests: New file.
13435         * tests/unicase/test-u16-casecoll.c: New file.
13436
13437         Tests for module 'unicase/u8-casecoll'.
13438         * modules/unicase/u8-casecoll-tests: New file.
13439         * tests/unicase/test-u8-casecoll.c: New file.
13440
13441         New module 'unicase/u32-casecoll'.
13442         * lib/unicase/u32-casecoll.c: New file.
13443         * modules/unicase/u32-casecoll: New file.
13444
13445         New module 'unicase/u16-casecoll'.
13446         * lib/unicase/u16-casecoll.c: New file.
13447         * modules/unicase/u16-casecoll: New file.
13448
13449         New module 'unicase/u8-casecoll'.
13450         * lib/unicase/u8-casecoll.c: New file.
13451         * lib/unicase/u-casecoll.h: New file.
13452         * modules/unicase/u8-casecoll: New file.
13453
13454         New module 'unicase/u32-casexfrm'.
13455         * lib/unicase/u32-casexfrm.c: New file.
13456         * modules/unicase/u32-casexfrm: New file.
13457
13458         New module 'unicase/u16-casexfrm'.
13459         * lib/unicase/u16-casexfrm.c: New file.
13460         * modules/unicase/u16-casexfrm: New file.
13461
13462         New module 'unicase/u8-casexfrm'.
13463         * lib/unicase/u8-casexfrm.c: New file.
13464         * lib/unicase/u-casexfrm.h: New file.
13465         * modules/unicase/u8-casexfrm: New file.
13466
13467         Tests for module 'unicase/u32-casecmp'.
13468         * modules/unicase/u32-casecmp-tests: New file.
13469         * tests/unicase/test-u32-casecmp.c: New file.
13470
13471         Tests for module 'unicase/u16-casecmp'.
13472         * modules/unicase/u16-casecmp-tests: New file.
13473         * tests/unicase/test-u16-casecmp.c: New file.
13474
13475         Tests for module 'unicase/u8-casecmp'.
13476         * modules/unicase/u8-casecmp-tests: New file.
13477         * tests/unicase/test-u8-casecmp.c: New file.
13478         * tests/unicase/test-casecmp.h: New file.
13479
13480         New module 'unicase/u32-casecmp'.
13481         * lib/unicase/u32-casecmp.c: New file.
13482         * modules/unicase/u32-casecmp: New file.
13483
13484         New module 'unicase/u16-casecmp'.
13485         * lib/unicase/u16-casecmp.c: New file.
13486         * modules/unicase/u16-casecmp: New file.
13487
13488         New module 'unicase/u8-casecmp'.
13489         * lib/unicase/u8-casecmp.c: New file.
13490         * lib/unicase/u-casecmp.h: New file.
13491         * modules/unicase/u8-casecmp: New file.
13492
13493         Tests for module 'unicase/u32-casefold'.
13494         * modules/unicase/u32-casefold-tests: New file.
13495         * tests/unicase/test-u32-casefold.c: New file.
13496
13497         Tests for module 'unicase/u16-casefold'.
13498         * modules/unicase/u16-casefold-tests: New file.
13499         * tests/unicase/test-u16-casefold.c: New file.
13500
13501         Tests for module 'unicase/u8-casefold'.
13502         * modules/unicase/u8-casefold-tests: New file.
13503         * tests/unicase/test-u8-casefold.c: New file.
13504
13505         New module 'unicase/u32-casefold'.
13506         * lib/unicase/u32-casefold.c: New file.
13507         * modules/unicase/u32-casefold: New file.
13508
13509         New module 'unicase/u16-casefold'.
13510         * lib/unicase/u16-casefold.c: New file.
13511         * modules/unicase/u16-casefold: New file.
13512
13513         New module 'unicase/u8-casefold'.
13514         * lib/unicase/u8-casefold.c: New file.
13515         * lib/unicase/u-casefold.h: New file.
13516         * modules/unicase/u8-casefold: New file.
13517
13518         New module 'unicase/tocasefold'.
13519         * lib/unicase/casefold.h: New file.
13520         * lib/unicase/tocasefold.c: New file.
13521         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
13522         * modules/unicase/tocasefold: New file.
13523
13524         Tests for module 'unicase/u32-totitle'.
13525         * modules/unicase/u32-totitle-tests: New file.
13526         * tests/unicase/test-u32-totitle.c: New file.
13527
13528         Tests for module 'unicase/u16-totitle'.
13529         * modules/unicase/u16-totitle-tests: New file.
13530         * tests/unicase/test-u16-totitle.c: New file.
13531
13532         Tests for module 'unicase/u8-totitle'.
13533         * modules/unicase/u8-totitle-tests: New file.
13534         * tests/unicase/test-u8-totitle.c: New file.
13535
13536         New module 'unicase/u32-totitle'.
13537         * lib/unicase/u32-totitle.c: New file.
13538         * modules/unicase/u32-totitle: New file.
13539
13540         New module 'unicase/u16-totitle'.
13541         * lib/unicase/u16-totitle.c: New file.
13542         * modules/unicase/u16-totitle: New file.
13543
13544         New module 'unicase/u8-totitle'.
13545         * lib/unicase/u8-totitle.c: New file.
13546         * lib/unicase/u-totitle.h: New file.
13547         * modules/unicase/u8-totitle: New file.
13548
13549         Tests for module 'unicase/u32-tolower'.
13550         * modules/unicase/u32-tolower-tests: New file.
13551         * tests/unicase/test-u32-tolower.c: New file.
13552
13553         Tests for module 'unicase/u16-tolower'.
13554         * modules/unicase/u16-tolower-tests: New file.
13555         * tests/unicase/test-u16-tolower.c: New file.
13556
13557         Tests for module 'unicase/u8-tolower'.
13558         * modules/unicase/u8-tolower-tests: New file.
13559         * tests/unicase/test-u8-tolower.c: New file.
13560
13561         New module 'unicase/u32-tolower'.
13562         * lib/unicase/u32-tolower.c: New file.
13563         * modules/unicase/u32-tolower: New file.
13564
13565         New module 'unicase/u16-tolower'.
13566         * lib/unicase/u16-tolower.c: New file.
13567         * modules/unicase/u16-tolower: New file.
13568
13569         New module 'unicase/u8-tolower'.
13570         * lib/unicase/u8-tolower.c: New file.
13571         * modules/unicase/u8-tolower: New file.
13572
13573         Tests for module 'unicase/u32-toupper'.
13574         * modules/unicase/u32-toupper-tests: New file.
13575         * tests/unicase/test-u32-toupper.c: New file.
13576
13577         Tests for module 'unicase/u16-toupper'.
13578         * modules/unicase/u16-toupper-tests: New file.
13579         * tests/unicase/test-u16-toupper.c: New file.
13580
13581         Tests for module 'unicase/u8-toupper'.
13582         * modules/unicase/u8-toupper-tests: New file.
13583         * tests/unicase/test-u8-toupper.c: New file.
13584
13585         New module 'unicase/u32-toupper'.
13586         * lib/unicase/u32-toupper.c: New file.
13587         * modules/unicase/u32-toupper: New file.
13588
13589         New module 'unicase/u16-toupper'.
13590         * lib/unicase/u16-toupper.c: New file.
13591         * modules/unicase/u16-toupper: New file.
13592
13593         New module 'unicase/u8-toupper'.
13594         * lib/unicase/u8-toupper.c: New file.
13595         * modules/unicase/u8-toupper: New file.
13596
13597         New module 'unicase/u32-casemap'.
13598         * lib/unicase/u32-casemap.c: New file.
13599         * modules/unicase/u32-casemap: New file.
13600
13601         New module 'unicase/u16-casemap'.
13602         * lib/unicase/u16-casemap.c: New file.
13603         * modules/unicase/u16-casemap: New file.
13604
13605         New module 'unicase/u8-casemap'.
13606         * lib/unicase/unicasemap.h: New file.
13607         * lib/unicase/u8-casemap.c: New file.
13608         * lib/unicase/u-casemap.h: New file.
13609         * modules/unicase/u8-casemap: New file.
13610
13611         New module 'unicase/special-casing'.
13612         * lib/unicase/special-casing.h: New file.
13613         * lib/unicase/special-casing.c: New file.
13614         * lib/unicase/special-casing-table.gperf: New file, generated by
13615         gen-uni-tables.c.
13616         * modules/unicase/special-casing: New file.
13617
13618         Tests for module 'unicase/locale-language'.
13619         * modules/unicase/locale-language-tests: New file.
13620         * tests/unicase/test-locale-language.sh: New file.
13621         * tests/unicase/test-locale-language.c: New file.
13622
13623         New module 'unicase/locale-language'.
13624         * lib/unicase/locale-language.c: New file.
13625         * lib/unicase/locale-languages.gperf: New file.
13626         * modules/unicase/locale-language: New file.
13627
13628         Generate more tables for case conversion and case folding.
13629         * lib/gen-uni-tables.c (SCC_*): New enum items.
13630         (struct special_casing_rule): New type.
13631         (casing_rules, num_casing_rules, allocated_casing_rules): New
13632         variables.
13633         (add_casing_rule, fill_casing_rules): New functions.
13634         (struct casefold_rule): New type.
13635         (casefolding_rules, num_casefolding_rules,
13636         allocated_casefolding_rules): New variables.
13637         (fill_casefolding_rules): New function.
13638         (unicode_casefold): New variable.
13639         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
13640         sort_casing_rules, output_casing_rules): New functions.
13641         (main): Accept to more arguments: SpecialCasing.txt and
13642         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
13643         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
13644         Output mapping for casefolding.
13645
13646         * lib/unicase.h: Include stdbool.h, uninorm.h.
13647         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
13648         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
13649         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
13650         arguments.
13651         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
13652         resultp arguments.
13653         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
13654         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
13655         resultp arguments.
13656         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
13657         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
13658         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
13659         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
13660         declarations.
13661         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
13662
13663 2009-03-08  Bruno Haible  <bruno@clisp.org>
13664
13665         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
13666         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
13667         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
13668         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
13669
13670 2009-03-07  Bruno Haible  <bruno@clisp.org>
13671
13672         Adjust u*_normcmp, u*_normcoll API.
13673         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
13674         u16_normcoll, u32_normcoll): Change failure conventions.
13675         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
13676         errno and return -1.
13677         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
13678
13679 2009-03-07  Bruno Haible  <bruno@clisp.org>
13680
13681         Tests for module 'uninorm/u32-normcoll'.
13682         * modules/uninorm/u32-normcoll-tests: New file.
13683         * tests/uninorm/test-u32-normcoll.c: New file.
13684
13685         Tests for module 'uninorm/u16-normcoll'.
13686         * modules/uninorm/u16-normcoll-tests: New file.
13687         * tests/uninorm/test-u16-normcoll.c: New file.
13688
13689         Tests for module 'uninorm/u8-normcoll'.
13690         * modules/uninorm/u8-normcoll-tests: New file.
13691         * tests/uninorm/test-u8-normcoll.c: New file.
13692
13693 2009-03-07  Bruno Haible  <bruno@clisp.org>
13694
13695         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
13696         tests/uninorm/test-u32-normcmp.c.
13697         * tests/uninorm/test-u32-normcmp.c: Include it.
13698         (test_nonascii): New function, extracted from main. Add some more
13699         tests.
13700         (main): Invoke test_ascii and test_nonascii.
13701         * modules/uninorm/u32-normcmp-tests (Files): Add
13702         tests/uninorm/test-u32-normcmp.h.
13703         (Depends-on): Remove uninorm/u32-normcmp.
13704
13705         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
13706         tests/uninorm/test-u16-normcmp.c.
13707         * tests/uninorm/test-u16-normcmp.c: Include it.
13708         (test_nonascii): New function, extracted from main. Add some more
13709         tests.
13710         (main): Invoke test_ascii and test_nonascii.
13711         * modules/uninorm/u16-normcmp-tests (Files): Add
13712         tests/uninorm/test-u16-normcmp.h.
13713         (Depends-on): Remove uninorm/u16-normcmp.
13714
13715         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
13716         tests/uninorm/test-u8-normcmp.c.
13717         * tests/uninorm/test-u8-normcmp.c: Include it.
13718         (test_nonascii): New function, extracted from main. Add some more
13719         tests.
13720         (main): Invoke test_ascii and test_nonascii.
13721         * modules/uninorm/u8-normcmp-tests (Files): Add
13722         tests/uninorm/test-u8-normcmp.h.
13723         (Depends-on): Remove uninorm/u8-normcmp.
13724
13725 2009-03-07  Bruno Haible  <bruno@clisp.org>
13726
13727         New module 'uninorm/u32-normcoll'.
13728         * lib/uninorm/u32-normcoll.c: New file.
13729         * modules/uninorm/u32-normcoll: New file.
13730
13731         New module 'uninorm/u16-normcoll'.
13732         * lib/uninorm/u16-normcoll.c: New file.
13733         * modules/uninorm/u16-normcoll: New file.
13734
13735         New module 'uninorm/u8-normcoll'.
13736         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
13737         declarations.
13738         * lib/uninorm/u8-normcoll.c: New file.
13739         * lib/uninorm/u-normcoll.h: New file.
13740         * modules/uninorm/u8-normcoll: New file.
13741
13742         New module 'uninorm/u32-normxfrm'.
13743         * lib/uninorm/u32-normxfrm.c: New file.
13744         * modules/uninorm/u32-normxfrm: New file.
13745
13746         New module 'uninorm/u16-normxfrm'.
13747         * lib/uninorm/u16-normxfrm.c: New file.
13748         * modules/uninorm/u16-normxfrm: New file.
13749
13750         New module 'uninorm/u8-normxfrm'.
13751         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
13752         declarations.
13753         * lib/uninorm/u8-normxfrm.c: New file.
13754         * lib/uninorm/u-normxfrm.h: New file.
13755         * modules/uninorm/u8-normxfrm: New file.
13756
13757 2009-03-07  Bruno Haible  <bruno@clisp.org>
13758
13759         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
13760         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
13761         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
13762
13763 2009-03-07  Bruno Haible  <bruno@clisp.org>
13764
13765         New module 'memxfrm'.
13766         * lib/memxfrm.h: New file.
13767         * lib/memxfrm.c: New file.
13768         * modules/memxfrm: New file.
13769
13770 2009-03-07  Bruno Haible  <bruno@clisp.org>
13771
13772         New module 'memcmp2'.
13773         * lib/memcmp2.h: New file.
13774         * lib/memcmp2.c: New file.
13775         * modules/memcmp2: New file.
13776
13777 2009-03-07  Bruno Haible  <bruno@clisp.org>
13778
13779         Tests for module 'uninorm/decomposing-form'.
13780         * modules/uninorm/decomposing-form-tests: New file.
13781         * tests/uninorm/test-decomposing-form.c: New file.
13782
13783         New module 'uninorm/decomposing-form'.
13784         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
13785         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
13786         Add 'decomposing_variant' field.
13787         * lib/uninorm/decomposing-form.c: New file.
13788         * lib/uninorm/nfc.c (uninorm_nfc): Update.
13789         * lib/uninorm/nfd.c (uninorm_nfd): Update.
13790         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
13791         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
13792         * modules/uninorm/decomposing-form: New file.
13793         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
13794         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
13795
13796 2009-03-07  Bruno Haible  <bruno@clisp.org>
13797
13798         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
13799         strings.
13800
13801 2009-03-06  Bruno Haible  <bruno@clisp.org>
13802
13803         Tests for module 'uninorm/u32-normcmp'.
13804         * tests/uninorm/test-u32-normcmp.c: New file.
13805         * modules/uninorm/u32-normcmp-tests: New file.
13806
13807         Tests for module 'uninorm/u16-normcmp'.
13808         * tests/uninorm/test-u16-normcmp.c: New file.
13809         * modules/uninorm/u16-normcmp-tests: New file.
13810
13811         Tests for module 'uninorm/u8-normcmp'.
13812         * tests/uninorm/test-u8-normcmp.c: New file.
13813         * modules/uninorm/u8-normcmp-tests: New file.
13814
13815         New module 'uninorm/u32-normcmp'.
13816         * lib/uninorm/u32-normcmp.c: New file.
13817         * modules/uninorm/u32-normcmp: New file.
13818
13819         New module 'uninorm/u16-normcmp'.
13820         * lib/uninorm/u16-normcmp.c: New file.
13821         * modules/uninorm/u16-normcmp: New file.
13822
13823         New module 'uninorm/u8-normcmp'.
13824         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
13825         declarations.
13826         * lib/uninorm/u8-normcmp.c: New file.
13827         * lib/uninorm/u-normcmp.h: New file.
13828         * modules/uninorm/u8-normcmp: New file.
13829
13830 2009-03-06  Bruno Haible  <bruno@clisp.org>
13831
13832         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
13833         Reported by Eric Blake.
13834
13835 2009-03-06  Eric Blake  <ebb9@byu.net>
13836             Bruno Haible  <bruno@clisp.org>
13837
13838         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
13839         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
13840         condition.
13841         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
13842         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
13843         condition.
13844         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
13845
13846 2009-03-06  Eric Blake  <ebb9@byu.net>
13847
13848         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
13849         to avoid compiler warnings.
13850         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
13851
13852 2009-03-05  Bruno Haible  <bruno@clisp.org>
13853
13854         * tests/test-ftell.c (main): Disable test beyond end of file on
13855         FreeMiNT.
13856         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
13857
13858 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
13859
13860         * lib/filevercmp.c: Move hidden files up in ordering.
13861         * tests/test-filevercmp.c: Add tests for hidden files.
13862
13863 2009-03-04  Bruno Haible  <bruno@clisp.org>
13864
13865         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
13866         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
13867         AM_CFLAGS.
13868         Reported by Simon Josefsson.
13869
13870 2009-03-03  Bruno Haible  <bruno@clisp.org>
13871
13872         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
13873         Reported by Simon Josefsson.
13874
13875         * doc/ld-version-script.texi: Update node reference.
13876
13877 2009-03-03  Bruno Haible  <bruno@clisp.org>
13878
13879         * modules/visibility (License): Change to 'unlimited'.
13880         Suggested by Simon Josefsson.
13881
13882 2009-03-03  Jim Meyering  <meyering@redhat.com>
13883
13884         unlinkdir: cannot_unlink_dir may modify process state
13885         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
13886         it's neither thread-safe nor appropriate for use in a library.
13887
13888 2009-03-03  Eric Blake  <ebb9@byu.net>
13889
13890         test-closein: silence test under Darwin
13891         * tests/test-closein.sh: Ignore stderr from cat, since we don't
13892         care if it dies from EPIPE or EBADF.
13893
13894 2009-03-03  Bruno Haible  <bruno@clisp.org>
13895
13896         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
13897         earlier.
13898         * doc/visibility.texi: Fix @node and @section.
13899
13900 2009-03-03  Simon Josefsson  <simon@josefsson.org>
13901
13902         * doc/gnulib.texi: Link to sections for ld version script and
13903         visibility.
13904         * doc/visibility.texi: Add @node and @section.
13905         * modules/ld-version-script: New module.
13906         * m4/ld-version-script.m4: New file.
13907         * doc/ld-version-script.texi: New file.
13908
13909 2009-03-02  David Lutterkort  <lutter@redhat.com>
13910
13911         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
13912         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13913
13914 2009-03-02  Bruno Haible  <bruno@clisp.org>
13915
13916         * doc/visibility.texi: Mention libtool's -export-symbols option.
13917
13918 2009-03-02  Jim Meyering  <meyering@redhat.com>
13919
13920         announce-gen: new option: --no-print-checksums
13921         * build-aux/announce-gen (usage): Describe it.
13922         (print_checksums): Print a newline here, not in the [*] footnote.
13923         (main): Honor it.
13924
13925 2009-03-01  Bruno Haible  <bruno@clisp.org>
13926
13927         Use socklen_t in the native Windows replacements prototypes.
13928         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
13929         instead of 'int'.
13930         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13931         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13932         * modules/getsockopt (Depends-on): Add socklen.
13933         * modules/setsockopt (Depends-on): Add socklen.
13934
13935 2009-03-01  Bruno Haible  <bruno@clisp.org>
13936
13937         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
13938         least 4.2.
13939
13940 2009-03-01  Eric Blake  <ebb9@byu.net>
13941             Bruno Haible  <bruno@clisp.org>
13942
13943         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
13944         error messages.
13945         * lib/wait-process.c (wait_subprocess): Omit error message about
13946         deadly signal sent to the child of termsigp != NULL.
13947
13948 2009-03-01  Eric Blake  <ebb9@byu.net>
13949
13950         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
13951
13952 2009-03-01  Bruno Haible  <bruno@clisp.org>
13953
13954         Avoid a gcc warning.
13955         * tests/test-sched.c (b): Make global.
13956         Reported by Eric Blake.
13957
13958 2009-01-19  Martin Lambers  <marlam@marlam.de>
13959
13960         Provide POSIX semantics for socket timeout options on W32.
13961         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
13962         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
13963         * modules/setsockopt: Depend on sys_time module for struct timeval.
13964         * modules/getsockopt: Depend on sys_time module for struct timeval.
13965
13966 2009-03-01  Simon Josefsson  <simon@josefsson.org>
13967
13968         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
13969         __USE_GNU, for consistency with netdb.in.h.
13970         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13971
13972 2009-03-01  Bruno Haible  <bruno@clisp.org>
13973
13974         More support for FreeMiNT.
13975         * lib/fseeko.c (rpl_fseeko): Complete last commit.
13976         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13977
13978 2009-03-01  Bruno Haible  <bruno@clisp.org>
13979
13980         More support for FreeMiNT.
13981         * lib/fpurge.c (fpurge): Correct last commit.
13982         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13983
13984 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13985
13986         Fix unportable awk script in vc-list-files.
13987         * build-aux/vc-list-files: In the replacement awk script, use
13988         substr with a second argument of 1, not zero.
13989         Report by Simon Josefsson.
13990
13991 2009-02-28  Bruno Haible  <bruno@clisp.org>
13992
13993         More support for FreeMiNT.
13994         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
13995         to FreeMiNT today.
13996         * lib/fwriting.c (fwriting): Likewise.
13997         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
13998
13999 2009-02-28  Bruno Haible  <bruno@clisp.org>
14000
14001         * tests/test-freadseek.c (main): Disable test beyond end of file on
14002         FreeMiNT.
14003         * tests/test-ftello.c (main): Likewise.
14004         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
14005
14006 2009-02-28  Bruno Haible  <bruno@clisp.org>
14007
14008         Add tentative support for FreeMiNT.
14009         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
14010         * lib/fpurge.c (fpurge): Likewise.
14011         * lib/freadable.c (freadable): Likewise.
14012         * lib/freading.c (freading): Likewise.
14013         * lib/freadptr.c (freadptr): Likewise.
14014         * lib/freadseek.c (freadptrinc): Likewise.
14015         * lib/fseeko.c (rpl_fseeko): Likewise.
14016         * lib/fseterr.c (fseterr): Likewise.
14017         * lib/fwritable.c (fwritable): Likewise.
14018         * lib/fwriting.c (fwriting): Likewise.
14019         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
14020         Hourihane.
14021         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
14022
14023 2009-02-28  Bruno Haible  <bruno@clisp.org>
14024
14025         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
14026         SIGCHLD.
14027         Reported by Jim Meyering.
14028
14029 2009-02-28  Bruno Haible  <bruno@clisp.org>
14030
14031         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
14032         Mention the results of these tests on various platforms.
14033         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
14034         order.
14035         * doc/posix-functions/printf.texi: Likewise.
14036         * doc/posix-functions/snprintf.texi: Likewise.
14037         * doc/posix-functions/sprintf.texi: Likewise.
14038         * doc/posix-functions/vfprintf.texi: Likewise.
14039         * doc/posix-functions/vprintf.texi: Likewise.
14040         * doc/posix-functions/vsnprintf.texi: Likewise.
14041         * doc/posix-functions/vsprintf.texi: Likewise.
14042         * doc/glibc-functions/obstack_printf.texi: Likewise.
14043         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14044
14045 2009-02-28  Bruno Haible  <bruno@clisp.org>
14046
14047         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
14048         Reported by Loïc Minier <lool@dooz.org>.
14049
14050 2009-02-27  Bruno Haible  <bruno@clisp.org>
14051
14052         * gnulib-tool (func_import): Make the sed expression used to create the
14053         sed script for updating the .gitignore file POSIX compliant.
14054         Reported by Eric Blake.
14055
14056 2009-02-27  Bruno Haible  <bruno@clisp.org>
14057
14058         * gnulib-tool (sed): Don't alias as "sed --posix".
14059         Reported by Eric Blake.
14060
14061 2009-02-27  Bruno Haible  <bruno@clisp.org>
14062
14063         Avoid test link errors.
14064         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
14065         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
14066         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
14067         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
14068         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14069
14070 2009-02-27  Bruno Haible  <bruno@clisp.org>
14071
14072         Avoid spurious "(cached)" in configure output.
14073         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
14074         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
14075         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
14076         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
14077         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
14078         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
14079         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
14080         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
14081         Reported by Eric Blake.
14082
14083 2009-02-27  Eric Blake  <ebb9@byu.net>
14084
14085         printf: fix regression in previous patch
14086         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
14087
14088 2009-02-27  Bruno Haible  <bruno@clisp.org>
14089
14090         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
14091         value.
14092         * lib/stdint.in.h: Likewise.
14093         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
14094
14095 2009-02-27  Eric Blake  <ebb9@byu.net>
14096
14097         doc: mention more functions added in cygwin 1.7.0
14098         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
14099         addition.
14100         * doc/posix-functions/open_wmemstream.texi: Likewise.
14101         * doc/posix-functions/wcsnlen.texi: Likewise.
14102         * doc/posix-functions/wcsnrtombs.texi: Likewise.
14103         * doc/posix-functions/wcstod.texi: Likewise.
14104         * doc/posix-functions/wcstof.texi: Likewise.
14105         * doc/posix-functions/wcstoimax.texi: Likewise.
14106         * doc/posix-functions/wcstok.texi: Likewise.
14107         * doc/posix-functions/wcstoumax.texi: Likewise.
14108
14109         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
14110         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
14111         * doc/posix-functions/fprintf.texi: Update.
14112         * doc/posix-functions/printf.texi: Update.
14113         * doc/posix-functions/snprintf.texi: Update.
14114         * doc/posix-functions/sprintf.texi: Update.
14115         * doc/posix-functions/vfprintf.texi: Update.
14116         * doc/posix-functions/vprintf.texi: Update.
14117         * doc/posix-functions/vsnprintf.texi: Update.
14118         * doc/posix-functions/vsprintf.texi: Update.
14119         * doc/glibc-functions/obstack_printf.texi: Update.
14120         * doc/glibc-functions/obstack_vprintf.texi: Update.
14121
14122 2009-02-26  Eric Blake  <ebb9@byu.net>
14123
14124         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
14125         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
14126         compilation bug by using runtime conversion.
14127         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
14128         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
14129         * modules/ceill-tests (Files): Use nan.h.
14130         * modules/floorl-tests (Files): Likewise.
14131         * modules/frexpl-tests (Files): Likewise.
14132         * modules/isnanl-tests (Files): Likewise.
14133         * modules/ldexpl-tests (Files): Likewise.
14134         * modules/roundl-tests (Files): Likewise.
14135         * modules/truncl-tests (Files): Likewise.
14136         * tests/test-ceill.c (main): Use a working NaN.
14137         * tests/test-floorl.c (main): Likewise.
14138         * tests/test-frexpl.c (main): Likewise.
14139         * tests/test-isnan.c (test_long_double): Likewise.
14140         * tests/test-isnanl.h (main): Likewise.
14141         * tests/test-ldexpl.h (main): Likewise.
14142         * tests/test-roundl.h (main): Likewise.
14143         * tests/test-truncl.h (main): Likewise.
14144         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
14145
14146 2009-02-26  Eric Blake  <ebb9@byu.net>
14147             Bruno Haible  <bruno@clisp.org>
14148
14149         Work around a *printf bug with %ls on Solaris.
14150         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
14151         precision is specified, sprintf stops converting the wide string
14152         argument when the number of bytes that have been produced by this
14153         conversion equals or exceeds the precision.
14154         * doc/posix-functions/fprintf.texi: Update.
14155         * doc/posix-functions/printf.texi: Update.
14156         * doc/posix-functions/snprintf.texi: Update.
14157         * doc/posix-functions/sprintf.texi: Update.
14158         * doc/posix-functions/vfprintf.texi: Update.
14159         * doc/posix-functions/vprintf.texi: Update.
14160         * doc/posix-functions/vsnprintf.texi: Update.
14161         * doc/posix-functions/vsprintf.texi: Update.
14162         * doc/glibc-functions/obstack_printf.texi: Update.
14163         * doc/glibc-functions/obstack_vprintf.texi: Update.
14164
14165 2009-02-26  Eric Blake  <ebb9@byu.net>
14166
14167         stdlib: favor compiler check of random.h
14168         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
14169         to avoid an ObjC random.h installed by Swarm.
14170
14171 2009-02-26  Bruno Haible  <bruno@clisp.org>
14172
14173         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
14174         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
14175         Reported by Gary V. Vaughan <gary@gnu.org>.
14176
14177 2009-02-26  Bruno Haible  <bruno@clisp.org>
14178
14179         Fix *printf behaviour regarding the %ls directive.
14180         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
14181         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
14182         NEED_PRINTF_DIRECTIVE_LS.
14183         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
14184         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
14185         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
14186         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
14187         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
14188         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
14189         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
14190         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
14191         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
14192         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
14193         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
14194         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
14195         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
14196         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
14197         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
14198         * doc/posix-functions/fprintf.texi: Update.
14199         * doc/posix-functions/printf.texi: Update.
14200         * doc/posix-functions/snprintf.texi: Update.
14201         * doc/posix-functions/sprintf.texi: Update.
14202         * doc/posix-functions/vfprintf.texi: Update.
14203         * doc/posix-functions/vprintf.texi: Update.
14204         * doc/posix-functions/vsnprintf.texi: Update.
14205         * doc/posix-functions/vsprintf.texi: Update.
14206         * doc/glibc-functions/obstack_printf.texi: Update.
14207         * doc/glibc-functions/obstack_vprintf.texi: Update.
14208         Reported by Eric Blake.
14209
14210 2009-02-25  Bruno Haible  <bruno@clisp.org>
14211
14212         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
14213         with known value.
14214         Reported by Gary V. Vaughan <gary@gnu.org>.
14215
14216 2009-02-25  Bruno Haible  <bruno@clisp.org>
14217
14218         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
14219         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
14220         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
14221         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
14222         Reported by Gary V. Vaughan <gary@gnu.org>.
14223
14224 2009-02-25  Bruno Haible  <bruno@clisp.org>
14225
14226         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
14227         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
14228         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
14229         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
14230         Reported by Gary V. Vaughan <gary@gnu.org>.
14231
14232 2009-02-25  Eric Blake  <ebb9@byu.net>
14233
14234         tests: skip fseek/ftell tests if ungetc is broken
14235         * m4/ungetc.m4: New file.
14236         * modules/fseek-tests: Split test, so ungetc dependency is
14237         separate from rest of test.
14238         * modules/fseeko-tests: Likewise.
14239         * modules/ftell-tests: Likewise.
14240         * modules/ftello-tests: Likewise.
14241         * tests/test-fseek.c (main): Isolate ungetc dependency.
14242         * tests/test-fseeko.c (main): Likewise.
14243         * tests/test-ftell.c (main): Likewise.
14244         * tests/test-ftello.c (main): Likewise.
14245         * tests/test-fseek2.sh: New file.
14246         * tests/test-fseeko2.sh: Likewise.
14247         * tests/test-ftell2.sh: Likewise.
14248         * tests/test-ftello2.sh: Likewise.
14249
14250 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
14251
14252         test-getaddrinfo: fix usage of skip return code 77
14253         * tests/test-gettaddrinfo.c: Return skip code 77 only
14254         for first occurance of skip (4x77 is not 77)
14255
14256 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
14257
14258         strtod: avoid C99 decl-after-statement
14259         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
14260
14261 2009-02-24  Eric Blake  <ebb9@byu.net>
14262
14263         strtod: detect HP-UX 11.31 bug
14264         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
14265         Reported by Gary V. Vaughan.
14266
14267 2009-02-23  Bruno Haible  <bruno@clisp.org>
14268
14269         Fix invalid read past end of memory block.
14270         * lib/vasnprintf.c (DCHAR_SET): Define.
14271         (local_wcslen): Define only when needed.
14272         (local_strnlen, local_wcsnlen): New functions.
14273         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
14274         directives that involve a conversion ourselves.
14275         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
14276         wcsnlen, mbrtowc, wcrtomb.
14277         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
14278         * tests/test-vasprintf-posix.c (test_function): Likewise.
14279         * tests/test-snprintf-posix.h (test_function): Likewise.
14280         * tests/test-sprintf-posix.h (test_function): Likewise.
14281         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14282
14283 2009-02-22  Bruno Haible  <bruno@clisp.org>
14284
14285         Implement new clarified decomposition of Hangul syllables.
14286         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
14287         of type LTV, return only a pairwise decomposition.
14288         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
14289         Likewise.
14290         * tests/uninorm/test-decomposition.c (main): Updated expected result.
14291         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
14292         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
14293
14294 2009-02-22  Bruno Haible  <bruno@clisp.org>
14295
14296         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
14297         zero-length results and shrink excess allocated memory.
14298         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
14299         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
14300         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
14301         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
14302         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
14303         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
14304         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
14305         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
14306         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
14307         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
14308         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
14309         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
14310
14311 2009-02-21  Bruno Haible  <bruno@clisp.org>
14312
14313         * doc/gnulib.texi: Include safe-alloc.texi earlier.
14314         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
14315         spaces after a period. Put a space between a macro name and its
14316         argument list. Trivial rewordings.
14317         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
14318         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
14319         (main): Return 0 explicitly.
14320
14321 2009-02-21  Bruno Haible  <bruno@clisp.org>
14322
14323         Tests for module 'uninorm/filter'.
14324         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
14325         * modules/uninorm/filter-tests: New file.
14326
14327         New module 'uninorm/filter'.
14328         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
14329         uninorm_filter_flush, uninorm_filter_free): New declarations.
14330         * lib/uninorm/uninorm-filter.c: New file.
14331         * modules/uninorm/filter: New file.
14332
14333 2009-02-21  Bruno Haible  <bruno@clisp.org>
14334
14335         Tests for module 'uninorm/nfkc'.
14336         * tests/uninorm/test-nfkc.c: New file.
14337         * tests/uninorm/test-u8-nfkc.c: New file.
14338         * tests/uninorm/test-u16-nfkc.c: New file.
14339         * tests/uninorm/test-u32-nfkc.c: New file.
14340         * tests/uninorm/test-u32-nfkc-big.sh: New file.
14341         * tests/uninorm/test-u32-nfkc-big.c: New file.
14342         * modules/uninorm/nfkc-tests: New file.
14343
14344         New module 'uninorm/nfkc'.
14345         * lib/uninorm/nfkc.c: New file.
14346         * modules/uninorm/nfkc: New file.
14347
14348         Tests for module 'uninorm/nfkd'.
14349         * tests/uninorm/test-nfkd.c: New file.
14350         * tests/uninorm/test-u8-nfkd.c: New file.
14351         * tests/uninorm/test-u16-nfkd.c: New file.
14352         * tests/uninorm/test-u32-nfkd.c: New file.
14353         * tests/uninorm/test-u32-nfkd-big.sh: New file.
14354         * tests/uninorm/test-u32-nfkd-big.c: New file.
14355         * modules/uninorm/nfkd-tests: New file.
14356
14357         New module 'uninorm/nfkd'.
14358         * lib/uninorm/nfkd.c: New file.
14359         * modules/uninorm/nfkd: New file.
14360
14361         Tests for module 'uninorm/nfc'.
14362         * tests/uninorm/test-nfc.c: New file.
14363         * tests/uninorm/test-u8-nfc.c: New file.
14364         * tests/uninorm/test-u16-nfc.c: New file.
14365         * tests/uninorm/test-u32-nfc.c: New file.
14366         * tests/uninorm/test-u32-nfc-big.sh: New file.
14367         * tests/uninorm/test-u32-nfc-big.c: New file.
14368         * modules/uninorm/nfc-tests: New file.
14369
14370         New module 'uninorm/nfc'.
14371         * lib/uninorm/nfc.c: New file.
14372         * modules/uninorm/nfc: New file.
14373
14374         Tests for module 'uninorm/nfd'.
14375         * tests/uninorm/test-nfd.c: New file.
14376         * tests/uninorm/test-u8-nfd.c: New file.
14377         * tests/uninorm/test-u16-nfd.c: New file.
14378         * tests/uninorm/test-u32-nfd.c: New file.
14379         * tests/uninorm/test-u32-nfd-big.sh: New file.
14380         * tests/uninorm/test-u32-nfd-big.c: New file.
14381         * tests/uninorm/test-u32-normalize-big.h: New file.
14382         * tests/uninorm/test-u32-normalize-big.c: New file.
14383         * tests/uninorm/NormalizationTest.txt: New file, created from
14384         Unicode 5.1.0 NormalizationTest.txt.
14385         * modules/uninorm/nfd-tests: New file.
14386
14387         New module 'uninorm/nfd'.
14388         * lib/uninorm/nfd.c: New file.
14389         * modules/uninorm/nfd: New file.
14390
14391         New module 'uninorm/u32-normalize'.
14392         * lib/uninorm/u32-normalize.c: New file.
14393         * modules/uninorm/u32-normalize: New file.
14394
14395         New module 'uninorm/u16-normalize'.
14396         * lib/uninorm/u16-normalize.c: New file.
14397         * modules/uninorm/u16-normalize: New file.
14398
14399         New module 'uninorm/u8-normalize'.
14400         * lib/uninorm/u8-normalize.c: New file.
14401         * lib/uninorm/normalize-internal.h: New file.
14402         * lib/uninorm/u-normalize-internal.h: New file.
14403         * modules/uninorm/u8-normalize: New file.
14404
14405         New module 'uninorm/decompose-internal'.
14406         * lib/uninorm/decompose-internal.c: New file.
14407         * modules/uninorm/decompose-internal: New file.
14408
14409         Tests for module 'uninorm/composition'.
14410         * tests/uninorm/test-composition.c: New file.
14411         * modules/uninorm/composition-tests: New file.
14412
14413         New module 'uninorm/composition'.
14414         * lib/uninorm/composition.c: New file.
14415         * lib/uninorm/composition-table.gperf: New file, generated by
14416         gen-uni-tables.
14417         * modules/uninorm/composition: New file.
14418
14419         Tests for module 'uninorm/compat-decomposition'.
14420         * tests/uninorm/test-compat-decomposition.c: New file.
14421         * modules/uninorm/compat-decomposition-tests: New file.
14422
14423         New module 'uninorm/compat-decomposition'.
14424         * lib/uninorm/decompose-internal.h: New file.
14425         * lib/uninorm/compat-decomposition.c: New file.
14426         * modules/uninorm/compat-decomposition: New file.
14427
14428         Tests for module 'uninorm/canonical-decomposition'.
14429         * tests/uninorm/test-canonical-decomposition.c: New file.
14430         * modules/uninorm/canonical-decomposition-tests: New file.
14431
14432         New module 'uninorm/canonical-decomposition'.
14433         * lib/uninorm/canonical-decomposition.c: New file.
14434         * modules/uninorm/canonical-decomposition: New file.
14435
14436         Tests for module 'uninorm/decomposition'.
14437         * tests/uninorm/test-decomposition.c: New file.
14438         * modules/uninorm/decomposition-tests: New file.
14439
14440         New module 'uninorm/decomposition'.
14441         * lib/uninorm/decomposition.c: New file.
14442         * modules/uninorm/decomposition: New file.
14443
14444         New module 'uninorm/decomposition-table'.
14445         * lib/uninorm/decomposition-table.h: New file.
14446         * lib/uninorm/decomposition-table.c: New file.
14447         * lib/uninorm/decomposition-table1.h: New file, generated by
14448         gen-uni-tables.
14449         * lib/uninorm/decomposition-table2.h: New file, generated by
14450         gen-uni-tables.
14451         * modules/uninorm/decomposition-table: New file.
14452
14453         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
14454         (UC_DECOMP_*): New enumeration items.
14455         (get_decomposition): New function.
14456         (struct decomp_table): New type.
14457         (output_decomposition, output_decomposition_tables): New functions.
14458         (unicode_composition_exclusions): New variable.
14459         (fill_composition_exclusions, debug_output_composition_tables): New
14460         functions.
14461         (main): Accept one more argument. Invoke fill_composition_exclusions.
14462         Output decomposition and composition tables.
14463
14464         New module 'uninorm/base'.
14465         * lib/uninorm.h: New file.
14466         * lib/unictype.h: Update comment.
14467         * modules/uninorm/base: New file.
14468
14469 2009-02-21  David Lutterkort  <lutter@redhat.com>
14470
14471         Tests for module 'safe-alloc'.
14472         * tests/test-safe-alloc.c: New file.
14473         * modules/safe-alloc-tests: New file.
14474
14475         New module 'safe-alloc'.
14476         * lib/safe-alloc.h: New file.
14477         * lib/safe-alloc.c: New file.
14478         * m4/safe-alloc.m4: New file.
14479         * modules/safe-alloc: New file.
14480         * doc/safe-alloc.texi: New file.
14481         * doc/gnulib.texi: Include it.
14482         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
14483         safe-alloc.
14484
14485 2009-02-18  Bruno Haible  <bruno@clisp.org>
14486
14487         Fix link error on non-glibc systems.
14488         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
14489         variable.
14490         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14491
14492 2009-02-18  Jim Meyering  <meyering@redhat.com>
14493
14494         fts: avoid used-uninitialized error due to recent change
14495         * lib/fts.c (fts_read): Guard uses of the new member,
14496         parent->fts_n_dirs_remaining, since it's not relevant for
14497         the parent of a directory specified on the command-line.
14498
14499 2009-02-17  James Youngman  <jay@gnu.org>
14500             Bruno Haible  <bruno@clisp.org>
14501
14502         * m4/include_next.m4: Reformulate comment.
14503
14504 2009-02-16  Jim Meyering  <meyering@redhat.com>
14505
14506         fts: add #if guards so that the fts_lgpl module still builds
14507         * lib/fts.c: Guard just-added hash-table-using parts with
14508         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
14509         Reported by Simon Josefsson.
14510
14511 2009-02-15  Bruno Haible  <bruno@clisp.org>
14512
14513         * modules/array-mergesort-tests: New file.
14514         * tests/test-array-mergesort.c: New file.
14515
14516         New module 'array-mergesort'.
14517         * modules/array-mergesort: New file.
14518         * lib/array-mergesort.h: New file.
14519
14520 2009-02-15  Bruno Haible  <bruno@clisp.org>
14521
14522         Fix 2009-02-07 commit.
14523         * lib/gen-uni-tables.c (output_predicate, output_category,
14524         output_combclass, output_bidi_category, output_decimal_digit,
14525         output_digit, output_numeric, output_mirror, output_scripts,
14526         output_ident_category, output_simple_mapping): Fix format directives.
14527         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
14528
14529 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
14530
14531         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
14532         fixes are available from IBM.
14533
14534 2009-02-13  Jim Meyering  <meyering@redhat.com>
14535
14536         fts: arrange not to stat non-directories in more cases
14537         This makes GNU find (when it doesn't need to stat each file)
14538         *much* more efficient at traversing reiserfs file systems.
14539         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
14540         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
14541         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
14542         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
14543         (leaf_optimization_applies): New function.
14544         (LCO_hash, LCO_compare): New helper functions.
14545         (link_count_optimize_ok): New function.
14546         (fts_stat): Initialize new member (if dir).
14547         (fts_read): Decrement parent's fts_n_dirs_remaining count if
14548         we've just stat'ed a directory.  Skip the stat call when possible.
14549         ---
14550         Note this AFS-related exchange:
14551         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
14552         and note find's pioctl call in find/fstype.c.
14553         But that is necessary only if you want to enable the
14554         optimization for AFS, and for now, I don't.
14555
14556         fts: move a function definition "up" (no semantic change)
14557         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
14558         "up" to precede upcoming use of a related function.
14559
14560 2009-02-11  Jim Meyering  <meyering@redhat.com>
14561
14562         fts: correct internal computation of nlinks (optimization-related)
14563         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
14564         whether the current entry is a directory, so don't test it.
14565
14566 2009-02-10  Bruno Haible  <bruno@clisp.org>
14567
14568         Tests for module 'uniwbrk/ulc-wordbreaks'.
14569         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
14570         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
14571         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
14572
14573         Tests for module 'uniwbrk/u32-wordbreaks'.
14574         * modules/uniwbrk/u32-wordbreaks-tests: New file.
14575         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
14576
14577         Tests for module 'uniwbrk/u16-wordbreaks'.
14578         * modules/uniwbrk/u16-wordbreaks-tests: New file.
14579         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
14580
14581         Tests for module 'uniwbrk/u8-wordbreaks'.
14582         * modules/uniwbrk/u8-wordbreaks-tests: New file.
14583         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
14584
14585 2009-02-10  Bruno Haible  <bruno@clisp.org>
14586
14587         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
14588         property.
14589         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
14590         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
14591         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
14592
14593 2009-02-10  Simon Josefsson  <simon@josefsson.org>
14594
14595         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
14596         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
14597
14598 2009-02-10  Bruno Haible  <bruno@clisp.org>
14599
14600         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
14601         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
14602         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
14603         * lib/unilbrk/u8-possible-linebreaks.c: Update.
14604         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
14605         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
14606
14607 2009-02-09  Simon Josefsson  <simon@josefsson.org>
14608
14609         * lib/sockets.h (gl_fd_to_handle): New function.
14610
14611         * tests/test-sockets.c: Call gl_fd_to_handle.
14612
14613 2009-02-09  Bruno Haible  <bruno@clisp.org>
14614
14615         * doc/havelib.texi: Document the conventions on bi-arch systems.
14616
14617 2009-02-08  Bruno Haible  <bruno@clisp.org>
14618
14619         Document the AC_LIB_LINKFLAGS macro.
14620         * doc/havelib.texi: New file, mostly written on 2005-05-24.
14621         * doc/gnulib.texi: Include it.
14622
14623 2009-02-08  Bruno Haible  <bruno@clisp.org>
14624
14625         Fix wrong order of sections, compared to TOC.
14626         * doc/gnulib.texi: Include relocatable-maint.texi after the
14627         "Regular expressions" node, not before.
14628
14629 2009-02-08  Bruno Haible  <bruno@clisp.org>
14630
14631         Tests for module 'unicase/totitle'.
14632         * modules/unicase/totitle-tests: New file.
14633
14634         Tests for module 'unicase/tolower'.
14635         * modules/unicase/tolower-tests: New file.
14636
14637         Tests for module 'unicase/toupper'.
14638         * modules/unicase/toupper-tests: New file.
14639         * tests/unicase/test-mapping-part1.h: New file.
14640         * tests/unicase/test-mapping-part2.h: New file.
14641
14642         New module 'unicase/totitle'.
14643         * modules/unicase/totitle: New file.
14644         * lib/unicase/totitle.c: New file.
14645
14646         New module 'unicase/tolower'.
14647         * modules/unicase/tolower: New file.
14648         * lib/unicase/tolower.c: New file.
14649
14650         New module 'unicase/toupper'.
14651         * modules/unicase/toupper: New file.
14652         * lib/unicase/toupper.c: New file.
14653         * lib/unicase/simple-mapping.h: New file.
14654
14655         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
14656         (mapping_table): New structure.
14657         (output_simple_mapping): New function.
14658         (main): Invoke output_simple_mapping_test and output_simple_mapping.
14659         * modules/gen-uni-tables (Description): Update.
14660         * lib/unicase/toupper.h: New file, automatically generated by
14661         gen-uni-tables.
14662         * lib/unicase/tolower.h: New file, automatically generated by
14663         gen-uni-tables.
14664         * lib/unicase/totitle.h: New file, automatically generated by
14665         gen-uni-tables.
14666         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
14667         gen-uni-tables.
14668         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
14669         gen-uni-tables.
14670         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
14671         gen-uni-tables.
14672
14673         New module 'unicase/base'.
14674         * modules/unicase/base: New file.
14675         * lib/unicase.h: New file.
14676
14677 2009-02-08  Bruno Haible  <bruno@clisp.org>
14678
14679         New module 'uniwbrk/ulc-wordbreaks'.
14680         * modules/uniwbrk/ulc-wordbreaks: New file.
14681         * lib/uniwbrk/ulc-wordbreaks.c: New file.
14682
14683         New module 'uniwbrk/u32-wordbreaks'.
14684         * modules/uniwbrk/u32-wordbreaks: New file.
14685         * lib/uniwbrk/u32-wordbreaks.c: New file.
14686
14687         New module 'uniwbrk/u16-wordbreaks'.
14688         * modules/uniwbrk/u16-wordbreaks: New file.
14689         * lib/uniwbrk/u16-wordbreaks.c: New file.
14690
14691         New module 'uniwbrk/u8-wordbreaks'.
14692         * modules/uniwbrk/u8-wordbreaks: New file.
14693         * lib/uniwbrk/u8-wordbreaks.c: New file.
14694         * lib/uniwbrk/u-wordbreaks.h: New file.
14695
14696         New module 'uniwbrk/table'.
14697         * modules/uniwbrk/table: New file.
14698         * lib/uniwbrk/wbrktable.h: New file.
14699         * lib/uniwbrk/wbrktable.c: New file.
14700
14701         New module 'uniwbrk/wordbreak-property'.
14702         * modules/uniwbrk/wordbreak-property: New file.
14703         * lib/uniwbrk/wordbreak-property.c: New file.
14704
14705         * lib/gen-uni-tables.c (WBP_*): New enum items.
14706         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
14707         (unicode_org_wbp): New variable.
14708         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
14709         New functions.
14710         (wbp_table): New structure.
14711         (output_wbp, output_wbrk_tables): New functions.
14712         (main): Accept additional argument. Invoke fill_org_wbp,
14713         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
14714         output_wbrk_tables.
14715         * modules/gen-uni-tables (Description): Update.
14716         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
14717         gen-uni-tables.
14718
14719         New module 'uniwbrk/base'.
14720         * modules/uniwbrk/base: New file.
14721         * lib/uniwbrk.h: New file.
14722
14723 2009-02-08  Bruno Haible  <bruno@clisp.org>
14724
14725         Update to Unicode 5.1.0.
14726         * lib/gen-uni-tables.c (is_property_alphabetic): Include
14727         U+2185..U+2188.
14728         (is_property_default_ignorable_code_point): Don't include characters
14729         of category Cc or Cs and not-a-characters.
14730         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
14731         U+0D79, U+109E, U+109F, U+A60C.
14732         * lib/unictype/bidi_of.h: Regenerated.
14733         * lib/unictype/blocks.h: Regenerated.
14734         * lib/unictype/categ_C.h: Regenerated.
14735         * lib/unictype/categ_Cf.h: Regenerated.
14736         * lib/unictype/categ_Cn.h: Regenerated.
14737         * lib/unictype/categ_L.h: Regenerated.
14738         * lib/unictype/categ_Ll.h: Regenerated.
14739         * lib/unictype/categ_Lm.h: Regenerated.
14740         * lib/unictype/categ_Lo.h: Regenerated.
14741         * lib/unictype/categ_Lu.h: Regenerated.
14742         * lib/unictype/categ_M.h: Regenerated.
14743         * lib/unictype/categ_Mc.h: Regenerated.
14744         * lib/unictype/categ_Me.h: Regenerated.
14745         * lib/unictype/categ_Mn.h: Regenerated.
14746         * lib/unictype/categ_N.h: Regenerated.
14747         * lib/unictype/categ_Nd.h: Regenerated.
14748         * lib/unictype/categ_Nl.h: Regenerated.
14749         * lib/unictype/categ_No.h: Regenerated.
14750         * lib/unictype/categ_P.h: Regenerated.
14751         * lib/unictype/categ_Pd.h: Regenerated.
14752         * lib/unictype/categ_Pe.h: Regenerated.
14753         * lib/unictype/categ_Pf.h: Regenerated.
14754         * lib/unictype/categ_Pi.h: Regenerated.
14755         * lib/unictype/categ_Po.h: Regenerated.
14756         * lib/unictype/categ_Ps.h: Regenerated.
14757         * lib/unictype/categ_S.h: Regenerated.
14758         * lib/unictype/categ_Sk.h: Regenerated.
14759         * lib/unictype/categ_Sm.h: Regenerated.
14760         * lib/unictype/categ_So.h: Regenerated.
14761         * lib/unictype/categ_of.h: Regenerated.
14762         * lib/unictype/combining.h: Regenerated.
14763         * lib/unictype/ctype_alnum.h: Regenerated.
14764         * lib/unictype/ctype_alpha.h: Regenerated.
14765         * lib/unictype/ctype_graph.h: Regenerated.
14766         * lib/unictype/ctype_lower.h: Regenerated.
14767         * lib/unictype/ctype_print.h: Regenerated.
14768         * lib/unictype/ctype_punct.h: Regenerated.
14769         * lib/unictype/ctype_upper.h: Regenerated.
14770         * lib/unictype/decdigit.h: Regenerated.
14771         * lib/unictype/digit.h: Regenerated.
14772         * lib/unictype/mirror.h: Regenerated.
14773         * lib/unictype/numeric.h: Regenerated.
14774         * lib/unictype/pr_alphabetic.h: Regenerated.
14775         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
14776         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
14777         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
14778         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
14779         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
14780         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
14781         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
14782         * lib/unictype/pr_combining.h: Regenerated.
14783         * lib/unictype/pr_dash.h: Regenerated.
14784         * lib/unictype/pr_decimal_digit.h: Regenerated.
14785         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
14786         * lib/unictype/pr_deprecated.h: Regenerated.
14787         * lib/unictype/pr_diacritic.h: Regenerated.
14788         * lib/unictype/pr_extender.h: Regenerated.
14789         * lib/unictype/pr_format_control.h: Regenerated.
14790         * lib/unictype/pr_grapheme_base.h: Regenerated.
14791         * lib/unictype/pr_grapheme_extend.h: Regenerated.
14792         * lib/unictype/pr_grapheme_link.h: Regenerated.
14793         * lib/unictype/pr_id_continue.h: Regenerated.
14794         * lib/unictype/pr_id_start.h: Regenerated.
14795         * lib/unictype/pr_ideographic.h: Regenerated.
14796         * lib/unictype/pr_ignorable_control.h: Regenerated.
14797         * lib/unictype/pr_lowercase.h: Regenerated.
14798         * lib/unictype/pr_math.h: Regenerated.
14799         * lib/unictype/pr_numeric.h: Regenerated.
14800         * lib/unictype/pr_other_alphabetic.h: Regenerated.
14801         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
14802         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
14803         * lib/unictype/pr_other_id_continue.h: Regenerated.
14804         * lib/unictype/pr_other_lowercase.h: Regenerated.
14805         * lib/unictype/pr_other_math.h: Regenerated.
14806         * lib/unictype/pr_punctuation.h: Regenerated.
14807         * lib/unictype/pr_sentence_terminal.h: Regenerated.
14808         * lib/unictype/pr_soft_dotted.h: Regenerated.
14809         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
14810         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
14811         * lib/unictype/pr_unified_ideograph.h: Regenerated.
14812         * lib/unictype/pr_uppercase.h: Regenerated.
14813         * lib/unictype/pr_xid_continue.h: Regenerated.
14814         * lib/unictype/pr_xid_start.h: Regenerated.
14815         * lib/unictype/pr_zero_width.h: Regenerated.
14816         * lib/unictype/scripts.h: Regenerated.
14817         * lib/unictype/scripts_byname.gperf: Regenerated.
14818         * lib/unictype/sy_java_ident.h: Regenerated.
14819         * lib/unilbrk/lbrkprop1.h: Regenerated.
14820         * lib/unilbrk/lbrkprop2.h: Regenerated.
14821         * tests/unictype/test-categ_C.c: Regenerated.
14822         * tests/unictype/test-categ_Cf.c: Regenerated.
14823         * tests/unictype/test-categ_Cn.c: Regenerated.
14824         * tests/unictype/test-categ_L.c: Regenerated.
14825         * tests/unictype/test-categ_Ll.c: Regenerated.
14826         * tests/unictype/test-categ_Lm.c: Regenerated.
14827         * tests/unictype/test-categ_Lo.c: Regenerated.
14828         * tests/unictype/test-categ_Lu.c: Regenerated.
14829         * tests/unictype/test-categ_M.c: Regenerated.
14830         * tests/unictype/test-categ_Mc.c: Regenerated.
14831         * tests/unictype/test-categ_Me.c: Regenerated.
14832         * tests/unictype/test-categ_Mn.c: Regenerated.
14833         * tests/unictype/test-categ_N.c: Regenerated.
14834         * tests/unictype/test-categ_Nd.c: Regenerated.
14835         * tests/unictype/test-categ_Nl.c: Regenerated.
14836         * tests/unictype/test-categ_No.c: Regenerated.
14837         * tests/unictype/test-categ_P.c: Regenerated.
14838         * tests/unictype/test-categ_Pd.c: Regenerated.
14839         * tests/unictype/test-categ_Pe.c: Regenerated.
14840         * tests/unictype/test-categ_Pf.c: Regenerated.
14841         * tests/unictype/test-categ_Pi.c: Regenerated.
14842         * tests/unictype/test-categ_Po.c: Regenerated.
14843         * tests/unictype/test-categ_Ps.c: Regenerated.
14844         * tests/unictype/test-categ_S.c: Regenerated.
14845         * tests/unictype/test-categ_Sk.c: Regenerated.
14846         * tests/unictype/test-categ_Sm.c: Regenerated.
14847         * tests/unictype/test-categ_So.c: Regenerated.
14848         * tests/unictype/test-ctype_alnum.c: Regenerated.
14849         * tests/unictype/test-ctype_alpha.c: Regenerated.
14850         * tests/unictype/test-ctype_graph.c: Regenerated.
14851         * tests/unictype/test-ctype_lower.c: Regenerated.
14852         * tests/unictype/test-ctype_print.c: Regenerated.
14853         * tests/unictype/test-ctype_punct.c: Regenerated.
14854         * tests/unictype/test-ctype_upper.c: Regenerated.
14855         * tests/unictype/test-decdigit.h: Regenerated.
14856         * tests/unictype/test-digit.h: Regenerated.
14857         * tests/unictype/test-numeric.h: Regenerated.
14858         * tests/unictype/test-pr_alphabetic.c: Regenerated.
14859         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
14860         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
14861         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
14862         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
14863         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
14864         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
14865         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
14866         * tests/unictype/test-pr_combining.c: Regenerated.
14867         * tests/unictype/test-pr_dash.c: Regenerated.
14868         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
14869         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
14870         * tests/unictype/test-pr_deprecated.c: Regenerated.
14871         * tests/unictype/test-pr_diacritic.c: Regenerated.
14872         * tests/unictype/test-pr_extender.c: Regenerated.
14873         * tests/unictype/test-pr_format_control.c: Regenerated.
14874         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
14875         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
14876         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
14877         * tests/unictype/test-pr_id_continue.c: Regenerated.
14878         * tests/unictype/test-pr_id_start.c: Regenerated.
14879         * tests/unictype/test-pr_ideographic.c: Regenerated.
14880         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
14881         * tests/unictype/test-pr_lowercase.c: Regenerated.
14882         * tests/unictype/test-pr_math.c: Regenerated.
14883         * tests/unictype/test-pr_numeric.c: Regenerated.
14884         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
14885         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
14886         Regenerated.
14887         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
14888         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
14889         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
14890         * tests/unictype/test-pr_other_math.c: Regenerated.
14891         * tests/unictype/test-pr_punctuation.c: Regenerated.
14892         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
14893         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
14894         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
14895         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
14896         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
14897         * tests/unictype/test-pr_uppercase.c: Regenerated.
14898         * tests/unictype/test-pr_xid_continue.c: Regenerated.
14899         * tests/unictype/test-pr_xid_start.c: Regenerated.
14900         * tests/unictype/test-pr_zero_width.c: Regenerated.
14901
14902         Update to Unicode 5.1.0.
14903         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
14904         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
14905         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
14906         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
14907         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
14908         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
14909         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
14910         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
14911         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
14912         (nonspacing_table_ind): Update.
14913         * tests/uniwidth/test-uc_width2.sh: Update expected result.
14914
14915         Update to Unicode 5.1.0.
14916         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
14917         code transform.
14918         * lib/uniname/uniname.c (unicode_character_name,
14919         unicode_name_character): Add the range 0x1Fxxx to the code transform.
14920         * lib/uniname/uninames.h: Regenerated.
14921         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
14922
14923 2009-02-07  Bruno Haible  <bruno@clisp.org>
14924
14925         Merge gen-ctype and gen-lbrk into a single program.
14926         * lib/gen-uni-tables.c: New file, incorporating
14927         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
14928         Add directory prefixes to the names of the generated files.
14929         * lib/unictype/gen-ctype.c: Remove file.
14930         * lib/unilbrk/gen-lbrk.c: Remove file.
14931         * modules/gen-uni-tables: New file.
14932         * modules/unictype/gen-ctype: Remove file.
14933         * modules/unilbrk/gen-lbrk: Remove file.
14934
14935 2009-02-07  Bruno Haible  <bruno@clisp.org>
14936
14937         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
14938
14939         New module 'unistr/u32-strcoll'.
14940         * modules/unistr/u32-strcoll: New file.
14941         * lib/unistr/u32-strcoll.c: New file.
14942
14943         New module 'unistr/u16-strcoll'.
14944         * modules/unistr/u16-strcoll: New file.
14945         * lib/unistr/u16-strcoll.c: New file.
14946
14947         New module 'unistr/u8-strcoll'.
14948         * modules/unistr/u8-strcoll: New file.
14949         * lib/unistr/u8-strcoll.c: New file.
14950         * lib/unistr/u-strcoll.h: New file.
14951
14952 2009-02-07  Bruno Haible  <bruno@clisp.org>
14953
14954         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
14955         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
14956         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
14957         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
14958         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
14959         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
14960
14961 2009-02-07  Bruno Haible  <bruno@clisp.org>
14962
14963         Make 64-bit clean.
14964         * lib/unictype/gen-ctype.c (output_predicate, output_category,
14965         output_combclass, output_bidi_category, output_decimal_digit,
14966         output_digit, output_numeric, output_mirror, output_scripts,
14967         output_ident_category): Use proper width specifier in format strings.
14968
14969 2009-02-07  Bruno Haible  <bruno@clisp.org>
14970
14971         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
14972         failure behaviour.
14973
14974 2009-02-07  Jim Meyering  <meyering@redhat.com>
14975
14976         regex: avoid compilation failure with upcoming gcc-4.4
14977         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
14978         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
14979         "... error: integer overflow in preprocessor expression".
14980
14981 2009-02-05  Ben Pfaff  <blp@gnu.org>
14982
14983         Fix link errors on Windows when close module is used.
14984         * modules/close: Add $(LIB_CLOSE) to Link section.
14985         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
14986         $(LIB_CLOSE) on Windows.
14987
14988 2009-02-05  Jim Meyering  <meyering@redhat.com>
14989
14990         still avoid unused-parameter warnings, but do it cleanly
14991         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
14992         (get_fs_usage): Cast to void instead.
14993         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
14994         (dev_from_mount_options, read_file_system_list): Cast to void.
14995         Prompted by Bruno Haible.
14996
14997 2009-02-04  Jim Meyering  <meyering@redhat.com>
14998
14999         fsusage.c: correct copyright year
15000         * lib/fsusage.c: Reflect year in which the change is pushed into
15001
15002         avoid misc. warnings
15003         * lib/fsusage.c (UNUSED_PARAM): Define.
15004         (get_fs_usage): Mark parameter "disk" as unused.
15005         * lib/getugroups.c (getgrent): Use "void" in prototype.
15006         * lib/mountlist.c: Mark unused parameters.
15007         (read_file_system_list): Declare a local with "const".
15008         * lib/nanosleep.c (getnow): Declare static.
15009         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
15010
15011         dirfd: set errno upon failure
15012         * lib/dirfd.c: Include <errno.h>.
15013         Set errno to ENOTSUP when returning -1.
15014         * modules/dirfd (Depends-on): Add errno.
15015         Suggested by John Kodis <kodis@comcast.net>.
15016
15017 2009-02-01  Bruno Haible  <bruno@clisp.org>
15018
15019         Don't assume sizeof (long) >= sizeof (void *).
15020         * lib/memcmp.c: Include stdint.h.
15021         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
15022         srcp2 to 'const byte *'.
15023         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
15024         types to uintptr_t.
15025         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
15026         * modules/memcmp (Depends-on): Add stdint.
15027         Reported by Ozkan Sezer <sezeroz@gmail.com>.
15028
15029 2009-01-30  Eric Blake  <ebb9@byu.net>
15030
15031         fix more require-before-expand issues
15032         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
15033         expand, AC_PROG_AWK.
15034         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
15035
15036 2009-01-28  Eric Blake  <ebb9@byu.net>
15037
15038         version-etc: use consistent URL formatting
15039         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
15040         Improve formatting.  Use fputs for string without %.
15041
15042 2009-01-28  Jim Meyering  <meyering@redhat.com>
15043
15044         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
15045         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
15046         "underquoted definition of NAME" from autoconf-2.59.
15047
15048 2009-01-28  Bruno Haible  <bruno@clisp.org>
15049
15050         * doc/gnulib.texi: Add "Obsolete modules" to index.
15051
15052 2009-01-28  Jim Meyering  <meyering@redhat.com>
15053
15054         useless-if-before-free: recognize more variants
15055         * build-aux/useless-if-before-free: Also recognize e.g.,
15056         if (NULL != p) free (p);
15057
15058 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
15059
15060         test-getaddrinfo: skip (don't fail) this test when there's no network
15061         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
15062         on the presumption that it means you lack network access.
15063
15064 2009-01-26  Jim Meyering  <meyering@redhat.com>
15065
15066         fflush: avoid warnings on modern systems
15067         * lib/fflush.c (rpl_fflush): Move declarations of locals,
15068         pos and result, into scopes where they're used.
15069
15070 2009-01-26  Eric Blake  <ebb9@byu.net>
15071
15072         Silence warning reintroduced by recent extensions patch.
15073         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
15074         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
15075         autoconf.
15076
15077         Backport improved autoconf semantics of AC_DEFUN_ONCE.
15078         * m4/00gnulib.m4: New file.
15079         * gnulib-tool (func_get_filelist): Always use it.
15080         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
15081         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
15082
15083 2009-01-25  Bruno Haible  <bruno@clisp.org>
15084
15085         Make test-quotearg work on MacOS X and AIX.
15086         * tests/test-quotearg.sh: New file.
15087         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
15088         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
15089         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
15090         include <libintl.h>.
15091         (fake_locale): Remove variable.
15092         (gettext, dgettext, dcgettext): Remove functions.
15093         (main): Instead of setting a fake locale, set a real locale. Call
15094         textdomain and bindtextdomain.
15095         * modules/quotearg-tests (Files): Add the new files.
15096         (Depends-on): Add gettext, setenv, unsetenv.
15097         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
15098         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
15099         Augment TESTS_ENVIRONMENT.
15100
15101 2009-01-25  Bruno Haible  <bruno@clisp.org>
15102
15103         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
15104         fr_FR.ISO8859-1 locale on MacOS X.
15105         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
15106         ja_JP.eucJP locale on MacOS X.
15107         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
15108         zh_CN.GB18030 locale on MacOS X.
15109
15110 2009-01-25  Bruno Haible  <bruno@clisp.org>
15111
15112         Avoid link errors on MacOS X 10.3.
15113         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
15114         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
15115
15116 2009-01-25  Bruno Haible  <bruno@clisp.org>
15117
15118         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
15119         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
15120         * modules/pipe (Files): Remove m4/posix_spawn.m4.
15121         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
15122         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
15123         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
15124         posix_spawnattr_init, posix_spawnattr_setsigmask,
15125         posix_spawnattr_setflags, posix_spawnattr_destroy.
15126
15127         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
15128         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
15129         * modules/execute (Files): Remove m4/posix_spawn.m4.
15130         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
15131         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
15132         posix_spawnattr_init, posix_spawnattr_setsigmask,
15133         posix_spawnattr_setflags, posix_spawnattr_destroy.
15134
15135 2009-01-25  Bruno Haible  <bruno@clisp.org>
15136
15137         * lib/glthread/threadlib.c: Include <stdlib.h>.
15138
15139 2009-01-25  Bruno Haible  <bruno@clisp.org>
15140
15141         * lib/glthread/threadlib.c (dummy): New declaration.
15142
15143 2009-01-25  Bruno Haible  <bruno@clisp.org>
15144
15145         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
15146         multibyte characters also for the GB18030 encoding. Don't crash when
15147         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
15148
15149 2009-01-25  Bruno Haible  <bruno@clisp.org>
15150
15151         Avoid redefining 'struct random_data' on OSF/1 5.1.
15152         * lib/stdlib.in.h: Include <random.h> if it exists.
15153         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
15154         HAVE_RANDOM_H. Include <random.h> when testing whether
15155         'struct random_data' exists.
15156         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
15157
15158 2009-01-25  Bruno Haible  <bruno@clisp.org>
15159
15160         Don't install charset.alias on MacOS X >= 10.3.
15161         * lib/localcharset.c (DARWIN7): New macro.
15162         (get_charset_aliases): Hardcode the result for Darwin7.
15163         * modules/localcharset (install-exec-local): Don't install
15164         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
15165
15166 2009-01-25  Bruno Haible  <bruno@clisp.org>
15167
15168         Don't install charset.alias on mingw and Cygwin.
15169         * modules/localcharset (install-exec-local): Don't install
15170         charset.alias on mingw and Cygwin, if the file does not yet exist.
15171         The result for these platforms is hardcoded in localcharset.c.
15172
15173 2009-01-25  Bruno Haible  <bruno@clisp.org>
15174
15175         Make it possible again to use AC_GNU_SOURCE together with gnulib.
15176         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
15177         before requiring AC_USE_SYSTEM_EXTENSIONS.
15178
15179 2009-01-25  Jim Meyering  <meyering@redhat.com>
15180
15181         c-strtod: avoid warnings
15182         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
15183         "assignment discards qualifiers from pointer target type" warnings.
15184
15185 2009-01-24  Bruno Haible  <bruno@clisp.org>
15186
15187         Add support for non-UTF-8 locales on MacOS X.
15188         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
15189         canonical encodings. For Darwin 7 and newer, don't map traditional
15190         encodings to UTF-8.
15191         Reported by Vincent Lefevre <vincent@vinc17.org>
15192         at <http://savannah.gnu.org/bugs/?25235>.
15193
15194 2009-01-24  Bruno Haible  <bruno@clisp.org>
15195
15196         * doc/gnulib.texi (Obsolete modules): New section.
15197         Reported by Mike Frysinger <vapier@gentoo.org>.
15198
15199 2009-01-24  Bruno Haible  <bruno@clisp.org>
15200
15201         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
15202         (%.dvi): New rule.
15203
15204 2009-01-24  Bruno Haible  <bruno@clisp.org>
15205
15206         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
15207         Reported by Eric Blake.
15208
15209 2009-01-24  Bruno Haible  <bruno@clisp.org>
15210
15211         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
15212         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
15213         Reported by Gary V. Vaughan <gary@gnu.org>.
15214
15215 2009-01-24  Bruno Haible  <bruno@clisp.org>
15216
15217         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
15218
15219 2009-01-23  Bruno Haible  <bruno@clisp.org>
15220
15221         Make c-strtod, c-strtold usable in libraries.
15222         * lib/c-strtod.c: Include string.h instead of xalloc.h.
15223         (C_STRTOD): Call strdup instead of xstrdup.
15224         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
15225         * modules/c-strtold (Depends-on): Likewise.
15226         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
15227         * NEWS: Mention the change.
15228         Reported by Michael Gold <mgold@ncf.ca>.
15229
15230 2009-01-23  Jim Meyering  <meyering@redhat.com>
15231
15232         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
15233         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
15234         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
15235
15236 2009-01-23  Simon Josefsson  <simon@josefsson.org>
15237
15238         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
15239         GNU CoreUtils.
15240         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
15241         * modules/version-etc (Description): Update.
15242
15243 2009-01-22  Bruno Haible  <bruno@clisp.org>
15244
15245         Cache the C locale object.
15246         * lib/c-strtod.c (c_locale_cache): New variable.
15247         (c_locale): New function.
15248         (C_STRTOD): Use it, and don't call freelocale.
15249         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
15250         Suggested by Paolo Bonzini.
15251
15252 2009-01-21  Bruno Haible  <bruno@clisp.org>
15253
15254         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
15255         conditions other than overflow.
15256
15257 2009-01-21  Bruno Haible  <bruno@clisp.org>
15258
15259         * lib/c-strtod.c: Include errno.h.
15260         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
15261         value from STRTOD_L and STRTOD.
15262
15263 2009-01-21  Bruno Haible  <bruno@clisp.org>
15264         and Jim Meyering  <meyering@redhat.com>
15265
15266         nanosleep: skip configure test (fail it) for apple universal builds
15267         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
15268         universal builds, assume that nanosleep does not work.
15269         * modules/nanosleep (Depends-on): Add multiarch.
15270
15271         mktime: skip configure test (fail it) for apple universal builds
15272         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
15273         universal builds, assume that mktime does not work.
15274         * modules/mktime (Depends-on): Add multiarch.
15275
15276 2009-01-21  Eric Blake  <ebb9@byu.net>
15277
15278         multiarch: avoid expand-before-require warning
15279         * modules/multiarch (configure.ac): Require, rather than expand,
15280         gl_MULTIARCH.
15281         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
15282         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
15283         enforce that all clients require it.  Partial reversion of
15284         2008-12-29 patch.
15285
15286         error: avoid expand-before-require warning
15287         * modules/errno (configure.ac): Require, rather than expand,
15288         gl_HEADER_ERRNO_H.
15289         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
15290         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
15291         enforce that all clients require it.
15292
15293         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
15294         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
15295         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
15296         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
15297
15298 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
15299
15300         Revert:
15301         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
15302
15303         regex: do not depend on obsolete modules.
15304         * modules/regex: Remove memcmp and memmove.
15305
15306 2009-01-20  Bruno Haible  <bruno@clisp.org>
15307
15308         Make the 'link' module link on Windows NT 4.
15309         * lib/link.c (_WIN32_WINNT): Don't define.
15310         (CreateHardLinkFuncType): New type.
15311         (CreateHardLinkFunc, initialized): New variables.
15312         (initialize): New function.
15313         (link): Invoke CreateHardLink indirectly through the function pointer.
15314
15315 2009-01-20  Bruno Haible  <bruno@clisp.org>
15316
15317         Fix compilation failure on mingw.
15318         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
15319
15320 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
15321
15322         * doc/c-strtod.texi: Mention a couple of restrictions.
15323
15324 2009-01-20  Jim Meyering  <meyering@redhat.com>
15325
15326         gettimeofday: move more declarations out of functions
15327         * lib/gettimeofday.c: Move extern declarations of tzset and
15328         gmtime out of containing functions.  Prompted by Bruno Haible.
15329
15330 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
15331
15332         regex: do not depend on obsolete modules.
15333         * modules/regex: Remove memcmp and memmove.
15334
15335 2009-01-19  Bruno Haible  <bruno@clisp.org>
15336
15337         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
15338         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
15339         gl_BIGENDIAN, not AC_C_BIGENDIAN.
15340         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
15341         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
15342
15343 2009-01-19  Bruno Haible  <bruno@clisp.org>
15344
15345         * tests/test-link.c: Include <errno.h>.
15346         (main): Exit with code 77 when a hard link cannot be created due to
15347         the file system.
15348         * tests/test-link.sh: Skip test when a hard link cannot be created due
15349         to the file system.
15350         Suggested by Eric Blake.
15351
15352 2009-01-19  Martin Lambers  <marlam@marlam.de>
15353
15354         * modules/link-tests: New file.
15355         * tests/test-link.sh: New file.
15356         * tests/test-link.c: New file.
15357
15358 2009-01-19  Eric Blake  <ebb9@byu.net>
15359
15360         doc: mention another function added in cygwin 1.7.0
15361         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
15362         Another new function in cygwin 1.7.
15363
15364 2009-01-19  Bruno Haible  <bruno@clisp.org>
15365
15366         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
15367         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
15368         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
15369         gl_BIGENDIAN, not AC_C_BIGENDIAN.
15370         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
15371         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
15372         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
15373         * m4/md4.m4 (gl_MD4): Likewise.
15374         * m4/md5.m4 (gl_MD5): Likewise.
15375         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
15376         * m4/sha1.m4 (gl_SHA1): Likewise.
15377         * m4/sha256.m4 (gl_SHA256): Likewise.
15378         * m4/sha512.m4 (gl_SHA512): Likewise.
15379
15380 2009-01-19  Bruno Haible  <bruno@clisp.org>
15381
15382         * modules/uniname/uniname-tests (Depends-on): Add progname.
15383         * tests/uniname/test-uninames.c: Include progname.h.
15384         (main): Call set_program_name.
15385
15386         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
15387         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
15388         (main): Call set_program_name.
15389
15390         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
15391         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
15392         (main): Call set_program_name.
15393
15394         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
15395         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
15396         (main): Call set_program_name.
15397
15398         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
15399         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
15400         (main): Call set_program_name.
15401
15402         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
15403         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
15404         (main): Call set_program_name.
15405
15406         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
15407         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
15408         (main): Call set_program_name.
15409
15410         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
15411         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
15412         (main): Call set_program_name.
15413
15414         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
15415         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
15416         (main): Call set_program_name.
15417
15418 2009-01-19  Eric Blake  <ebb9@byu.net>
15419
15420         test-unistd: test previous patch
15421         * tests/test-unistd.c: Test *_FILENO macros.
15422
15423         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
15424         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
15425         Guarantee a definition.
15426         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
15427         * modules/unistd-safer (Depends-on): Add dependency on unistd.
15428         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
15429         * lib/dup-safer.c (STDERR_FILENO): Likewise.
15430         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
15431         Likewise.
15432         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
15433         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
15434         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
15435         Likewise.
15436         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
15437         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
15438         (STDERR_FILENO): Likewise.
15439         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
15440         (STDERR_FILENO): Likewise.
15441         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
15442         (STDERR_FILENO): Likewise.
15443         Reported by Elbert Pol.
15444
15445 2009-01-19  Eric Blake  <ebb9@byu.net>
15446
15447         doc: mention more functions added in cygwin 1.7.0
15448         * doc/posix-functions/abort.texi (abort): Update wording related
15449         to cygwin.
15450         * doc/posix-functions/daylight.texi (daylight): Likewise.
15451         * doc/posix-functions/optarg.texi (optarg): Likewise.
15452         * doc/posix-functions/optarg.texi (opterr): Likewise.
15453         * doc/posix-functions/optarg.texi (optind): Likewise.
15454         * doc/posix-functions/optarg.texi (optopt): Likewise.
15455         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
15456         worked in 1.5.x, and was withdrawn in 1.7.
15457         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
15458         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
15459         cygwin versions.
15460         * doc/posix-functions/perror.texi (perror): Likewise.
15461         * doc/posix-functions/printf.texi (printf): Likewise.
15462         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
15463         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
15464         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15465         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15466         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
15467         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
15468         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
15469         Likewise.
15470         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
15471         Likewise.
15472         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
15473         this function.
15474         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
15475         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
15476         Likewise.
15477         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
15478         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
15479         * doc/posix-functions/confstr.texi (confstr): Likewise.
15480         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
15481         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
15482         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
15483         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
15484         * doc/posix-functions/fputws.texi (fputws): Likewise.
15485         * doc/posix-functions/fwide.texi (fwide): Likewise.
15486         * doc/posix-functions/getwc.texi (getwc): Likewise.
15487         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
15488         * doc/posix-functions/putwc.texi (putwc): Likewise.
15489         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
15490         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
15491         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
15492         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
15493         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
15494         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
15495         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
15496         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
15497         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
15498         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
15499         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
15500
15501 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
15502
15503         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
15504         * lib/ioctl.c: Include <sys/ioctl.h>.
15505
15506 2009-01-19  Simon Josefsson  <simon@josefsson.org>
15507
15508         * modules/getdate-tests (Depends-on): Add progname.
15509         * tests/test-getdate.c: Use progname module, to avoid link errors
15510         on non-glibc systems.
15511
15512 2009-01-18  Simon Josefsson  <simon@josefsson.org>
15513
15514         * modules/filenamecat-tests (Depends-on): Add progname.
15515         * modules/fstrcmp-tests (Depends-on): Likewise.
15516
15517         * tests/test-filenamecat.c: Use progname module, to avoid link
15518         errors on non-glibc systems.
15519         * tests/test-fstrcmp.c: Likewise.
15520
15521 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
15522
15523         gettimeofday: avoid warning: nested extern declaration of 'localtime'
15524         * lib/gettimeofday.c: Move extern declaration out of function.
15525
15526 2009-01-18  Bruno Haible  <bruno@clisp.org>
15527
15528         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
15529         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
15530         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
15531
15532 2009-01-18  Bruno Haible  <bruno@clisp.org>
15533
15534         * lib/strftime.c (MEMPCPY): Remove unused macro.
15535         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
15536
15537 2009-01-18  Martin Lambers  <marlam@marlam.de>
15538
15539         New module 'link'.
15540         * lib/unistd.in.h (link): New declaration.
15541         * lib/link.c: New file.
15542         * m4/link.m4: New file.
15543         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
15544         HAVE_LINK.
15545         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
15546         * modules/link: New file.
15547         * doc/posix-functions/link.texi: Mention the new module.
15548
15549 2009-01-18  Bruno Haible  <bruno@clisp.org>
15550
15551         * tests/test-avltree_list.c (main): Call set_program_name.
15552         * tests/test-avltree_oset.c (main): Likewise.
15553         * tests/test-obstack-printf.c: Include progname.h.
15554         (main): Call set_program_name.
15555         * tests/test-quotearg.c: Include progname.h.
15556         (main): Call set_program_name.
15557         * tests/test-xmemdup0.c: Include progname.h.
15558         (main): Call set_program_name.
15559
15560 2009-01-18  Bruno Haible  <bruno@clisp.org>
15561
15562         New module 'alphasort'.
15563         * lib/dirent.in.h (alphasort): New declaration.
15564         * lib/alphasort.c: New file, from glibc with modifications.
15565         * m4/alphasort.m4: New file.
15566         * modules/alphasort: New file.
15567         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
15568         HAVE_ALPHASORT.
15569         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
15570         HAVE_ALPHASORT.
15571         * doc/posix-functions/alphasort.texi: Mention the new module and the
15572         portability problems.
15573
15574 2009-01-18  Bruno Haible  <bruno@clisp.org>
15575
15576         New module 'scandir'.
15577         * lib/dirent.in.h (scandir): New declaration.
15578         * lib/scandir.c: New file, from glibc with modifications.
15579         * m4/scandir.m4: New file.
15580         * modules/scandir: New file.
15581         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
15582         HAVE_SCANDIR.
15583         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
15584         HAVE_SCANDIR.
15585         * doc/posix-functions/scandir.texi: Mention the new module and the
15586         portability problems.
15587
15588 2009-01-17  Bruno Haible  <bruno@clisp.org>
15589
15590         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
15591         Update documentation.
15592         (func_remove_suffix): Escape all dots in the suffix. Update
15593         documentation.
15594         (func_filter_filelist): Update documentation.
15595         Reported by Ralf Wildenhues.
15596
15597 2009-01-17  Bruno Haible  <bruno@clisp.org>
15598
15599         * modules/dprintf-posix-tests: New file.
15600         * tests/test-dprintf-posix.sh: New file.
15601         * tests/test-dprintf-posix.c: New file.
15602
15603         New modules 'dprintf', 'dprintf-posix'.
15604         * lib/stdio.in.h (dprintf): New declaration.
15605         * lib/dprintf.c: New file.
15606         * m4/dprintf.m4: New file.
15607         * m4/dprintf-posix.m4: New file.
15608         * modules/dprintf: New file.
15609         * modules/dprintf-posix: New file.
15610         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
15611         HAVE_DPRINTF, REPLACE_DPRINTF.
15612         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
15613         HAVE_DPRINTF, REPLACE_DPRINTF.
15614         * doc/posix-functions/dprintf.texi: Mention the new modules.
15615
15616 2009-01-17  Bruno Haible  <bruno@clisp.org>
15617
15618         * modules/vdprintf-posix-tests: New file.
15619         * tests/test-vdprintf-posix.sh: New file.
15620         * tests/test-vdprintf-posix.c: New file.
15621
15622         New modules 'vdprintf', 'vdprintf-posix'.
15623         * lib/stdio.in.h (vdprintf): New declaration.
15624         * lib/vdprintf.c: New file.
15625         * m4/vdprintf.m4: New file.
15626         * m4/vdprintf-posix.m4: New file.
15627         * modules/vdprintf: New file.
15628         * modules/vdprintf-posix: New file.
15629         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
15630         HAVE_VDPRINTF, REPLACE_VDPRINTF.
15631         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
15632         HAVE_VDPRINTF, REPLACE_VDPRINTF.
15633         * doc/posix-functions/vdprintf.texi: Mention the new modules.
15634
15635 2009-01-17  Bruno Haible  <bruno@clisp.org>
15636
15637         Fix replacement of fopen on mingw.
15638         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
15639         mingw.
15640
15641 2009-01-17  Bruno Haible  <bruno@clisp.org>
15642
15643         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
15644         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
15645
15646 2009-01-17  Bruno Haible  <bruno@clisp.org>
15647
15648         Avoid test-fflush2.sh failure on mingw.
15649         * tests/test-fflush2.c: Include binary-io.h.
15650         (main): Put standard input into binary mode.
15651         * modules/fflush-tests (Depends-on): Add binary-io.
15652
15653 2009-01-17  Bruno Haible  <bruno@clisp.org>
15654
15655         * lib/wchar.in.h: In another particular situation, include only the
15656         system's <wchar.h> file.
15657         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
15658         Reported by Albert Chin-A-Young <china@thewrittenword.com>
15659         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
15660
15661 2009-01-17  Bruno Haible  <bruno@clisp.org>
15662
15663         Support for stripping executables in --enable-relocatable.
15664         * build-aux/install-reloc: Expect one more argument, or an environment
15665         variable RELOC_STRIP_PROG. If set, strip the destination program and
15666         its wrapper.
15667         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
15668         RELOC_STRIP_PROG.
15669         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
15670         to set RELOCATABLE_STRIP.
15671         * NEWS: Mention the new Makefile requirement.
15672
15673 2009-01-17  Bruno Haible  <bruno@clisp.org>
15674
15675         * build-aux/install-reloc: Remove debugging information left over by
15676         C compiler on MacOS X.
15677
15678 2009-01-17  Bruno Haible  <bruno@clisp.org>
15679
15680         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
15681         * lib/progreloc.c (find_executable): Fix type of pointer passed to
15682         _NSGetExecutablePath.
15683
15684 2009-01-16  Jim Meyering  <meyering@redhat.com>
15685
15686         strerror: avoid warnings about discarding "const"
15687         * lib/strerror.c (rpl_strerror): Instead of returning a const
15688         string from each and every "case", use a variable, and add a single
15689         cast after the switch.
15690
15691 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
15692
15693         * lib/arpa_inet.in.h: Add extern "C" block for C++.
15694
15695 2009-01-16  Bruno Haible  <bruno@clisp.org>
15696
15697         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
15698         array initializer syntax that also works in C++ mode.
15699         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15700
15701 2009-01-16  Jim Meyering  <meyering@redhat.com>
15702
15703         poll: suppress a warning
15704         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
15705         to ignore "...unsigned expression < 0 is always false" warnings.
15706
15707 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
15708
15709         poll: remove declarations of unused variables
15710         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
15711         sockbuf and optlen.
15712
15713 2009-01-15  Bruno Haible  <bruno@clisp.org>
15714
15715         Make fflush-after-ungetc POSIX compliant on BSD systems.
15716         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
15717         (clear_ungetc_buffer): Implement also for other systems.
15718         (rpl_fflush): On glibc systems, invoke
15719         clear_ungetc_buffer_preserving_position. Otherwise, invoke
15720         clear_ungetc_buffer after fetching the stream's position, not before.
15721
15722 2009-01-15  Bruno Haible  <bruno@clisp.org>
15723
15724         Make fflush-after-ungetc POSIX compliant on glibc systems.
15725         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
15726         after ungetc.
15727         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
15728         (rpl_fflush): On glibc systems, simply call the system's fflush
15729         function after clearing the ungetc buffer.
15730         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
15731         Instead, lseek only to the end of file, then use the system's fseeko
15732         for the rest. On glibc systems, reset the EOF indicator bit.
15733
15734 2009-01-15  Jim Meyering  <meyering@redhat.com>
15735
15736         openmp.m4: revert quote-adding change, for portability to older autoconf
15737         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
15738         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
15739         Simon Josefsson noticed the problem when using autoconf-2.61.
15740
15741 2009-01-15  Bruno Haible  <bruno@clisp.org>
15742
15743         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
15744         * tests/test-fflush2.c (ASSERT): Always fail.
15745         (main): Add two tests for fflush() after ungetc(), taking into account
15746         the Austin Group's clarification.
15747         Suggested by Eric Blake.
15748
15749 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
15750
15751         mktime.m4: remove K&R-style function prototypes
15752         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
15753         for the Sun C++ compiler.
15754
15755 2009-01-14  Bruno Haible  <bruno@clisp.org>
15756
15757         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
15758         while including <wchar.h>.
15759         * lib/wchar.in.h: In two particular situations on HP-UX, include only
15760         the system's <wchar.h> file.
15761         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15762
15763 2009-01-14  Bruno Haible  <bruno@clisp.org>
15764
15765         * m4/csharp.m4: Don't mention gettext on the serial number line.
15766         * m4/csharpexec.m4: Likewise.
15767         * m4/eaccess.m4: Likewise.
15768         * m4/javaexec.m4: Likewise.
15769         * m4/sig_atomic_t.m4: Likewise.
15770         * m4/tmpdir.m4: Likewise.
15771         * m4/intldir.m4: Bump gettext version.
15772         * m4/lib-ld.m4: Likewise.
15773
15774 2009-01-14  Bruno Haible  <bruno@clisp.org>
15775
15776         * lib/progname.c (set_program_name): Add more comments.
15777         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
15778
15779 2009-01-14  Simon Josefsson  <simon@josefsson.org>
15780
15781         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
15782         were sys/stat.h does not define it.
15783
15784 2009-01-14  Jim Meyering  <meyering@redhat.com>
15785
15786         many *.m4 files: improve m4 quoting
15787         99% of this change was performed by running the following commands:
15788         git ls-files | grep '\.m4$' | xargs perl -pi \
15789           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
15790           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
15791           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
15792           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
15793         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
15794         The remainder were to add Copyright dates, increment serial numbers,
15795         undo some changes in comments, exclude m4/intl.m4, and add quotes
15796         around the "1" in ",1" where the unusual spacing prohibited the
15797         above regexps from doing the job.  For more details, see
15798         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
15799         * m4/acl.m4: Modified.
15800         * m4/afs.m4: Likewise.
15801         * m4/alloca.m4: Likewise.
15802         * m4/argp.m4: Likewise.
15803         * m4/argz.m4: Likewise.
15804         * m4/atexit.m4: Likewise.
15805         * m4/bison-i18n.m4: Likewise.
15806         * m4/bison.m4: Likewise.
15807         * m4/byteswap.m4: Likewise.
15808         * m4/c-stack.m4: Likewise.
15809         * m4/c-strtod.m4: Likewise.
15810         * m4/calloc.m4: Likewise.
15811         * m4/canonicalize-lgpl.m4: Likewise.
15812         * m4/chown.m4: Likewise.
15813         * m4/clock_time.m4: Likewise.
15814         * m4/codeset.m4: Likewise.
15815         * m4/copy-file.m4: Likewise.
15816         * m4/csharp.m4: Likewise.
15817         * m4/csharpcomp.m4: Likewise.
15818         * m4/csharpexec.m4: Likewise.
15819         * m4/d-ino.m4: Likewise.
15820         * m4/d-type.m4: Likewise.
15821         * m4/dirfd.m4: Likewise.
15822         * m4/double-slash-root.m4: Likewise.
15823         * m4/eaccess.m4: Likewise.
15824         * m4/eealloc.m4: Likewise.
15825         * m4/environ.m4: Likewise.
15826         * m4/errno_h.m4: Likewise.
15827         * m4/euidaccess.m4: Likewise.
15828         * m4/execute.m4: Likewise.
15829         * m4/fatal-signal.m4: Likewise.
15830         * m4/fchdir.m4: Likewise.
15831         * m4/fcntl_h.m4: Likewise.
15832         * m4/fileblocks.m4: Likewise.
15833         * m4/filenamecat.m4: Likewise.
15834         * m4/findprog.m4: Likewise.
15835         * m4/flexmember.m4: Likewise.
15836         * m4/fnmatch.m4: Likewise.
15837         * m4/fopen.m4: Likewise.
15838         * m4/fpending.m4: Likewise.
15839         * m4/fprintf-posix.m4: Likewise.
15840         * m4/free.m4: Likewise.
15841         * m4/frexp.m4: Likewise.
15842         * m4/frexpl.m4: Likewise.
15843         * m4/fsusage.m4: Likewise.
15844         * m4/ftruncate.m4: Likewise.
15845         * m4/gc-camellia.m4: Likewise.
15846         * m4/gc-random.m4: Likewise.
15847         * m4/gc.m4: Likewise.
15848         * m4/getaddrinfo.m4: Likewise.
15849         * m4/getcwd-abort-bug.m4: Likewise.
15850         * m4/getcwd-path-max.m4: Likewise.
15851         * m4/getdate.m4: Likewise.
15852         * m4/getdomainname.m4: Likewise.
15853         * m4/getgroups.m4: Likewise.
15854         * m4/gethostname.m4: Likewise.
15855         * m4/gethrxtime.m4: Likewise.
15856         * m4/getline.m4: Likewise.
15857         * m4/getloadavg.m4: Likewise.
15858         * m4/getndelim2.m4: Likewise.
15859         * m4/getpass.m4: Likewise.
15860         * m4/gettext.m4: Likewise.
15861         * m4/gettime.m4: Likewise.
15862         * m4/gettimeofday.m4: Likewise.
15863         * m4/gnulib-common.m4: Likewise.
15864         * m4/group-member.m4: Likewise.
15865         * m4/host-os.m4: Likewise.
15866         * m4/iconv.m4: Likewise.
15867         * m4/iconv_open.m4: Likewise.
15868         * m4/inet_ntop.m4: Likewise.
15869         * m4/inet_pton.m4: Likewise.
15870         * m4/inline.m4: Likewise.
15871         * m4/intldir.m4: Likewise.
15872         * m4/intlmacosx.m4: Likewise.
15873         * m4/intmax.m4: Likewise.
15874         * m4/intmax_t.m4: Likewise.
15875         * m4/inttypes.m4: Likewise.
15876         * m4/inttypes_h.m4: Likewise.
15877         * m4/inttypes-pri.m4: Likewise.
15878         * m4/isapipe.m4: Likewise.
15879         * m4/isnand.m4: Likewise.
15880         * m4/isnanf.m4: Likewise.
15881         * m4/isnanl.m4: Likewise.
15882         * m4/javacomp.m4: Likewise.
15883         * m4/javaexec.m4: Likewise.
15884         * m4/jm-winsz1.m4: Likewise.
15885         * m4/jm-winsz2.m4: Likewise.
15886         * m4/lchown.m4: Likewise.
15887         * m4/lcmessage.m4: Likewise.
15888         * m4/ldexpl.m4: Likewise.
15889         * m4/lib-ld.m4: Likewise.
15890         * m4/lib-link.m4: Likewise.
15891         * m4/libsigsegv.m4: Likewise.
15892         * m4/link-follow.m4: Likewise.
15893         * m4/localcharset.m4: Likewise.
15894         * m4/locale-fr.m4: Likewise.
15895         * m4/locale-ja.m4: Likewise.
15896         * m4/locale-tr.m4: Likewise.
15897         * m4/locale-zh.m4: Likewise.
15898         * m4/lock.m4: Likewise.
15899         * m4/longlong.m4: Likewise.
15900         * m4/ls-mntd-fs.m4: Likewise.
15901         * m4/lstat.m4: Likewise.
15902         * m4/malloc.m4: Likewise.
15903         * m4/mathl.m4: Likewise.
15904         * m4/mbrtowc.m4: Likewise.
15905         * m4/mbstate_t.m4: Likewise.
15906         * m4/mbswidth.m4: Likewise.
15907         * m4/memchr.m4: Likewise.
15908         * m4/memcmp.m4: Likewise.
15909         * m4/memcpy.m4: Likewise.
15910         * m4/memmem.m4: Likewise.
15911         * m4/memmove.m4: Likewise.
15912         * m4/mempcpy.m4: Likewise.
15913         * m4/memrchr.m4: Likewise.
15914         * m4/memset.m4: Likewise.
15915         * m4/minmax.m4: Likewise.
15916         * m4/mkdir-slash.m4: Likewise.
15917         * m4/mkdtemp.m4: Likewise.
15918         * m4/mktime.m4: Likewise.
15919         * m4/mmap-anon.m4: Likewise.
15920         * m4/mountlist.m4: Likewise.
15921         * m4/nanosleep.m4: Likewise.
15922         * m4/nls.m4: Likewise.
15923         * m4/nocrash.m4: Likewise.
15924         * m4/open.m4: Likewise.
15925         * m4/openat.m4: Likewise.
15926         * m4/openmp.m4: Likewise.
15927         * m4/pathmax.m4: Likewise.
15928         * m4/perl.m4: Likewise.
15929         * m4/physmem.m4: Likewise.
15930         * m4/pipe.m4: Likewise.
15931         * m4/po.m4: Likewise.
15932         * m4/poll.m4: Likewise.
15933         * m4/posixtm.m4: Likewise.
15934         * m4/posixver.m4: Likewise.
15935         * m4/printf-frexp.m4: Likewise.
15936         * m4/printf-frexpl.m4: Likewise.
15937         * m4/printf-posix.m4: Likewise.
15938         * m4/printf-posix-rpl.m4: Likewise.
15939         * m4/printf.m4: Likewise.
15940         * m4/progtest.m4: Likewise.
15941         * m4/putenv.m4: Likewise.
15942         * m4/readline.m4: Likewise.
15943         * m4/readlink.m4: Likewise.
15944         * m4/readutmp.m4: Likewise.
15945         * m4/realloc.m4: Likewise.
15946         * m4/regex.m4: Likewise.
15947         * m4/relocatable.m4: Likewise.
15948         * m4/relocatable-lib.m4: Likewise.
15949         * m4/rename-dest-slash.m4: Likewise.
15950         * m4/rename.m4: Likewise.
15951         * m4/rmdir-errno.m4: Likewise.
15952         * m4/rmdir.m4: Likewise.
15953         * m4/roundf.m4: Likewise.
15954         * m4/roundl.m4: Likewise.
15955         * m4/rpmatch.m4: Likewise.
15956         * m4/save-cwd.m4: Likewise.
15957         * m4/selinux-selinux-h.m4: Likewise.
15958         * m4/setenv.m4: Likewise.
15959         * m4/settime.m4: Likewise.
15960         * m4/sig2str.m4: Likewise.
15961         * m4/sig_atomic_t.m4: Likewise.
15962         * m4/signalblocking.m4: Likewise.
15963         * m4/signbit.m4: Likewise.
15964         * m4/sigpipe.m4: Likewise.
15965         * m4/sockets.m4: Likewise.
15966         * m4/sockpfaf.m4: Likewise.
15967         * m4/st_dm_mode.m4: Likewise.
15968         * m4/stat-time.m4: Likewise.
15969         * m4/stdbool.m4: Likewise.
15970         * m4/stdint.m4: Likewise.
15971         * m4/stdint_h.m4: Likewise.
15972         * m4/stpcpy.m4: Likewise.
15973         * m4/stpncpy.m4: Likewise.
15974         * m4/strcase.m4: Likewise.
15975         * m4/strchrnul.m4: Likewise.
15976         * m4/strcspn.m4: Likewise.
15977         * m4/strdup.m4: Likewise.
15978         * m4/strftime.m4: Likewise.
15979         * m4/strndup.m4: Likewise.
15980         * m4/strnlen.m4: Likewise.
15981         * m4/strpbrk.m4: Likewise.
15982         * m4/strptime.m4: Likewise.
15983         * m4/strsep.m4: Likewise.
15984         * m4/strtod.m4: Likewise.
15985         * m4/strtoimax.m4: Likewise.
15986         * m4/strtok_r.m4: Likewise.
15987         * m4/strtol.m4: Likewise.
15988         * m4/strtoll.m4: Likewise.
15989         * m4/strtoul.m4: Likewise.
15990         * m4/strtoull.m4: Likewise.
15991         * m4/strtoumax.m4: Likewise.
15992         * m4/strverscmp.m4: Likewise.
15993         * m4/threadlib.m4: Likewise.
15994         * m4/timegm.m4: Likewise.
15995         * m4/tm_gmtoff.m4: Likewise.
15996         * m4/tmpdir.m4: Likewise.
15997         * m4/tmpfile.m4: Likewise.
15998         * m4/tzset.m4: Likewise.
15999         * m4/uintmax_t.m4: Likewise.
16000         * m4/unlinkdir.m4: Likewise.
16001         * m4/unlocked-io.m4: Likewise.
16002         * m4/uptime.m4: Likewise.
16003         * m4/userspec.m4: Likewise.
16004         * m4/utimbuf.m4: Likewise.
16005         * m4/utime.m4: Likewise.
16006         * m4/utimes-null.m4: Likewise.
16007         * m4/utimes.m4: Likewise.
16008         * m4/vararrays.m4: Likewise.
16009         * m4/vasnprintf.m4: Likewise.
16010         * m4/vfprintf-posix.m4: Likewise.
16011         * m4/vprintf-posix.m4: Likewise.
16012         * m4/wait-process.m4: Likewise.
16013         * m4/wchar_t.m4: Likewise.
16014         * m4/wint_t.m4: Likewise.
16015         * m4/write-any-file.m4: Likewise.
16016         * m4/yield.m4: Likewise.
16017
16018 2009-01-13  Bruno Haible  <bruno@clisp.org>
16019
16020         Avoid test-copy-file.sh failures when ACL support insufficient.
16021         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
16022         TESTS_ENVIRONMENT.
16023         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
16024         Reported by Jim Meyering.
16025
16026 2009-01-13  Bruno Haible  <bruno@clisp.org>
16027
16028         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
16029         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
16030         * modules/unistdio/u8-printf-parse (Files): Likewise.
16031         * modules/unistdio/u32-printf-parse (Files): Likewise.
16032         * modules/unistdio/ulc-printf-parse (Files): Likewise.
16033
16034 2009-01-13  Simon Josefsson  <simon@josefsson.org>
16035
16036         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
16037         and m4/inttypes_h.m4 too.
16038
16039 2009-01-12  Eric Blake  <ebb9@byu.net>
16040
16041         tests: IRIX 6.2 cc can't compile -0.0 into .data
16042         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
16043         rather than at compile-time.
16044         * tests/test-floorl.c (minus_zero): Likewise.
16045         * tests/test-frexpl.c (minus_zero): Likewise.
16046         * tests/test-isnan.c (minus_zerol): Likewise.
16047         * tests/test-isnanl.h (minus_zero): Likewise.
16048         * tests/test-ldexpl.c (minus_zero): Likewise.
16049         * tests/test-roundl.c (minus_zero): Likewise.
16050         * tests/test-signbit.c (minus_zerol): Likewise.
16051         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
16052         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
16053         * tests/test-truncl.c (minus_zero): Likewise.
16054         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
16055         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
16056         Reported by Tom G. Christensen and Nelson H. F. Beebe.
16057
16058 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
16059
16060         regex: fix glibc bug 9697
16061         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
16062         handling.
16063
16064 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
16065
16066         regex: fix glibc bug 697
16067         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
16068         being NULL also if there are no backreferences.
16069
16070 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
16071
16072         regex: merge glibc changes
16073         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
16074         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
16075         re_string_skip_chars, re_string_reconstruct): Likewise.
16076         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
16077
16078 2009-01-07  Jim Meyering  <meyering@redhat.com>
16079
16080         poll: filter through cppi
16081         * lib/poll.c: Indent cpp directives to reflect nesting.
16082
16083 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
16084
16085         poll: don't return uninitialized
16086         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
16087
16088 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
16089
16090         avoid compile failure on AIX 6.1
16091         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
16092         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
16093
16094 2009-01-04  Jim Meyering  <meyering@redhat.com>
16095
16096         remove duplicate inclusion of <stdio.h>
16097         * tests/test-fprintf-posix.c: Likewise.
16098         * tests/test-printf-posix.c: Likewise.
16099         * tests/test-snprintf-posix.c: Likewise.
16100         * tests/test-sprintf-posix.c: Likewise.
16101         * tests/test-vasprintf-posix.c: Likewise.
16102         * tests/test-vfprintf-posix.c: Likewise.
16103         * tests/test-vprintf-posix.c: Likewise.
16104         * tests/test-vsnprintf-posix.c: Likewise.
16105         * tests/test-vsprintf-posix.c: Likewise.
16106
16107 2009-01-03  Jim Meyering  <meyering@redhat.com>
16108
16109         gnulib-tool: fix sed-based filtering
16110         * gnulib-tool (func_filter_filelist): Remove extra backslash
16111         in sed_fff_filter definition.
16112
16113 2009-01-02  Jim Meyering  <meyering@redhat.com>
16114
16115         strftime: avoid compilation failure on Solaris 2.6
16116         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
16117         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
16118         Don't #define mbrlen or mbsinit, since now they're guaranteed to
16119         be available.  Reported by Tom G. Christensen.  Details in
16120         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
16121
16122 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16123             Bruno Haible  <bruno@clisp.org>
16124
16125         Speed up gnulib-tool by doing more string processing through shell
16126         built-ins.
16127         * gnulib-tool (fast_func_append): New variable.
16128         (func_remove_prefix, func_remove_suffix): New functions.
16129         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
16130         (func_filter_filelist): New function.
16131         (func_get_dependencies): Use func_remove_suffix instead of sed.
16132         (func_get_automake_snippet): Use func_filter_filelist instead of a
16133         subshell and sed invocation.
16134
16135 2009-01-01  Bruno Haible  <bruno@clisp.org>
16136
16137         Fix a security bug.
16138         * gnulib-tool (func_import, import, update): Don't allow the characters
16139         '"', '$', '`', '\' in macro arguments that become part of commands that
16140         are evaluated.
16141
16142 2009-01-01  Bruno Haible  <bruno@clisp.org>
16143
16144         * gnulib-tool (func_reset_sigpipe): Add more comments.
16145
16146 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16147
16148         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
16149         func_emit_tests_Makefile_am, func_import): Abort loops early if we
16150         already know the answer.
16151
16152 2009-01-01  Jim Meyering  <meyering@redhat.com>
16153
16154         * lib/version-etc.c (version_etc_va): Update copyright year.
16155
16156 2008-12-30  Bruno Haible  <bruno@clisp.org>
16157
16158         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
16159         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
16160         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
16161
16162 2008-12-29  Eric Blake  <ebb9@byu.net>
16163
16164         multiarch: avoid autoconf AC_REQUIRE bug
16165         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
16166         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
16167         2.63 and older.
16168         Reported by Bruno Haible, and analyzed in
16169         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
16170
16171 2008-12-29  Bruno Haible  <bruno@clisp.org>
16172
16173         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
16174         files in subdirectories correctly.
16175         Reported by Ralf Wildenhues.
16176
16177 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16178
16179         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
16180         rather than 'join FILE -', for Solaris join.
16181
16182 2008-12-29  Bruno Haible  <bruno@clisp.org>
16183
16184         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
16185         quoting.
16186         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
16187         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
16188         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
16189         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
16190         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
16191         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
16192         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
16193         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
16194         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
16195         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
16196         * m4/nls.m4 (AM_NLS): Likewise.
16197         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
16198         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
16199         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
16200         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
16201         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
16202         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
16203         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
16204         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
16205         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
16206         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
16207         * m4/xsize.m4 (gl_XSIZE): Likewise.
16208         Suggested by Jim Meyering.
16209
16210 2008-11-17  Bruce Korb  <bkorb@gnu.org>
16211
16212         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
16213         * lib/parse-duration.c: use a switch instead of cascading if's.
16214
16215 2008-12-29  Eric Blake  <ebb9@byu.net>
16216
16217         wchar.h: supply WEOF on Irix 5.3
16218         * lib/wchar.in.h (wint_t): Also supply WEOF.
16219         * lib/wctype.in.h (wint_t): Likewise.
16220         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
16221         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
16222         Reported by Tom G. Christensen.
16223
16224 2008-12-26  Bruno Haible  <bruno@clisp.org>
16225
16226         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
16227         i486, i586, i686.
16228
16229 2008-12-26  Bruno Haible  <bruno@clisp.org>
16230
16231         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
16232
16233 2008-12-26  Bruno Haible  <bruno@clisp.org>
16234
16235         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
16236         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
16237         not __STDC_CONSTANT_MACROS.
16238         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
16239
16240 2008-12-25  Bruno Haible  <bruno@clisp.org>
16241
16242         Add support for universal builds to vasnprintf.
16243         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
16244         universal builds, guess no.
16245         * modules/vasnprintf-posix (Depends-on): Add multiarch.
16246         * modules/vasprintf-posix (Depends-on): Likewise.
16247         * modules/fprintf-posix (Depends-on): Likewise.
16248         * modules/vfprintf-posix (Depends-on): Likewise.
16249         * modules/snprintf-posix (Depends-on): Likewise.
16250         * modules/vsnprintf-posix (Depends-on): Likewise.
16251         * modules/sprintf-posix (Depends-on): Likewise.
16252         * modules/vsprintf-posix (Depends-on): Likewise.
16253         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
16254         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
16255         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
16256         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
16257         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
16258         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
16259         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
16260
16261         Add support for universal builds to <inttypes.h>.
16262         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
16263         _SCNu64_PREFIX): In Apple
16264         universal builds, define directly, using _LP64.
16265         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
16266         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
16267         * modules/inttypes (Depends-on): Add multiarch.
16268         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
16269
16270         Add support for universal builds to <stdint.h>.
16271         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
16272         universal builds, define directly, using _LP64.
16273         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
16274         Apple universal builds, don't test for the size and suffix of ptrdiff_t
16275         and size_t.
16276         * modules/stdint (Depends-on): Add multiarch.
16277         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
16278
16279         New module 'multiarch'.
16280         * modules/multiarch: New file.
16281         * m4/multiarch.m4: New file.
16282
16283 2008-12-25  Bruno Haible  <bruno@clisp.org>
16284
16285         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
16286
16287 2008-12-25  Bruno Haible  <bruno@clisp.org>
16288
16289         * modules/btowc (License): Relicense under LGPLv2+.
16290         * modules/mbsinit (License): Likewise.
16291         * modules/mbrtowc (License): Likewise.
16292         * modules/wcrtomb (License): Likewise.
16293         * modules/streq (License): Likewise.
16294         Reported by David Lutterkort <lutter@redhat.com>.
16295
16296 2008-12-23  Bruno Haible  <bruno@clisp.org>
16297
16298         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
16299
16300 2008-12-23  Bruno Haible  <bruno@clisp.org>
16301
16302         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
16303         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
16304         GETADDRINFO_LIB, not in LIBS.
16305         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
16306         * modules/canon-host (Link): Likewise.
16307         * NEWS: Mention the change.
16308         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
16309         GETADDRINFO_LIB.
16310
16311 2008-12-22  Bruno Haible  <bruno@clisp.org>
16312
16313         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
16314         * doc/posix-functions/iswalpha_l.texi: Likewise.
16315         * doc/posix-functions/iswblank_l.texi: Likewise.
16316         * doc/posix-functions/iswcntrl_l.texi: Likewise.
16317         * doc/posix-functions/iswctype_l.texi: Likewise.
16318         * doc/posix-functions/iswdigit_l.texi: Likewise.
16319         * doc/posix-functions/iswgraph_l.texi: Likewise.
16320         * doc/posix-functions/iswlower_l.texi: Likewise.
16321         * doc/posix-functions/iswprint_l.texi: Likewise.
16322         * doc/posix-functions/iswpunct_l.texi: Likewise.
16323         * doc/posix-functions/iswspace_l.texi: Likewise.
16324         * doc/posix-functions/iswupper_l.texi: Likewise.
16325         * doc/posix-functions/iswxdigit_l.texi: Likewise.
16326         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
16327         * doc/posix-functions/open_wmemstream.texi: Likewise.
16328         * doc/posix-functions/swscanf.texi: Likewise.
16329         * doc/posix-functions/towctrans_l.texi: Likewise.
16330         * doc/posix-functions/towlower.texi: Likewise.
16331         * doc/posix-functions/towlower_l.texi: Likewise.
16332         * doc/posix-functions/towupper.texi: Likewise.
16333         * doc/posix-functions/towupper_l.texi: Likewise.
16334         * doc/posix-functions/vfwprintf.texi: Likewise.
16335         * doc/posix-functions/vfwscanf.texi: Likewise.
16336         * doc/posix-functions/vswscanf.texi: Likewise.
16337         * doc/posix-functions/vwprintf.texi: Likewise.
16338         * doc/posix-functions/vwscanf.texi: Likewise.
16339         * doc/posix-functions/wcpcpy.texi: Likewise.
16340         * doc/posix-functions/wcpncpy.texi: Likewise.
16341         * doc/posix-functions/wcscasecmp.texi: Likewise.
16342         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
16343         * doc/posix-functions/wcscoll_l.texi: Likewise.
16344         * doc/posix-functions/wcsdup.texi: Likewise.
16345         * doc/posix-functions/wcsncasecmp.texi: Likewise.
16346         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
16347         * doc/posix-functions/wcsnlen.texi: Likewise.
16348         * doc/posix-functions/wcsnrtombs.texi: Likewise.
16349         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
16350         * doc/posix-functions/wctrans_l.texi: Likewise.
16351         * doc/posix-functions/wctype_l.texi: Likewise.
16352         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
16353         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
16354         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
16355         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
16356         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
16357         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
16358         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
16359         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
16360         * doc/glibc-functions/wcschrnul.texi: Likewise.
16361         * doc/glibc-functions/wcsftime_l.texi: Likewise.
16362         * doc/glibc-functions/wcstod_l.texi: Likewise.
16363         * doc/glibc-functions/wcstof_l.texi: Likewise.
16364         * doc/glibc-functions/wcstol_l.texi: Likewise.
16365         * doc/glibc-functions/wcstold_l.texi: Likewise.
16366         * doc/glibc-functions/wcstoll_l.texi: Likewise.
16367         * doc/glibc-functions/wcstoq.texi: Likewise.
16368         * doc/glibc-functions/wcstoul_l.texi: Likewise.
16369         * doc/glibc-functions/wcstoull_l.texi: Likewise.
16370         * doc/glibc-functions/wcstouq.texi: Likewise.
16371         * doc/glibc-functions/wmempcpy.texi: Likewise.
16372
16373 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
16374             Eric Blake  <ebb9@byu.net>
16375             Paolo Bonzini  <bonzini@gnu.org>
16376             Bruno Haible  <bruno@clisp.org>
16377
16378         Make c-stack work on Haiku.
16379         * lib/c-stack.c (SA_ONSTACK): Define fallback.
16380         (c_stack_action): Use SA_ONSTACK flag.
16381
16382 2008-12-22  Bruno Haible  <bruno@clisp.org>
16383
16384         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
16385
16386 2008-12-22  Bruno Haible  <bruno@clisp.org>
16387
16388         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
16389         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
16390         being overridden.
16391         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
16392         New macros.
16393         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
16394         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
16395         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
16396         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
16397
16398 2008-12-22  Bruno Haible  <bruno@clisp.org>
16399
16400         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
16401         from test code.
16402
16403 2008-12-22  Eric Blake  <ebb9@byu.net>
16404
16405         Avoid gcc warnings on cygwin.
16406         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
16407         Avoid unused variable.
16408         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
16409         Likewise.
16410
16411 2008-12-22  Bruno Haible  <bruno@clisp.org>
16412
16413         Remove HAVE_MBRTOWC conditionals.
16414         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
16415         (mbscasecmp): Assume mbrtowc function.
16416         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
16417         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
16418         * lib/mbschr.c: Include mbuiter.h unconditionally.
16419         (mbschr): Assume mbrtowc function.
16420         * lib/mbscspn.c: Include mbuiter.h unconditionally.
16421         (mbscspn): Assume mbrtowc function.
16422         * lib/mbslen.c: Include mbuiter.h unconditionally.
16423         (mbslen): Assume mbrtowc function.
16424         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
16425         (mbsncasecmp): Assume mbrtowc function.
16426         * lib/mbsnlen.c: Include mbiter.h unconditionally.
16427         (mbsnlen): Assume mbrtowc function.
16428         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
16429         (mbspbrk): Assume mbrtowc function.
16430         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
16431         (mbspcasecmp): Assume mbrtowc function.
16432         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
16433         (mbsrchr): Assume mbrtowc function.
16434         * lib/mbssep.c: Include mbuiter.h unconditionally.
16435         (mbssep): Assume mbrtowc function.
16436         * lib/mbsspn.c: Include mbuiter.h unconditionally.
16437         (mbsspn): Assume mbrtowc function.
16438         * lib/mbsstr.c: Include mbuiter.h unconditionally.
16439         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
16440         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
16441         (mbstok_r): Assume mbrtowc function.
16442         * lib/propername.c: Include mbuiter.h unconditionally.
16443         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
16444         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
16445         (trim2): Assume mbrtowc function.
16446         * lib/mbswidth.c (mbsinit): Remove fallback definition.
16447         (mbsnwidth): Assume mbrtowc function.
16448         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
16449         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
16450         fallback definitions.
16451         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
16452
16453 2008-12-22  Bruno Haible  <bruno@clisp.org>
16454
16455         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
16456
16457 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
16458
16459         * modules/regex: Request emulations for the mb*/wc* functions we need.
16460         * m4/regex.m4: Don't look for those functions here.
16461         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
16462
16463 2008-12-22  Bruno Haible  <bruno@clisp.org>
16464
16465         * modules/fnmatch (Depends-on): Remove duplicated dependency.
16466
16467 2008-12-21  Bruno Haible  <bruno@clisp.org>
16468
16469         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
16470         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
16471         (Include): Remove conditionalization.
16472         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
16473         (Include): Remove conditionalization.
16474         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
16475         (Include): Remove conditionalization.
16476         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
16477         * m4/mbfile.m4 (gl_MBFILE): Likewise.
16478         * NEWS: Mention the change.
16479         Reported by Alan Hourihane <alanh@fairlite.co.uk>
16480         via Sergey Poznyakoff <gray@gnu.org.ua>.
16481
16482 2008-12-21  Bruno Haible  <bruno@clisp.org>
16483
16484         * MODULES.html.sh (Extended multibyte and wide character utilities
16485         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
16486         wcrtomb, wcsrtombs.
16487         (Support for systems lacking POSIX:2008): Add accept, bind, close,
16488         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
16489         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
16490         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
16491
16492 2008-12-21  Bruno Haible  <bruno@clisp.org>
16493
16494         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
16495
16496 2008-12-21  Bruno Haible  <bruno@clisp.org>
16497
16498         * modules/wcsnrtombs-tests: New file.
16499         * tests/test-wcsnrtombs1.sh: New file.
16500         * tests/test-wcsnrtombs2.sh: New file.
16501         * tests/test-wcsnrtombs3.sh: New file.
16502         * tests/test-wcsnrtombs4.sh: New file.
16503         * tests/test-wcsnrtombs.c: New file.
16504
16505         New module 'wcsnrtombs'.
16506         * lib/wchar.in.h (wcsnrtombs): New declaration.
16507         * lib/wcsnrtombs.c: New file.
16508         * lib/wcsrtombs-state.c: New file.
16509         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
16510         (internal_state): Remove variable.
16511         * m4/wcsnrtombs.m4: New file.
16512         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
16513         compilation units.
16514         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
16515         HAVE_WCSNRTOMBS.
16516         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
16517         HAVE_WCSNRTOMBS.
16518         * modules/wcsnrtombs: New file.
16519         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
16520         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
16521
16522 2008-12-21  Bruno Haible  <bruno@clisp.org>
16523
16524         * modules/wcsrtombs-tests: New file.
16525         * tests/test-wcsrtombs1.sh: New file.
16526         * tests/test-wcsrtombs2.sh: New file.
16527         * tests/test-wcsrtombs3.sh: New file.
16528         * tests/test-wcsrtombs4.sh: New file.
16529         * tests/test-wcsrtombs.c: New file.
16530
16531         New module 'wcsrtombs'.
16532         * lib/wchar.in.h (wcsrtombs): New declaration.
16533         * lib/wcsrtombs.c: New file.
16534         * m4/wcsrtombs.m4: New file.
16535         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
16536         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
16537         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
16538         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
16539         * modules/wcsrtombs: New file.
16540         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
16541         bugs.
16542
16543 2008-12-21  Bruno Haible  <bruno@clisp.org>
16544
16545         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
16546         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
16547         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
16548         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
16549         if not correct.
16550         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
16551         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
16552         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
16553         m4/locale-zh.m4, m4/codeset.m4.
16554         * doc/posix-functions/wcrtomb.texi: Document the bug.
16555
16556 2008-12-21  Bruno Haible  <bruno@clisp.org>
16557
16558         Work around a btowc() bug on IRIX 6.5.
16559         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
16560         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
16561         REPLACE_WTOBC if not.
16562         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
16563         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
16564         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
16565
16566 2008-12-21  Bruno Haible  <bruno@clisp.org>
16567
16568         * modules/wcrtomb-tests: New file.
16569         * tests/test-wcrtomb.sh: New file.
16570         * tests/test-wcrtomb.c: New file.
16571
16572         New module 'wcrtomb'.
16573         * lib/wchar.in.h (wcrtomb): New declaration.
16574         * lib/wcrtomb.c: New file.
16575         * m4/wcrtomb.m4: New file.
16576         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
16577         HAVE_WCRTOMB.
16578         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
16579         HAVE_WCRTOMB.
16580         * modules/wcrtomb: New file.
16581         * doc/posix-functions/wcrtomb.texi: Mention the new module.
16582
16583 2008-12-21  Bruno Haible  <bruno@clisp.org>
16584
16585         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
16586         * modules/mbsrtowcs (Files): Likewise.
16587         * modules/wctob (Files): Likewise.
16588         * modules/c-strcase-tests (Files): Likewise.
16589         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
16590         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
16591         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
16592         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
16593         * modules/vasnprintf-posix-tests (Files): Likewise.
16594
16595 2008-12-21  William Pursell  <bill.pursell@gmail.com>
16596
16597         gitlog-to-changelog: pass all command-line arguments to git-log
16598         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
16599         it is sometimes convenient to filter the commits in various ways.
16600         gitlog-to-changelog only allows --since to specify a start date,
16601         but git-log itself supports many other filtering mechanisms.
16602         At the moment, I want to filter by branch name.  Rather than
16603         adding a --branch option to gitlog-to-changelog, it seems more
16604         flexible to simply pass all options directly to git-log and let
16605         git do the work.  Notice that this effectively makes --since a
16606         redundant option for gitlog-to-changelog, but removing it would
16607         require current usage to change since calls would then require
16608         an additional '--'.
16609
16610 2008-12-21  Bruno Haible  <bruno@clisp.org>
16611
16612         * modules/mbsnrtowcs-tests: New file.
16613         * tests/test-mbsnrtowcs1.sh: New file.
16614         * tests/test-mbsnrtowcs2.sh: New file.
16615         * tests/test-mbsnrtowcs3.sh: New file.
16616         * tests/test-mbsnrtowcs4.sh: New file.
16617         * tests/test-mbsnrtowcs.c: New file.
16618
16619         New module 'mbsnrtowcs'.
16620         * lib/wchar.in.h (mbsnrtowcs): New declaration.
16621         * lib/mbsnrtowcs.c: New file.
16622         * lib/mbsrtowcs-state.c: New file.
16623         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
16624         (internal_state): Remove variable.
16625         * m4/mbsnrtowcs.m4: New file.
16626         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
16627         compilation units.
16628         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
16629         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
16630         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
16631         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
16632         * modules/mbsnrtowcs: New file.
16633         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
16634         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
16635         portability problem.
16636
16637 2008-12-21  Bruno Haible  <bruno@clisp.org>
16638
16639         Work around mbsrtowcs bug.
16640         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
16641         (gl_FUNC_MBSRTOWCS): Invoke it.
16642         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
16643         m4/locale-zh.m4.
16644         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
16645
16646 2008-12-21  Bruno Haible  <bruno@clisp.org>
16647
16648         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
16649
16650 2008-12-21  Bruno Haible  <bruno@clisp.org>
16651
16652         Update doc for AIX.
16653         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
16654         16-bit wchar_t type.
16655         * doc/posix-functions/btowc.texi: Likewise.
16656         * doc/posix-functions/fgetwc.texi: Likewise.
16657         * doc/posix-functions/fgetws.texi: Likewise.
16658         * doc/posix-functions/fputwc.texi: Likewise.
16659         * doc/posix-functions/fputws.texi: Likewise.
16660         * doc/posix-functions/fwide.texi: Likewise.
16661         * doc/posix-functions/fwprintf.texi: Likewise.
16662         * doc/posix-functions/fwscanf.texi: Likewise.
16663         * doc/posix-functions/getwchar.texi: Likewise.
16664         * doc/posix-functions/getwc.texi: Likewise.
16665         * doc/posix-functions/iswalnum.texi: Likewise.
16666         * doc/posix-functions/iswalpha.texi: Likewise.
16667         * doc/posix-functions/iswblank.texi: Likewise.
16668         * doc/posix-functions/iswcntrl.texi: Likewise.
16669         * doc/posix-functions/iswctype.texi: Likewise.
16670         * doc/posix-functions/iswdigit.texi: Likewise.
16671         * doc/posix-functions/iswgraph.texi: Likewise.
16672         * doc/posix-functions/iswlower.texi: Likewise.
16673         * doc/posix-functions/iswprint.texi: Likewise.
16674         * doc/posix-functions/iswpunct.texi: Likewise.
16675         * doc/posix-functions/iswspace.texi: Likewise.
16676         * doc/posix-functions/iswupper.texi: Likewise.
16677         * doc/posix-functions/iswxdigit.texi: Likewise.
16678         * doc/posix-functions/mbrtowc.texi: Likewise.
16679         * doc/posix-functions/mbsrtowcs.texi: Likewise.
16680         * doc/posix-functions/mbstowcs.texi: Likewise.
16681         * doc/posix-functions/mbtowc.texi: Likewise.
16682         * doc/posix-functions/putwchar.texi: Likewise.
16683         * doc/posix-functions/putwc.texi: Likewise.
16684         * doc/posix-functions/swprintf.texi: Likewise.
16685         * doc/posix-functions/tolower.texi: Likewise.
16686         * doc/posix-functions/toupper.texi: Likewise.
16687         * doc/posix-functions/towctrans.texi: Likewise.
16688         * doc/posix-functions/ungetwc.texi: Likewise.
16689         * doc/posix-functions/vswprintf.texi: Likewise.
16690         * doc/posix-functions/wcrtomb.texi: Likewise.
16691         * doc/posix-functions/wcscat.texi: Likewise.
16692         * doc/posix-functions/wcschr.texi: Likewise.
16693         * doc/posix-functions/wcscmp.texi: Likewise.
16694         * doc/posix-functions/wcscoll.texi: Likewise.
16695         * doc/posix-functions/wcscpy.texi: Likewise.
16696         * doc/posix-functions/wcscspn.texi: Likewise.
16697         * doc/posix-functions/wcsftime.texi: Likewise.
16698         * doc/posix-functions/wcslen.texi: Likewise.
16699         * doc/posix-functions/wcsncat.texi: Likewise.
16700         * doc/posix-functions/wcsncmp.texi: Likewise.
16701         * doc/posix-functions/wcsncpy.texi: Likewise.
16702         * doc/posix-functions/wcspbrk.texi: Likewise.
16703         * doc/posix-functions/wcsrchr.texi: Likewise.
16704         * doc/posix-functions/wcsrtombs.texi: Likewise.
16705         * doc/posix-functions/wcsspn.texi: Likewise.
16706         * doc/posix-functions/wcsstr.texi: Likewise.
16707         * doc/posix-functions/wcstod.texi: Likewise.
16708         * doc/posix-functions/wcstof.texi: Likewise.
16709         * doc/posix-functions/wcstoimax.texi: Likewise.
16710         * doc/posix-functions/wcstok.texi: Likewise.
16711         * doc/posix-functions/wcstold.texi: Likewise.
16712         * doc/posix-functions/wcstoll.texi: Likewise.
16713         * doc/posix-functions/wcstol.texi: Likewise.
16714         * doc/posix-functions/wcstombs.texi: Likewise.
16715         * doc/posix-functions/wcstoull.texi: Likewise.
16716         * doc/posix-functions/wcstoul.texi: Likewise.
16717         * doc/posix-functions/wcstoumax.texi: Likewise.
16718         * doc/posix-functions/wcswidth.texi: Likewise.
16719         * doc/posix-functions/wcsxfrm.texi: Likewise.
16720         * doc/posix-functions/wctob.texi: Likewise.
16721         * doc/posix-functions/wctomb.texi: Likewise.
16722         * doc/posix-functions/wctrans.texi: Likewise.
16723         * doc/posix-functions/wctype.texi: Likewise.
16724         * doc/posix-functions/wcwidth.texi: Likewise.
16725         * doc/posix-functions/wmemchr.texi: Likewise.
16726         * doc/posix-functions/wmemcmp.texi: Likewise.
16727         * doc/posix-functions/wmemcpy.texi: Likewise.
16728         * doc/posix-functions/wmemmove.texi: Likewise.
16729         * doc/posix-functions/wmemset.texi: Likewise.
16730         * doc/posix-functions/wprintf.texi: Likewise.
16731         * doc/posix-functions/wscanf.texi: Likewise.
16732
16733 2008-12-21  Bruno Haible  <bruno@clisp.org>
16734
16735         Update doc for HP-UX 11.11.
16736         * doc/posix-functions/btowc.texi: Clarify that the function is missing
16737         in HP-UX version 11.00, not in all versions of HP-UX 11.
16738         * doc/posix-functions/fwide.texi: Likewise.
16739         * doc/posix-functions/fwprintf.texi: Likewise.
16740         * doc/posix-functions/fwscanf.texi: Likewise.
16741         * doc/posix-functions/inet_ntop.texi: Likewise.
16742         * doc/posix-functions/inet_pton.texi: Likewise.
16743         * doc/posix-functions/mbrlen.texi: Likewise.
16744         * doc/posix-functions/mbrtowc.texi: Likewise.
16745         * doc/posix-functions/mbsinit.texi: Likewise.
16746         * doc/posix-functions/mbsrtowcs.texi: Likewise.
16747         * doc/posix-functions/swprintf.texi: Likewise.
16748         * doc/posix-functions/swscanf.texi: Likewise.
16749         * doc/posix-functions/towctrans.texi: Likewise.
16750         * doc/posix-functions/vfwprintf.texi: Likewise.
16751         * doc/posix-functions/vswprintf.texi: Likewise.
16752         * doc/posix-functions/vwprintf.texi: Likewise.
16753         * doc/posix-functions/wcrtomb.texi: Likewise.
16754         * doc/posix-functions/wcsrtombs.texi: Likewise.
16755         * doc/posix-functions/wcsstr.texi: Likewise.
16756         * doc/posix-functions/wctob.texi: Likewise.
16757         * doc/posix-functions/wctrans.texi: Likewise.
16758         * doc/posix-functions/wmemchr.texi: Likewise.
16759         * doc/posix-functions/wmemcmp.texi: Likewise.
16760         * doc/posix-functions/wmemcpy.texi: Likewise.
16761         * doc/posix-functions/wmemmove.texi: Likewise.
16762         * doc/posix-functions/wmemset.texi: Likewise.
16763         * doc/posix-functions/wprintf.texi: Likewise.
16764         * doc/posix-functions/wscanf.texi: Likewise.
16765
16766 2008-12-21  Bruno Haible  <bruno@clisp.org>
16767
16768         Work around a portability problem.
16769         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
16770         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
16771
16772 2008-12-20  Bruno Haible  <bruno@clisp.org>
16773
16774         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
16775         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
16776         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
16777         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
16778         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
16779
16780         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
16781         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
16782         set.
16783         (GNULIB_defined_mbstate_t): New macro.
16784         (mbsinit): Redefine if REPLACE_MBSINIT is set.
16785         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
16786         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
16787         reuses the system's mbrtowc function but works around the bugs.
16788         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
16789         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
16790         macros.
16791         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
16792         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
16793         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
16794         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
16795         REPLACE_MBSINIT if mbsinit needs to be overridden.
16796         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
16797         REPLACE_MBSINIT, REPLACE_MBRTOWC.
16798         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
16799         REPLACE_MBSINIT, REPLACE_MBRTOWC.
16800         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
16801         m4/locale-zh.m4.
16802         (Depends): Add mbsinit.
16803         * modules/mbsinit (Depends): Add mbrtowc.
16804         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
16805
16806 2008-12-20  Bruno Haible  <bruno@clisp.org>
16807
16808         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
16809         so that there are no conversion errors on AIX.
16810         * tests/test-mbsrtowcs.c (main): LIkewise.
16811
16812 2008-12-20  Bruno Haible  <bruno@clisp.org>
16813
16814         Work around wctob bug on Solaris <= 9.
16815         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
16816         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
16817         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
16818         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
16819         * modules/wctob (Files): Add m4/locale-fr.m4.
16820         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
16821
16822 2008-12-20  Bruno Haible  <bruno@clisp.org>
16823
16824         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
16825         /dev/null.
16826         * tests/test-select-in.sh: Likewise.
16827         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16828
16829 2008-12-20  Bruno Haible  <bruno@clisp.org>
16830
16831         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
16832         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
16833         Cygwin 1.5.x.
16834
16835 2008-12-20  Bruno Haible  <bruno@clisp.org>
16836
16837         Ensure mbstate_t is defined on HP-UX 11.11.
16838         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
16839         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
16840         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
16841         AC_USE_SYSTEM_EXTENSIONS.
16842         * modules/fnmatch (Depends-on): Add extensions.
16843         * modules/mbrlen (Depends-on): Likewise.
16844         * modules/mbrtowc (Depends-on): Likewise.
16845         * modules/mbsinit (Depends-on): Likewise.
16846         * modules/mbsrtowcs (Depends-on): Likewise.
16847         * modules/mbswidth (Depends-on): Likewise.
16848         * modules/quotearg (Depends-on): Likewise.
16849         * modules/strftime (Depends-on): Likewise.
16850
16851 2008-12-20  Bruno Haible  <bruno@clisp.org>
16852
16853         Ensure wctob is declared on IRIX 6.5.
16854         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
16855         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
16856         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
16857         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
16858         of HAVE_WCTOB.
16859         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
16860         HAVE_WCTOB.
16861         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
16862
16863 2008-12-19  Bruno Haible  <bruno@clisp.org>
16864
16865         * modules/mbsrtowcs-tests: New file.
16866         * tests/test-mbsrtowcs1.sh: New file.
16867         * tests/test-mbsrtowcs2.sh: New file.
16868         * tests/test-mbsrtowcs3.sh: New file.
16869         * tests/test-mbsrtowcs4.sh: New file.
16870         * tests/test-mbsrtowcs.c: New file.
16871
16872         New module 'mbsrtowcs'.
16873         * lib/wchar.in.h (mbsrtowcs): New declaration.
16874         * lib/mbsrtowcs.c: New file.
16875         * m4/mbsrtowcs.m4: New file.
16876         * modules/mbsrtowcs: New file.
16877         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
16878         HAVE_MBSRTOWCS.
16879         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
16880         HAVE_MBSRTOWCS.
16881         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
16882
16883 2008-12-19  Bruno Haible  <bruno@clisp.org>
16884
16885         New module 'mbrlen'.
16886         * lib/wchar.in.h (mbrlen): New declaration.
16887         * lib/mbrlen.c: New file.
16888         * m4/mbrlen.m4: New file.
16889         * modules/mbrlen: New file.
16890         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
16891         HAVE_MBRLEN.
16892         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
16893         HAVE_MBRLEN.
16894         * doc/posix-functions/mbrlen.texi: Document the new module.
16895
16896 2008-12-19  Bruno Haible  <bruno@clisp.org>
16897
16898         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
16899         * modules/mbrtowc (Depends-on): Add verify.
16900         Suggested by Paul Eggert.
16901
16902 2008-12-18  Bruno Haible  <bruno@clisp.org>
16903
16904         * modules/mbsinit-tests: New file.
16905         * tests/test-mbsinit.sh: New file.
16906         * tests/test-mbsinit.c: New file.
16907
16908 2008-12-18  Bruno Haible  <bruno@clisp.org>
16909
16910         * modules/mbrtowc-tests: New file.
16911         * tests/test-mbrtowc1.sh: New file.
16912         * tests/test-mbrtowc2.sh: New file.
16913         * tests/test-mbrtowc3.sh: New file.
16914         * tests/test-mbrtowc4.sh: New file.
16915         * tests/test-mbrtowc.c: New file.
16916
16917         New module 'mbrtowc'.
16918         * lib/wchar.in.h (mbstate_t): Override when the system does not have
16919         mbsinit and mbrtowc.
16920         (mbrtowc): New declaration.
16921         * lib/mbrtowc.c: New file.
16922         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
16923         * modules/mbrtowc: New file.
16924         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
16925         HAVE_MBRTOWC.
16926         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
16927         HAVE_MBRTOWC.
16928         * doc/posix-functions/mbrtowc.texi: Document the new module.
16929
16930 2008-12-18  Bruno Haible  <bruno@clisp.org>
16931
16932         New module 'wctob'.
16933         * lib/wchar.in.h (wctob): New declaration.
16934         * lib/wctob.c: New file.
16935         * m4/wctob.m4: New file.
16936         * modules/wctob: New file.
16937         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
16938         HAVE_WCTOB.
16939         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
16940         * doc/posix-functions/wctob.texi: Document the new module.
16941
16942 2008-12-18  Bruno Haible  <bruno@clisp.org>
16943
16944         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
16945         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
16946
16947 2008-12-18  Simon Josefsson  <simon@josefsson.org>
16948
16949         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
16950         G. Christensen" <tgc@jupiterrise.com>.
16951
16952         * lib/flock.c: Need to include errno.h.  Reported by "Tom
16953         G. Christensen" <tgc@jupiterrise.com>.
16954
16955         * lib/flock.c: Need to include string.h.  Reported by "Tom
16956         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
16957         <ebb9@byu.net>.
16958
16959 2008-12-18  Bruno Haible  <bruno@clisp.org>
16960
16961         * m4/locale-ja.m4: New file, from GNU gettext.
16962
16963 2008-12-17  Bruno Haible  <bruno@clisp.org>
16964
16965         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
16966         Suggested by Eric Blake.
16967
16968 2008-12-17  Bruno Haible  <bruno@clisp.org>
16969
16970         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
16971
16972 2008-12-17  Bruno Haible  <bruno@clisp.org>
16973
16974         * lib/mbsinit.c: Include verify.h. Verify an assumption.
16975         * modules/mbsinit (Depends-on): Add verify.
16976         Suggested by Paul Eggert.
16977
16978 2008-12-17  Bruno Haible  <bruno@clisp.org>
16979
16980         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
16981         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
16982         gl_FUNC_MBRTOWC.
16983         * m4/mbiter.m4 (gl_MBITER): LIkewise.
16984         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
16985         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
16986         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
16987         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
16988         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
16989         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
16990         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
16991         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
16992         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
16993         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
16994         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
16995         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
16996         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
16997         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
16998         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
16999         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
17000         * modules/trim (configure.ac): Likewise.
17001
17002 2008-12-17  Bruno Haible  <bruno@clisp.org>
17003
17004         * modules/btowc-tests: New file.
17005         * tests/test-btowc1.sh: New file.
17006         * tests/test-btowc2.sh: New file.
17007         * tests/test-btowc.c: New file.
17008
17009         New module 'btowc'.
17010         * lib/wchar.in.h (btowc): New declaration.
17011         * lib/btowc.c: New file.
17012         * m4/btowc.m4: New file.
17013         * modules/btowc: New file.
17014         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
17015         HAVE_BTOWC.
17016         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
17017         * doc/posix-functions/btowc.texi: Document the new module.
17018
17019 2008-12-17  Bruno Haible  <bruno@clisp.org>
17020
17021         New module 'mbsinit'.
17022         * lib/wchar.in.h (mbsinit): New declaration.
17023         * lib/mbsinit.c: New file.
17024         * m4/mbsinit.m4: New file.
17025         * modules/mbsinit: New file.
17026         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
17027         HAVE_MBSINIT.
17028         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
17029         HAVE_MBSINIT.
17030         * doc/posix-functions/mbsinit.texi: Document the new module.
17031
17032 2008-12-16  Bruno Haible  <bruno@clisp.org>
17033
17034         * lib/unistd.in.h: Add comment.
17035         * tests/test-environ.c: Don't include <stdlib.h>.
17036
17037 2008-12-16  Bruno Haible  <bruno@clisp.org>
17038
17039         * lib/parse-duration.h (parse_duration): Document return value
17040         convention.
17041         * lib/parse-duration.c: Include specification header first. Add
17042         comments.
17043         (_): Remove macro.
17044         (parse_year_month_day, parse_hour_minute_second): Move side effects
17045         outside of strchr call.
17046         (parse_non_iso8601): Move side effects outside of isspace call.
17047         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
17048         call.
17049
17050 2008-12-16  Bruno Haible  <bruno@clisp.org>
17051
17052         * tests/test-parse-duration.sh: Produce no output when the test
17053         succeeds.
17054
17055 2008-12-16  Bruno Haible  <bruno@clisp.org>
17056
17057         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
17058         expressions.
17059
17060 2008-12-15  Bruno Haible  <bruno@clisp.org>
17061
17062         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
17063         * doc/glibc-functions/flistxattr.texi: Likewise.
17064         * doc/glibc-functions/fopencookie.texi: Likewise.
17065         * doc/glibc-functions/fremovexattr.texi: Likewise.
17066         * doc/glibc-functions/fsetxattr.texi: Likewise.
17067         * doc/glibc-functions/getxattr.texi: Likewise.
17068         * doc/glibc-functions/lgetxattr.texi: Likewise.
17069         * doc/glibc-functions/listxattr.texi: Likewise.
17070         * doc/glibc-functions/llistxattr.texi: Likewise.
17071         * doc/glibc-functions/lremovexattr.texi: Likewise.
17072         * doc/glibc-functions/lsetxattr.texi: Likewise.
17073         * doc/glibc-functions/removexattr.texi: Likewise.
17074         * doc/glibc-functions/setxattr.texi: Likewise.
17075         * doc/posix-functions/open_memstream.texi: Likewise.
17076
17077 2008-12-15  Eric Blake  <ebb9@byu.net>
17078
17079         Update doc for cygwin 1.7.
17080         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
17081         functions.
17082         * doc/posix-functions/fchmodat.texi: Likewise.
17083         * doc/posix-functions/fchownat.texi: Likewise.
17084         * doc/posix-functions/fdopendir.texi: Likewise.
17085         * doc/posix-functions/fmemopen.texi: Likewise.
17086         * doc/posix-functions/freeaddrinfo.texi: Likewise.
17087         * doc/posix-functions/fstatat.texi: Likewise.
17088         * doc/posix-functions/futimens.texi: Likewise.
17089         * doc/posix-functions/gai_strerror.texi: Likewise.
17090         * doc/posix-functions/getaddrinfo.texi: Likewise.
17091         * doc/posix-functions/getnameinfo.texi: Likewise.
17092         * doc/posix-functions/if_freenameindex.texi: Likewise.
17093         * doc/posix-functions/if_indextoname.texi: Likewise.
17094         * doc/posix-functions/if_nameindex.texi: Likewise.
17095         * doc/posix-functions/if_nametoindex.texi: Likewise.
17096         * doc/posix-functions/insque.texi: Likewise.
17097         * doc/posix-functions/linkat.texi: Likewise.
17098         * doc/posix-functions/llrint.texi: Likewise.
17099         * doc/posix-functions/llrintf.texi: Likewise.
17100         * doc/posix-functions/llrintl.texi: Likewise.
17101         * doc/posix-functions/lockf.texi: Likewise.
17102         * doc/posix-functions/lrintl.texi: Likewise.
17103         * doc/posix-functions/mkdirat.texi: Likewise.
17104         * doc/posix-functions/mkfifoat.texi: Likewise.
17105         * doc/posix-functions/mknodat.texi: Likewise.
17106         * doc/posix-functions/mq_close.texi: Likewise.
17107         * doc/posix-functions/mq_getattr.texi: Likewise.
17108         * doc/posix-functions/mq_notify.texi: Likewise.
17109         * doc/posix-functions/mq_open.texi: Likewise.
17110         * doc/posix-functions/mq_receive.texi: Likewise.
17111         * doc/posix-functions/mq_send.texi: Likewise.
17112         * doc/posix-functions/mq_setattr.texi: Likewise.
17113         * doc/posix-functions/mq_timedreceive.texi: Likewise.
17114         * doc/posix-functions/mq_timedsend.texi: Likewise.
17115         * doc/posix-functions/mq_unlink.texi: Likewise.
17116         * doc/posix-functions/open_memstream.texi: Likewise.
17117         * doc/posix-functions/openat.texi: Likewise.
17118         * doc/posix-functions/posix_fadvise.texi: Likewise.
17119         * doc/posix-functions/posix_fallocate.texi: Likewise.
17120         * doc/posix-functions/posix_madvise.texi: Likewise.
17121         * doc/posix-functions/posix_memalign.texi: Likewise.
17122         * doc/posix-functions/posix_openpt.texi: Likewise.
17123         * doc/posix-functions/readlinkat.texi: Likewise.
17124         * doc/posix-functions/remque.texi: Likewise.
17125         * doc/posix-functions/renameat.texi: Likewise.
17126         * doc/posix-functions/rintl.texi: Likewise.
17127         * doc/posix-functions/sem_unlink.texi: Likewise.
17128         * doc/posix-functions/shm_open.texi: Likewise.
17129         * doc/posix-functions/shm_unlink.texi: Likewise.
17130         * doc/posix-functions/signgam.texi: Likewise.
17131         * doc/posix-functions/sigset.texi: Likewise.
17132         * doc/posix-functions/stpcpy.texi: Likewise.
17133         * doc/posix-functions/stpncpy.texi: Likewise.
17134         * doc/posix-functions/strerror.texi: Likewise.
17135         * doc/posix-functions/strtod.texi: Likewise.
17136         * doc/posix-functions/symlinkat.texi: Likewise.
17137         * doc/posix-functions/unlinkat.texi: Likewise.
17138         * doc/posix-functions/utimensat.texi: Likewise.
17139         * doc/glibc-functions/bindresvport.texi: Likewise.
17140         * doc/glibc-functions/dn_expand.texi: Likewise.
17141         * doc/glibc-functions/exp10.texi: Likewise.
17142         * doc/glibc-functions/exp10f.texi: Likewise.
17143         * doc/glibc-functions/fgetxattr.texi: Likewise.
17144         * doc/glibc-functions/flistxattr.texi: Likewise.
17145         * doc/glibc-functions/fopencookie.texi: Likewise.
17146         * doc/glibc-functions/freeifaddrs.texi: Likewise.
17147         * doc/glibc-functions/fremovexattr.texi: Likewise.
17148         * doc/glibc-functions/fsetxattr.texi: Likewise.
17149         * doc/glibc-functions/getifaddrs.texi: Likewise.
17150         * doc/glibc-functions/getxattr.texi: Likewise.
17151         * doc/glibc-functions/lgetxattr.texi: Likewise.
17152         * doc/glibc-functions/listxattr.texi: Likewise.
17153         * doc/glibc-functions/llistxattr.texi: Likewise.
17154         * doc/glibc-functions/lremovexattr.texi: Likewise.
17155         * doc/glibc-functions/lsetxattr.texi: Likewise.
17156         * doc/glibc-functions/pow10.texi: Likewise.
17157         * doc/glibc-functions/pow10f.texi: Likewise.
17158         * doc/glibc-functions/rcmd_af.texi: Likewise.
17159         * doc/glibc-functions/removexattr.texi: Likewise.
17160         * doc/glibc-functions/res_init.texi: Likewise.
17161         * doc/glibc-functions/res_mkquery.texi: Likewise.
17162         * doc/glibc-functions/res_query.texi: Likewise.
17163         * doc/glibc-functions/res_querydomain.texi: Likewise.
17164         * doc/glibc-functions/res_send.texi: Likewise.
17165         * doc/glibc-functions/rresvport_af.texi: Likewise.
17166         * doc/glibc-functions/setxattr.texi: Likewise.
17167         * doc/glibc-functions/strcasestr.texi: Likewise.
17168
17169 2008-12-15  Bruno Haible  <bruno@clisp.org>
17170
17171         Fix compilation error on OSF/1 4.0.
17172         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
17173         <sys/time.h>, simply delegate to the system header.
17174         Reported by Daniel Richard G. <oss@teragram.com>.
17175
17176 2008-12-15  Bruno Haible  <bruno@clisp.org>
17177
17178         * doc/posix-functions/openat.texi: Mention the 'openat' module.
17179         * doc/posix-functions/fchmodat.texi: Likewise.
17180         * doc/posix-functions/fchownat.texi: Likewise.
17181         * doc/posix-functions/fdopendir.texi: Likewise.
17182         * doc/posix-functions/fstatat.texi: Likewise.
17183         * doc/posix-functions/mkdirat.texi: Likewise.
17184         * doc/posix-functions/unlinkat.texi: Likewise.
17185
17186 2008-12-14  Bruno Haible  <bruno@clisp.org>
17187
17188         Update doc for POSIX:2008.
17189         * doc/posix-functions/faccessat.texi: New file.
17190         * doc/posix-functions/fchmodat.texi: New file.
17191         * doc/posix-functions/fchownat.texi: New file.
17192         * doc/posix-functions/fdopendir.texi: New file.
17193         * doc/posix-functions/fstatat.texi: New file.
17194         * doc/posix-functions/futimens.texi: New file.
17195         * doc/posix-functions/linkat.texi: New file.
17196         * doc/posix-functions/mkdirat.texi: New file.
17197         * doc/posix-functions/mkfifoat.texi: New file.
17198         * doc/posix-functions/mknodat.texi: New file.
17199         * doc/posix-functions/open_wmemstream.texi: New file.
17200         * doc/posix-functions/openat.texi: New file.
17201         * doc/posix-functions/psiginfo.texi: New file.
17202         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
17203         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
17204         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
17205         * doc/posix-functions/readlinkat.texi: New file.
17206         * doc/posix-functions/renameat.texi: New file.
17207         * doc/posix-functions/strerror_l.texi: New file.
17208         * doc/posix-functions/symlinkat.texi: New file.
17209         * doc/posix-functions/unlinkat.texi: New file.
17210         * doc/posix-functions/utimensat.texi: New file.
17211         * doc/gnulib.texi (Function Substitutes): Add these subsections.
17212
17213 2008-12-14  Bruno Haible  <bruno@clisp.org>
17214
17215         Update doc for POSIX:2008.
17216         * doc/posix-functions/alphasort.texi: Renamed from
17217         doc/glibc-functions/alphasort.texi.
17218         * doc/posix-functions/dirfd.texi: Renamed from
17219         doc/glibc-functions/dirfd.texi.
17220         * doc/posix-functions/dprintf.texi: Renamed from
17221         doc/glibc-functions/dprintf.texi.
17222         * doc/posix-functions/duplocale.texi: Renamed from
17223         doc/glibc-functions/duplocale.texi.
17224         * doc/posix-functions/fexecve.texi: Renamed from
17225         doc/glibc-functions/fexecve.texi.
17226         * doc/posix-functions/fmemopen.texi: Renamed from
17227         doc/glibc-functions/fmemopen.texi.
17228         * doc/posix-functions/freelocale.texi: Renamed from
17229         doc/glibc-functions/freelocale.texi.
17230         * doc/posix-functions/getdate_err.texi: Renamed from
17231         doc/glibc-functions/getdate_err.texi.
17232         * doc/posix-functions/isalnum_l.texi: Renamed from
17233         doc/glibc-functions/isalnum_l.texi.
17234         * doc/posix-functions/isalpha_l.texi: Renamed from
17235         doc/glibc-functions/isalpha_l.texi.
17236         * doc/posix-functions/isblank_l.texi: Renamed from
17237         doc/glibc-functions/isblank_l.texi.
17238         * doc/posix-functions/iscntrl_l.texi: Renamed from
17239         doc/glibc-functions/iscntrl_l.texi.
17240         * doc/posix-functions/isdigit_l.texi: Renamed from
17241         doc/glibc-functions/isdigit_l.texi.
17242         * doc/posix-functions/isgraph_l.texi: Renamed from
17243         doc/glibc-functions/isgraph_l.texi.
17244         * doc/posix-functions/islower_l.texi: Renamed from
17245         doc/glibc-functions/islower_l.texi.
17246         * doc/posix-functions/isprint_l.texi: Renamed from
17247         doc/glibc-functions/isprint_l.texi.
17248         * doc/posix-functions/ispunct_l.texi: Renamed from
17249         doc/glibc-functions/ispunct_l.texi.
17250         * doc/posix-functions/isspace_l.texi: Renamed from
17251         doc/glibc-functions/isspace_l.texi.
17252         * doc/posix-functions/isupper_l.texi: Renamed from
17253         doc/glibc-functions/isupper_l.texi.
17254         * doc/posix-functions/iswalnum_l.texi: Renamed from
17255         doc/glibc-functions/iswalnum_l.texi.
17256         * doc/posix-functions/iswalpha_l.texi: Renamed from
17257         doc/glibc-functions/iswalpha_l.texi.
17258         * doc/posix-functions/iswblank_l.texi: Renamed from
17259         doc/glibc-functions/iswblank_l.texi.
17260         * doc/posix-functions/iswcntrl_l.texi: Renamed from
17261         doc/glibc-functions/iswcntrl_l.texi.
17262         * doc/posix-functions/iswctype_l.texi: Renamed from
17263         doc/glibc-functions/iswctype_l.texi.
17264         * doc/posix-functions/iswdigit_l.texi: Renamed from
17265         doc/glibc-functions/iswdigit_l.texi.
17266         * doc/posix-functions/iswgraph_l.texi: Renamed from
17267         doc/glibc-functions/iswgraph_l.texi.
17268         * doc/posix-functions/iswlower_l.texi: Renamed from
17269         doc/glibc-functions/iswlower_l.texi.
17270         * doc/posix-functions/iswprint_l.texi: Renamed from
17271         doc/glibc-functions/iswprint_l.texi.
17272         * doc/posix-functions/iswpunct_l.texi: Renamed from
17273         doc/glibc-functions/iswpunct_l.texi.
17274         * doc/posix-functions/iswspace_l.texi: Renamed from
17275         doc/glibc-functions/iswspace_l.texi.
17276         * doc/posix-functions/iswupper_l.texi: Renamed from
17277         doc/glibc-functions/iswupper_l.texi.
17278         * doc/posix-functions/iswxdigit_l.texi: Renamed from
17279         doc/glibc-functions/iswxdigit_l.texi.
17280         * doc/posix-functions/isxdigit_l.texi: Renamed from
17281         doc/glibc-functions/isxdigit_l.texi.
17282         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
17283         doc/glibc-functions/mbsnrtowcs.texi.
17284         * doc/posix-functions/mkdtemp.texi: Renamed from
17285         doc/glibc-functions/mkdtemp.texi.
17286         * doc/posix-functions/newlocale.texi: Renamed from
17287         doc/glibc-functions/newlocale.texi.
17288         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
17289         doc/glibc-functions/nl_langinfo_l.texi.
17290         * doc/posix-functions/open_memstream.texi: Renamed from
17291         doc/glibc-functions/open_memstream.texi.
17292         * doc/posix-functions/opterr.texi: Renamed from
17293         doc/glibc-functions/opterr.texi.
17294         * doc/posix-functions/optind.texi: Renamed from
17295         doc/glibc-functions/optind.texi.
17296         * doc/posix-functions/optopt.texi: Renamed from
17297         doc/glibc-functions/optopt.texi.
17298         * doc/posix-functions/psignal.texi: Renamed from
17299         doc/glibc-functions/psignal.texi.
17300         * doc/posix-functions/scandir.texi: Renamed from
17301         doc/glibc-functions/scandir.texi.
17302         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
17303         doc/glibc-functions/sched_get_priority_min.texi.
17304         * doc/posix-functions/signgam.texi: Renamed from
17305         doc/glibc-functions/signgam.texi.
17306         * doc/posix-functions/stpcpy.texi: Renamed from
17307         doc/glibc-functions/stpcpy.texi.
17308         * doc/posix-functions/stpncpy.texi: Renamed from
17309         doc/glibc-functions/stpncpy.texi.
17310         * doc/posix-functions/strcasecmp_l.texi: Renamed from
17311         doc/glibc-functions/strcasecmp_l.texi.
17312         * doc/posix-functions/strcoll_l.texi: Renamed from
17313         doc/glibc-functions/strcoll_l.texi.
17314         * doc/posix-functions/strfmon_l.texi: Renamed from
17315         doc/glibc-functions/strfmon_l.texi.
17316         * doc/posix-functions/strftime_l.texi: Renamed from
17317         doc/glibc-functions/strftime_l.texi.
17318         * doc/posix-functions/strncasecmp_l.texi: Renamed from
17319         doc/glibc-functions/strncasecmp_l.texi.
17320         * doc/posix-functions/strndup.texi: Renamed from
17321         doc/glibc-functions/strndup.texi.
17322         * doc/posix-functions/strnlen.texi: Renamed from
17323         doc/glibc-functions/strnlen.texi.
17324         * doc/posix-functions/strsignal.texi: Renamed from
17325         doc/glibc-functions/strsignal.texi.
17326         * doc/posix-functions/strxfrm_l.texi: Renamed from
17327         doc/glibc-functions/strxfrm_l.texi.
17328         * doc/posix-functions/timer_gettime.texi: Renamed from
17329         doc/glibc-functions/timer_gettime.texi.
17330         * doc/posix-functions/tolower_l.texi: Renamed from
17331         doc/glibc-functions/tolower_l.texi.
17332         * doc/posix-functions/toupper_l.texi: Renamed from
17333         doc/glibc-functions/toupper_l.texi.
17334         * doc/posix-functions/towctrans_l.texi: Renamed from
17335         doc/glibc-functions/towctrans_l.texi.
17336         * doc/posix-functions/towlower_l.texi: Renamed from
17337         doc/glibc-functions/towlower_l.texi.
17338         * doc/posix-functions/towupper_l.texi: Renamed from
17339         doc/glibc-functions/towupper_l.texi.
17340         * doc/posix-functions/uselocale.texi: Renamed from
17341         doc/glibc-functions/uselocale.texi.
17342         * doc/posix-functions/vdprintf.texi: Renamed from
17343         doc/glibc-functions/vdprintf.texi.
17344         * doc/posix-functions/wcpcpy.texi:
17345         Renamed from doc/glibc-functions/wcpcpy.texi.
17346         * doc/posix-functions/wcpncpy.texi: Renamed from
17347         doc/glibc-functions/wcpncpy.texi.
17348         * doc/posix-functions/wcscasecmp.texi: Renamed from
17349         doc/glibc-functions/wcscasecmp.texi.
17350         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
17351         doc/glibc-functions/wcscasecmp_l.texi.
17352         * doc/posix-functions/wcscoll_l.texi: Renamed from
17353         doc/glibc-functions/wcscoll_l.texi.
17354         * doc/posix-functions/wcsdup.texi: Renamed from
17355         doc/glibc-functions/wcsdup.texi.
17356         * doc/posix-functions/wcsncasecmp.texi: Renamed from
17357         doc/glibc-functions/wcsncasecmp.texi.
17358         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
17359         doc/glibc-functions/wcsncasecmp_l.texi.
17360         * doc/posix-functions/wcsnlen.texi: Renamed from
17361         doc/glibc-functions/wcsnlen.texi.
17362         * doc/posix-functions/wcsnrtombs.texi: Renamed from
17363         doc/glibc-functions/wcsnrtombs.texi.
17364         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
17365         doc/glibc-functions/wcsxfrm_l.texi.
17366         * doc/posix-functions/wctrans_l.texi: Renamed from
17367         doc/glibc-functions/wctrans_l.texi.
17368         * doc/posix-functions/wctype_l.texi: Renamed from
17369         doc/glibc-functions/wctype_l.texi.
17370         * doc/gnulib.texi (Function Substitutes): Add these subsections.
17371         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
17372         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
17373         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
17374         these subsections.
17375         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
17376         Remove sections.
17377
17378 2008-12-14  Bruno Haible  <bruno@clisp.org>
17379
17380         Update doc for POSIX:2008.
17381         * doc/posix-functions/*.texi: Update URL of POSIX specification.
17382
17383 2008-12-14  Bruno Haible  <bruno@clisp.org>
17384
17385         Update doc for POSIX:2008.
17386         * doc/pastposix-functions/bcmp.texi: Renamed from
17387         doc/posix-functions/bcmp.texi.
17388         * doc/pastposix-functions/bcopy.texi: Renamed from
17389         doc/posix-functions/bcopy.texi.
17390         * doc/pastposix-functions/bsd_signal.texi: Renamed from
17391         doc/posix-functions/bsd_signal.texi.
17392         * doc/pastposix-functions/bzero.texi: Renamed from
17393         doc/posix-functions/bzero.texi.
17394         * doc/pastposix-functions/ecvt.texi: Renamed from
17395         doc/posix-functions/ecvt.texi.
17396         * doc/pastposix-functions/fcvt.texi: Renamed from
17397         doc/posix-functions/fcvt.texi.
17398         * doc/pastposix-functions/ftime.texi: Renamed from
17399         doc/posix-functions/ftime.texi.
17400         * doc/pastposix-functions/gcvt.texi: Renamed from
17401         doc/posix-functions/gcvt.texi.
17402         * doc/pastposix-functions/getcontext.texi: Renamed from
17403         doc/posix-functions/getcontext.texi.
17404         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
17405         doc/posix-functions/gethostbyaddr.texi.
17406         * doc/pastposix-functions/gethostbyname.texi: Renamed from
17407         doc/posix-functions/gethostbyname.texi.
17408         * doc/pastposix-functions/getwd.texi: Renamed from
17409         doc/posix-functions/getwd.texi.
17410         * doc/pastposix-functions/h_errno.texi: Renamed from
17411         doc/posix-functions/h_errno.texi.
17412         * doc/pastposix-functions/index.texi: Renamed from
17413         doc/posix-functions/index.texi.
17414         * doc/pastposix-functions/makecontext.texi: Renamed from
17415         doc/posix-functions/makecontext.texi.
17416         * doc/pastposix-functions/mktemp.texi: Renamed from
17417         doc/posix-functions/mktemp.texi.
17418         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
17419         doc/posix-functions/pthread_attr_getstackaddr.texi.
17420         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
17421         doc/posix-functions/pthread_attr_setstackaddr.texi.
17422         * doc/pastposix-functions/rindex.texi: Renamed from
17423         doc/posix-functions/rindex.texi.
17424         * doc/pastposix-functions/scalb.texi: Renamed from
17425         doc/posix-functions/scalb.texi.
17426         * doc/pastposix-functions/setcontext.texi: Renamed from
17427         doc/posix-functions/setcontext.texi.
17428         * doc/pastposix-functions/swapcontext.texi: Renamed from
17429         doc/posix-functions/swapcontext.texi.
17430         * doc/pastposix-functions/ualarm.texi: Renamed from
17431         doc/posix-functions/ualarm.texi.
17432         * doc/pastposix-functions/usleep.texi: Renamed from
17433         doc/posix-functions/usleep.texi.
17434         * doc/pastposix-functions/vfork.texi: Renamed from
17435         doc/posix-functions/vfork.texi.
17436         * doc/pastposix-functions/wcswcs.texi: Renamed from
17437         doc/posix-functions/wcswcs.texi.
17438         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
17439         (Function Substitutes): Update.
17440
17441 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17442
17443         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
17444         m4/strerror.m4.
17445
17446 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17447             Bruno Haible  <bruno@clisp.org>
17448
17449         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
17450
17451 2008-12-13  Bruno Haible  <bruno@clisp.org>
17452
17453         * modules/strtoull (Depends-on): Remove unistd.
17454
17455 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17456
17457         * modules/strtoull (Depends-on): Add stdlib.
17458
17459 2008-12-11  Simon Josefsson  <simon@josefsson.org>
17460
17461         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
17462
17463 2008-12-10  Jim Meyering  <meyering@redhat.com>
17464
17465         gl_ASSERT: don't say assertions are disabled when they're not
17466         * m4/assert.m4 (gl_ASSERT): Do not make configure report
17467         "checking whether to enable assertions... no", when they are in
17468         fact enabled.  This is solely a bug in the output of configure.
17469         In spite of saying "no", NDEBUG was not defined in that case.
17470         Also, as noted by Eric Blake, leave assertions enabled upon
17471         --enable-assert=INVALID.
17472
17473 2008-12-10  Bruno Haible  <bruno@clisp.org>
17474
17475         Change MODULES.html to refer to POSIX:2008 where possible.
17476         * MODULES.html.sh (POSIX2008_URL): New variable.
17477         (posix_headers): Remove sys/timeb, ucontext.
17478         (posix2001_headers): New variable.
17479         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
17480         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
17481         index, makecontext, mktemp, pthread_attr_getstackaddr,
17482         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
17483         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
17484         (posix2001_functions): New variable.
17485         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
17486         otherwise.
17487
17488 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17489
17490         add missing include to parse-duration.c
17491         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
17492         * modules/parse-duration (Depends-on): Add xalloc.
17493
17494         fix sed script reading maint.mk
17495         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
17496         (syntax-check-rules): Use it.
17497
17498 2008-12-09  Bruno Haible  <bruno@clisp.org>
17499
17500         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
17501         MacOS X 10.4/PowerPC.
17502         Reported by Simon Josefsson.
17503
17504 2008-12-08  Jim Meyering  <meyering@redhat.com>
17505
17506         work around mingw's lack of some S_IF definitions
17507         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
17508         Reported by Simon Josefsson.
17509
17510 2008-12-08  Bruno Haible  <bruno@clisp.org>
17511
17512         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
17513         applied to variables. Needed on MacOS X 10.4/PowerPC.
17514         Reported by Simon Josefsson.
17515
17516 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
17517         and Eric Blake  <ebb9@byu.net>
17518
17519         assert: honor --enable-assert
17520         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
17521         order to honor --enable-assert, rather than treating it as a
17522         synonym for --disable-assert.
17523
17524 2008-12-08  Jim Meyering  <meyering@redhat.com>
17525
17526         * lib/posixtm.c: Remove now-useless declaration of mktime.
17527
17528         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
17529
17530 2008-12-07  Bruno Haible  <bruno@clisp.org>
17531
17532         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
17533         test_once): Mark functions as static.
17534         * tests/test-tls.c (test_tls): Likewise.
17535
17536 2008-12-07  Bruno Haible  <bruno@clisp.org>
17537
17538         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
17539         iconv_register_autodetect.
17540
17541 2008-12-07  Jim Meyering  <meyering@redhat.com>
17542
17543         posixtm.c: avoid a warning
17544         * lib/posixtm.c (posixtime): Don't initialize tm0.
17545         It's no longer needed to placate gcc4's -Wuninitialized,
17546         and the attempt to placate would elicit a new warning.
17547
17548         unicodeio.c: mark unused parameters
17549         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
17550         (fallback_failure_callback): Likewise.
17551
17552 2008-12-07  Bruno Haible  <bruno@clisp.org>
17553
17554         * gnulib-tool (func_create_testdir): When building the tests
17555         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
17556         Reported by Simon Josefsson.
17557
17558 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17559
17560         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
17561
17562 2008-12-06  Bruno Haible  <bruno@clisp.org>
17563
17564         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
17565         Suggested by Eric Blake.
17566
17567 2008-12-06  Bruno Haible  <bruno@clisp.org>
17568
17569         Fix a c-stack test failure on MacOS X.
17570         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
17571         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
17572         handler for SIGBUS as well.
17573         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
17574         install a signal handler for SIGBUS as well.
17575         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
17576
17577 2008-12-06  Bruno Haible  <bruno@clisp.org>
17578
17579         Advocacy documentation.
17580         * doc/gnulib-intro.texi (Benefits): New section.
17581         * doc/gnulib.texi: Update.
17582
17583 2008-12-06  Bruno Haible  <bruno@clisp.org>
17584
17585         Document the 'manywarnings' module.
17586         * doc/manywarnings.texi: New file.
17587         * doc/gnulib.texi: Include it.
17588
17589 2008-12-05  Eric Blake  <ebb9@byu.net>
17590
17591         tests: silence some gcc warnings
17592         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
17593         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
17594         type mismatches.
17595
17596 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17597             Bruno Haible  <bruno@clisp.org>
17598
17599         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
17600
17601 2008-11-29  Jim Meyering  <meyering@redhat.com>
17602
17603         unicodeio.c: mark unused parameters
17604         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
17605         (fallback_failure_callback): Likewise.
17606
17607         fts: fix a thinko
17608         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
17609         (set_stat_type): Return S_IF*-valued "type" directly.
17610         Prompted by James Youngman's spotting a related bug.
17611         Confirmed by further testing through find.
17612
17613         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
17614         * lib/fts.c (D_TYPE): Define.
17615         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
17616         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
17617         (s_ifmt_shift_bits): New function.
17618         (set_stat_type): New function.
17619         (fts_build): When not calling fts_stat, call set_stat_type
17620         to propagate dirent.d_type info to fts_read caller.
17621         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
17622         fts_statp->st_mode type information may be valid.
17623
17624 2008-11-28  Simon Josefsson  <simon@josefsson.org>
17625
17626         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
17627         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
17628         <sds@gnu.org>.
17629
17630 2008-11-20  Bruno Haible  <bruno@clisp.org>
17631
17632         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
17633         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
17634         INCLUDE_NEXT.
17635         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
17636         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
17637         * modules/math (Makefile.am): Substitute
17638         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
17639         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17640
17641 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
17642             Bruno Haible  <bruno@clisp.org>
17643
17644         * lib/stdint.in.h: Define all type macros so that their expansion is
17645         a single typedef'ed token. Fixes a compilation failure in Boost which
17646         does "using ::int8_t;".
17647
17648 2008-11-18  Simon Josefsson  <simon@josefsson.org>
17649
17650         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
17651         gl_MANYWARN_ALL_GCC.
17652         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
17653         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
17654         * modules/manywarnings: New file.
17655         * MODULES.html.sh: Mention manywarnings module.
17656
17657 2008-11-18  Bruno Haible  <bruno@clisp.org>
17658
17659         * doc/gnulib-tool.texi (Unit tests): New section.
17660
17661 2008-11-18  Simon Josefsson  <simon@josefsson.org>
17662
17663         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
17664         paths like 'lib/po/foo.po'.
17665
17666 2008-11-17  Simon Josefsson  <simon@josefsson.org>
17667
17668         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
17669         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
17670
17671 2008-11-17  Simon Josefsson  <simon@josefsson.org>
17672
17673         * m4/warnings.m4: Use CPPFLAGS to really check whether the
17674         parameter works.
17675
17676 2008-11-17  Simon Josefsson  <simon@josefsson.org>
17677
17678         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
17679
17680 2008-11-17  Bruce Korb  <bkorb@gnu.org>
17681
17682         * modules/parse-duration-tests: New file.
17683         * tests/test-parse-duration.sh: New file.
17684         * tests/test-parse-duration.c: New file.
17685
17686         New module 'parse-duration'.
17687         * lib/parse-duration.h: New file.
17688         * lib/parse-duration.c: New file.
17689         * modules/parse-duration: New file.
17690
17691 2008-11-17  Bruno Haible  <bruno@clisp.org>
17692
17693         * tests/test-select-out.sh: Comment out the first pipe test.
17694         Reported by Simon Josefsson.
17695
17696 2008-11-17  Bruno Haible  <bruno@clisp.org>
17697
17698         * modules/getaddrinfo (Depends-on): Add servent, hostent.
17699         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
17700         gl_HOSTENT.
17701
17702 2008-11-17  Bruno Haible  <bruno@clisp.org>
17703
17704         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
17705         -lnetwork and -lnet. Needed for Haiku and BeOS.
17706
17707 2008-11-16  Bruno Haible  <bruno@clisp.org>
17708
17709         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
17710
17711 2008-11-16  Bruno Haible  <bruno@clisp.org>
17712
17713         Avoid test failure on Haiku.
17714         * tests/test-fsync.c: Include <errno.h>.
17715         (main): Don't require that fsync (0) fails.
17716
17717 2008-11-15  Bruno Haible  <bruno@clisp.org>
17718
17719         New module 'hostent'.
17720         * modules/hostent: New file.
17721         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
17722
17723 2008-11-15  Bruno Haible  <bruno@clisp.org>
17724
17725         New module 'servent'.
17726         * modules/servent: New file.
17727         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
17728
17729 2008-11-15  Bruno Haible  <bruno@clisp.org>
17730
17731         Avoid generating same test program with two different rules.
17732         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
17733         test-frexp to test-frexp-nolibm.
17734         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
17735         test-frexpl to test-frexpl-nolibm.
17736
17737 2008-11-15  Bruno Haible  <bruno@clisp.org>
17738
17739         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
17740         $(FREXPL_LIBM).
17741
17742 2008-11-15  Bruno Haible  <bruno@clisp.org>
17743
17744         * lib/netdb.in.h: Activate the definitions also when the system's
17745         <netdb.h> has 'struct addrinfo'.
17746         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
17747         EAI_OVERFLOW or AI_NUMERICSERV.
17748         * doc/posix-headers/netdb.texi: Document the problem.
17749
17750 2008-11-15  Bruno Haible  <bruno@clisp.org>
17751
17752         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
17753
17754         Make the 'sched' module work on platforms where <sched.h> exists but
17755         is incomplete (such as Haiku).
17756         * lib/sched.in.h; Include the system's <sched.h> if it exists.
17757         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
17758         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
17759         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
17760         HAVE_STRUCT_SCHED_PARAM.
17761         * modules/sched (Depends-on): Add include_next.
17762         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
17763         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
17764         * doc/posix-headers/sched.texi: Document the issue.
17765
17766 2008-11-13  Jim Meyering  <meyering@redhat.com>
17767
17768         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
17769         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
17770         test would fail due to the difference in the Report bugs to ...
17771         line.  The expected address is empty, "<>", while the actual
17772         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
17773
17774 2008-11-12  Bruno Haible  <bruno@clisp.org>
17775
17776         lstat: don't compile lstat.c on systems lacking lstat
17777         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
17778         which don't have lstat; this is handled by lib/sys_stat.in.h already.
17779         Reported by Daniel P. Berrange via Jim Meyering.
17780
17781 2008-11-12  Jim Meyering  <meyering@redhat.com>
17782
17783         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
17784
17785 2008-11-12  Simon Josefsson  <simon@josefsson.org>
17786
17787         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
17788         instead.
17789
17790 2008-11-12  Bruno Haible  <bruno@clisp.org>
17791
17792         * lib/unicodeio.c: Include unistr.h.
17793         (utf8_wctomb): Remove function.
17794         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
17795
17796 2008-11-12  Simon Josefsson  <simon@josefsson.org>
17797
17798         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
17799         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
17800         <bruno@clisp.org>.
17801         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
17802
17803 2008-11-12  Simon Josefsson  <simon@josefsson.org>
17804
17805         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
17806         * doc/gnulib.texi: Add section for warnings.
17807
17808 2008-11-11  Bruno Haible  <bruno@clisp.org>
17809
17810         * lib/sockets.h: Add a comment.
17811
17812 2008-11-11  Karl Berry  <karl@gnu.org>
17813
17814         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
17815
17816 2008-11-11  Eric Blake  <ebb9@byu.net>
17817
17818         fdl.texi: avoid git symlinks
17819         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
17820
17821 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17822
17823         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
17824
17825 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17826
17827         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
17828         (gl_WARN_ADD): Substitute $2 if literal.
17829
17830 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17831
17832         * m4/warning.m4: Remove.
17833
17834 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17835
17836         * m4/warnings.m4: Almost complete rewrite. :-)
17837
17838 2008-11-10  Simon Josefsson  <simon@josefsson.org>
17839
17840         * modules/warnings: New module.
17841         * m4/warnings.m4: New file.
17842         * MODULES.html.sh: Mention warnings module.
17843         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
17844         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17845
17846 2008-11-10  Eric Blake  <ebb9@byu.net>
17847
17848         fdl.texi: make a symlink to the latest version
17849         * doc/standards.texi: Revert today's earlier change.
17850         * doc/fdl-1.2.texi: Rename from old fdl.texi...
17851         * doc/fdl.texi: ...and replace this with a symlink to the newer
17852         fdl-1.3.texi.
17853
17854 2008-11-10  Bruno Haible  <bruno@clisp.org>
17855
17856         * tests/test-select-fd.c (main): Accept the result file name as fourth
17857         argument.
17858         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
17859         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
17860
17861 2008-11-10  Bruno Haible  <bruno@clisp.org>
17862
17863         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
17864         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
17865         as autoconf-substituted macros.
17866         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
17867         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
17868         gl_NETDB_H_DEFAULTS. Set these variables.
17869         * modules/netdb (Makefile.am): Substitute these variables.
17870
17871 2008-11-10  Eric Blake  <ebb9@byu.net>
17872
17873         standards.texi: include correct file for FDL 1.3
17874         * doc/standards.texi (GNU Free Documentation License): Change
17875         include file to pull in FDL 1.3, not 1.2.
17876
17877         fdl.texi: revert accidental change to license
17878         * doc/fdl.texi: This is FDL 1.2, not 1.3.
17879
17880 2008-11-10  Bruno Haible  <bruno@clisp.org>
17881
17882         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
17883         cross-compiling guesses also when the native compile gives no result.
17884
17885 2008-11-10  Bruno Haible  <bruno@clisp.org>
17886
17887         * lib/spawni.c (__spawni): Force variable into the stack.
17888
17889 2008-11-10  Bruno Haible  <bruno@clisp.org>
17890
17891         Add support for Haiku.
17892         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
17893         glibc and BeOS, but also on Haiku.
17894         * lib/fpurge.c (fpurge): Likewise.
17895         * lib/freadable.c (freadable): Likewise.
17896         * lib/freadahead.c (freadahead): Likewise.
17897         * lib/freading.c (freading): Likewise.
17898         * lib/freadptr.c (freadptr): Likewise.
17899         * lib/freadseek.c (freadptrinc): Likewise.
17900         * lib/fseeko.c (rpl_fseeko): Likewise.
17901         * lib/fseterr.c (fseterr): Likewise.
17902         * lib/fwritable.c (fwritable): Likewise.
17903         * lib/fwriting.c (fwriting): Likewise.
17904         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
17905
17906 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
17907
17908         * lib/config.charset: Treat Haiku like BeOS.
17909
17910 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
17911
17912         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
17913         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
17914
17915 2008-11-08  Bruno Haible  <bruno@clisp.org>
17916
17917         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
17918         AC_CACHE_CHECK.
17919
17920 2008-11-08  Bruno Haible  <bruno@clisp.org>
17921
17922         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
17923
17924 2008-11-08  Bruno Haible  <bruno@clisp.org>
17925
17926         * tests/test-select-fd.c: New file.
17927         * tests/test-select-in.sh: New file.
17928         * tests/test-select-out.sh: New file.
17929         * tests/test-select-stdin.c: New file.
17930         * modules/select-tests (Files): Add the new files.
17931         (Depends-on): Add gettimeofday.
17932         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
17933         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
17934         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
17935
17936 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
17937             Bruno Haible  <bruno@clisp.org>
17938
17939         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
17940
17941 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
17942
17943         * build-aux/pmccabe2html: Added support for C++ source files.
17944
17945 2008-11-05  Ben Pfaff  <blp@gnu.org>
17946
17947         Fix lib/close.c build on Windows.
17948         * modules/close (Files): Add lib/w32sock.h.
17949
17950 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
17951
17952         Accept Bison's NEWS format.
17953         * build-aux/announce-gen (print_news_deltas): Tweak
17954         $re_prefix.
17955
17956 2008-11-04  Bruno Haible  <bruno@clisp.org>
17957
17958         * modules/random_r (Maintainer): Add glibc.
17959
17960 2008-11-04  Simon Josefsson  <simon@josefsson.org>
17961
17962         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
17963         by karl@freefriends.org (Karl Berry).
17964         * doc/alloca.texi: Likewise.
17965         * doc/c-ctype.texi: Likewise.
17966         * doc/c-strcase.texi: Likewise.
17967         * doc/c-strcaseeq.texi: Likewise.
17968         * doc/c-strcasestr.texi: Likewise.
17969         * doc/c-strstr.texi: Likewise.
17970         * doc/c-strtod.texi: Likewise.
17971         * doc/c-strtold.texi: Likewise.
17972         * doc/ctime.texi: Likewise.
17973         * doc/error.texi: Likewise.
17974         * doc/fdl.texi: Likewise.
17975         * doc/gcd.texi: Likewise.
17976         * doc/getdate.texi: Likewise.
17977         * doc/gnulib-intro.texi: Likewise.
17978         * doc/gnulib-tool.texi: Likewise.
17979         * doc/gnulib.texi: Likewise.
17980         * doc/inet_ntoa.texi: Likewise.
17981         * doc/maintain.texi: Likewise.
17982         * doc/make-stds.texi: Likewise.
17983         * doc/quote.texi: Likewise.
17984         * doc/regexprops-generic.texi: Likewise.
17985         * doc/standards.texi: Likewise.
17986         * doc/verify.texi: Likewise.
17987         * doc/visibility.texi: Likewise.
17988         * doc/gnulib.texi (GNU Free Documentation License): Include
17989         fdl-1.3.texi instead of fdl.texi.
17990
17991 2008-11-04  Simon Josefsson  <simon@josefsson.org>
17992
17993         * doc/fdl-1.3.texi: New file, from
17994         <http://www.gnu.org/licenses/fdl-1.3.texi>.
17995         * modules/fdl-1.3: Add.
17996         * MODULES.html.sh: Add fdl-1.3.
17997
17998 2008-11-03  Bruno Haible  <bruno@clisp.org>
17999
18000         Make determination of absolute name of header file work with AIX xlc.
18001         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
18002         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
18003         preprocessing.
18004         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
18005         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
18006
18007 2008-11-03  Simon Josefsson  <simon@josefsson.org>
18008
18009         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
18010         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
18011         <ludo@gnu.org>.
18012
18013 2008-11-02  Bruno Haible  <bruno@clisp.org>
18014
18015         Mark 'strpbrk' obsolete.
18016         * modules/strpbrk (Status, Notice): New sections.
18017         * modules/strtok_r (Depends-on): Add strpbrk.
18018
18019 2008-11-02  Bruno Haible  <bruno@clisp.org>
18020
18021         Mark 'strdup' obsolete.
18022         * modules/strdup (Status, Notice): New sections.
18023         * modules/findprog (Depends-on): Add strdup.
18024         * modules/getaddrinfo (Depends-on): Likewise.
18025         * modules/localename (Depends-on): Likewise.
18026         * modules/relocatable-lib (Depends-on): Likewise.
18027         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
18028         * modules/relocatable-prog (Depends-on): Likewise.
18029         * modules/trim (Depends-on): Likewise.
18030         * modules/unictype/gen-ctype (Depends-on): Likewise.
18031         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
18032
18033 2008-11-02  Bruno Haible  <bruno@clisp.org>
18034
18035         Mark 'strcspn' obsolete.
18036         * modules/strcspn (Status, Notice): New sections.
18037
18038 2008-11-02  Bruno Haible  <bruno@clisp.org>
18039
18040         Mark 'rmdir' obsolete.
18041         * modules/rmdir (Status, Notice): New sections.
18042         * modules/clean-temp (Depends-on): Add rmdir.
18043         * modules/openat (Depends-on): Likewise.
18044
18045 2008-11-02  Bruno Haible  <bruno@clisp.org>
18046
18047         Mark 'raise' obsolete.
18048         * modules/raise (Status, Notice): New sections.
18049         (Include): Specify <signal.h>.
18050         * modules/stdio (Depends-on): Add raise.
18051         * modules/write (Depends-on): Likewise.
18052
18053 2008-11-02  Bruno Haible  <bruno@clisp.org>
18054
18055         Mark 'memset' obsolete.
18056         * modules/memset (Status, Notice): New sections.
18057
18058 2008-11-02  Bruno Haible  <bruno@clisp.org>
18059
18060         Mark 'memmove' obsolete.
18061         * modules/memmove (Status, Notice): New sections.
18062         * modules/argp (Depends-on): Add memmove.
18063         * modules/argz (Depends-on): Likewise.
18064         * modules/canonicalize (Depends-on): Likewise.
18065         * modules/canonicalize-lgpl (Depends-on): Likewise.
18066         * modules/fts (Depends-on): Likewise.
18067         * modules/getcwd (Depends-on): Likewise.
18068         * modules/human (Depends-on): Likewise.
18069         * modules/regex (Depends-on): Likewise.
18070         * modules/striconveh (Depends-on): Likewise.
18071         * modules/trim (Depends-on): Likewise.
18072         * modules/unistr/u8-move (Depends-on): Likewise.
18073         * modules/unistr/u16-move (Depends-on): Likewise.
18074         * modules/unistr/u32-move (Depends-on): Likewise.
18075
18076 2008-11-02  Bruno Haible  <bruno@clisp.org>
18077
18078         Mark 'memcpy' obsolete.
18079         * modules/memcpy (Status, Notice): New sections.
18080
18081 2008-11-02  Bruno Haible  <bruno@clisp.org>
18082
18083         Mark 'memcmp' obsolete.
18084         * modules/memcmp (Status, Notice): New sections.
18085         * modules/argmatch (Depends-on): Add memchr.
18086         * modules/backupfile (Depends-on): Likewise.
18087         * modules/c-strcasestr (Depends-on): Likewise.
18088         * modules/crypto/des (Depends-on): Likewise.
18089         * modules/csharpcomp (Depends-on): Likewise.
18090         * modules/fnmatch (Depends-on): Likewise.
18091         * modules/git-merge-changelog (Depends-on): Likewise.
18092         * modules/isnand (Depends-on): Likewise.
18093         * modules/isnand-nolibm (Depends-on): Likewise.
18094         * modules/isnanf (Depends-on): Likewise.
18095         * modules/isnanf-nolibm (Depends-on): Likewise.
18096         * modules/isnanl (Depends-on): Likewise.
18097         * modules/isnanl-nolibm (Depends-on): Likewise.
18098         * modules/mbchar (Depends-on): Likewise.
18099         * modules/memcoll (Depends-on): Likewise.
18100         * modules/quotearg (Depends-on): Likewise.
18101         * modules/regex (Depends-on): Likewise.
18102         * modules/relocatable-prog (Depends-on): Likewise.
18103         * modules/same (Depends-on): Likewise.
18104         * modules/signbit (Depends-on): Likewise.
18105         * modules/strcasestr-simple (Depends-on): Likewise.
18106         * modules/unictype/gen-ctype (Depends-on): Likewise.
18107         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
18108         * modules/uniname/uniname (Depends-on): Likewise.
18109         * modules/unistr/u8-cmp (Depends-on): Likewise.
18110
18111 2008-11-02  Bruno Haible  <bruno@clisp.org>
18112
18113         Mark 'memchr' obsolete.
18114         * modules/memchr (Status, Notice): New sections.
18115         * modules/argp (Depends-on): Add memchr.
18116         * modules/base64 (Depends-on): Likewise.
18117         * modules/c-strcasestr (Depends-on): Likewise.
18118         * modules/chdir-long (Depends-on): Likewise.
18119         * modules/fnmatch (Depends-on): Likewise.
18120         * modules/getsubopt (Depends-on): Likewise.
18121         * modules/git-merge-changelog (Depends-on): Likewise.
18122         * modules/glob (Depends-on): Likewise.
18123         * modules/strcasestr-simple (Depends-on): Likewise.
18124         * modules/strnlen (Depends-on): Likewise.
18125
18126 2008-11-02  Bruno Haible  <bruno@clisp.org>
18127
18128         Mark 'atexit' obsolete.
18129         * modules/atexit (Status, Notice): New sections.
18130         * modules/chdir-long (Depends-on): Add atexit.
18131         * modules/wait-process (Depends-on): Likewise.
18132
18133 2008-11-02  Bruno Haible  <bruno@clisp.org>
18134
18135         * gnulib-tool: New option --with-obsolete.
18136         (func_usage): Document it.
18137         (func_modules_transitive_closure): Drop obsolete dependencies if
18138         incobsolete is not true.
18139         (func_import): Read and save the incobsolete variable to the cache.
18140
18141 2008-11-02  Bruno Haible  <bruno@clisp.org>
18142
18143         * modules/TEMPLATE-EXTENDED: New field 'Status'.
18144         * gnulib-tool: New option --extract-status.
18145         (func_usage): Document it.
18146         (sed_extract_prog): Recognize it.
18147         (func_get_status): New function.
18148
18149 2008-10-30  Simon Josefsson  <simon@josefsson.org>
18150
18151         * modules/sockets (License): Change from LGPL to LGPLv2+.
18152
18153 2008-10-28  Simon Josefsson  <simon@josefsson.org>
18154
18155         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
18156
18157 2008-10-28  Simon Josefsson  <simon@josefsson.org>
18158
18159         * MODULES.html.sh (Support for systems lacking POSIX:2001):
18160         Mention times and sys_times.
18161         * modules/sys_times, modules/sys_times-tests: New modules.
18162         * modules/times, modules/times-tests: Likewise
18163         * m4/sys_times_h.m4: New file.
18164         * lib/sys_times.in.h: Likewise
18165         * lib/times.c: Likewise.
18166         * tests/test-sys_times.c: Likewise.
18167         * tests/test-times.c: Likewise.
18168         * doc/posix-headers/sys_times.texi: Update.
18169         * doc/posix-functions/times.texi: Update.
18170
18171 2008-10-28  Jim Meyering  <meyering@redhat.com>
18172
18173         * modules/tempname (Depends-on): Add lstat.
18174
18175         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
18176
18177 2008-10-28  Simon Josefsson  <simon@josefsson.org>
18178
18179         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
18180         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
18181         using idiom used elsewhere in gnulib.
18182
18183 2008-10-27  Jim Meyering  <meyering@redhat.com>
18184
18185         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
18186
18187 2008-10-27  Simon Josefsson  <simon@josefsson.org>
18188
18189         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
18190         TESTS_ENVIRONMENT, for shell scripts that needs to call built
18191         programs.
18192         * tests/test-argp-2.sh: Use $EXEEXT when needed.
18193
18194 2008-10-27  Simon Josefsson  <simon@josefsson.org>
18195
18196         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
18197
18198 2008-10-27  Bruno Haible  <bruno@clisp.org>
18199
18200         * tests/test-lstat.c: Include <stdio.h>.
18201
18202 2008-10-27  Simon Josefsson  <simon@josefsson.org>
18203
18204         * modules/lstat-tests: New module.
18205         * tests/test-lstat.c: New file.
18206
18207 2008-10-26  Jim Meyering  <meyering@redhat.com>
18208
18209         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
18210
18211 2008-10-26  Simon Josefsson  <simon@josefsson.org>
18212             Bruno Haible  <bruno@clisp.org>
18213
18214         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
18215         * modules/configmake (Include): Add a note that the include must come
18216         after all system headers.
18217         * lib/javaversion.c: Include configmake.h after all other includes.
18218
18219 2008-10-26  Bruno Haible  <bruno@clisp.org>
18220
18221         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
18222         HAVE_STRUCT_RANDOM_DATA to 1.
18223         (gl_STDLIB_H): Simplify.
18224
18225 2008-10-26  Simon Josefsson  <simon@josefsson.org>
18226
18227         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
18228         substitute HAVE_STRUCT_RANDOM_DATA.
18229         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
18230         random_data.
18231         * modules/stdlib (Makefile.am): Substitute
18232         HAVE_STRUCT_RANDOM_DATA.
18233
18234 2008-10-26  Simon Josefsson  <simon@josefsson.org>
18235
18236         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
18237         * doc/gnulib-intro.texi (Copyright): Likewise.
18238
18239 2008-10-26  Simon Josefsson  <simon@josefsson.org>
18240
18241         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
18242         findings.
18243
18244 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
18245             Bruno Haible  <bruno@clisp.org>
18246
18247         * lib/unistd.in.h: Include <winsock2.h>.
18248         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
18249         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
18250         Provide dummy declarations.
18251         (gethostname): Override.
18252         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
18253         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
18254         gl_PREREQ_SYS_H_WINSOCK2.
18255         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
18256         * doc/posix-functions/gethostname.texi: More details.
18257
18258 2008-10-25  Bruno Haible  <bruno@clisp.org>
18259
18260         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
18261         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
18262         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
18263
18264         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
18265         here ...
18266         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
18267         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
18268         gl_UNISTD_H_DEFAULTS.
18269
18270 2008-10-25  Eric Blake  <ebb9@byu.net>
18271
18272         signbit: avoid spurious compiler failure
18273         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
18274         declarations inside function.
18275
18276 2008-10-24  Simon Josefsson  <simon@josefsson.org>
18277             Bruno Haible  <bruno@clisp.org>
18278
18279         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
18280         * modules/random_r (Depends-on): Add stdint.
18281
18282 2008-10-24  Bruno Haible  <bruno@clisp.org>
18283
18284         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
18285         Eggert.
18286         * modules/strerror (License): Likewise.
18287
18288 2008-10-24  Jim Meyering  <meyering@redhat.com>
18289
18290         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
18291         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
18292
18293 2008-10-24  Eric Blake  <ebb9@byu.net>
18294
18295         getgroups: fix compilation when getgroups is available
18296         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
18297         but with <config.h> override of getgroups disabled.
18298
18299 2008-10-24  Simon Josefsson  <simon@josefsson.org>
18300
18301         * doc/gnulib.texi (Header files): Add note about C++ problems.
18302         Explained by Bruno Haible <bruno@clisp.org>.
18303
18304 2008-10-23  Bruno Haible  <bruno@clisp.org>
18305
18306         Define a dummy SA_NODEFER macro on Interix.
18307         * lib/signal.in.h (SA_NODEFER): Define fallback.
18308         Reported by Aleksey Cheusov <cheusov@tut.by> via
18309         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
18310
18311 2008-10-23  Bruno Haible  <bruno@clisp.org>
18312
18313         * modules/freadahead (License): Change to LGPLv2+.
18314         Suggested by Simon Josefsson.
18315
18316 2008-10-23  Jim Meyering  <meyering@redhat.com>
18317
18318         random_r: new module
18319         * modules/random_r: New file.
18320         * m4/random_r.m4: New file.
18321         * lib/random_r.c: New file, from glibc.
18322         * modules/random_r-tests: New file.
18323         * tests/test-random_r.c: New file.
18324         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
18325          Declare.
18326         (RAND_MAX): Define.
18327         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
18328         * modules/stdlib: Substitute them, too.
18329         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
18330         * doc/glibc-functions/initstate_r.texi: Mention the new module.
18331         * doc/glibc-functions/random_r.texi: Likewise.
18332         * doc/glibc-functions/setstate_r.texi: Likewise.
18333         * doc/glibc-functions/srandom_r.texi: Likewise.
18334         * config/srclist.txt: Mention it.
18335
18336 2008-10-23  David Lutterkort  <lutter@redhat.com>
18337
18338         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
18339         link requirement
18340
18341 2008-10-23  Jim Meyering  <meyering@redhat.com>
18342
18343         selinux-h: mark parameters of stub functions as intentionally unused
18344         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
18345         * lib/se-context.in.h: Likewise.
18346
18347 2008-10-22  Simon Josefsson  <simon@josefsson.org>
18348
18349         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
18350
18351 2008-10-22  Simon Josefsson  <simon@josefsson.org>
18352
18353         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
18354
18355 2008-10-22  Eric Blake  <ebb9@byu.net>
18356
18357         glthread/thread: avoid compiler warning
18358         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
18359         Add unreachable abort to silence compiler.
18360
18361 2008-10-22  Eric Blake  <ebb9@byu.net>
18362
18363         netdb: also supply struct addrinfo for cygwin 1.5.x
18364         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
18365         older cygwin.
18366         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
18367         cygwin.
18368         * doc/posix-headers/netdb.texi (netdb.h): Document this.
18369
18370 2008-10-22  Bruno Haible  <bruno@clisp.org>
18371
18372         * users.txt: Update entry about pspp.
18373
18374 2008-10-21  Bruno Haible  <bruno@clisp.org>
18375
18376         Simplification.
18377         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
18378         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
18379
18380         Simplification.
18381         * lib/ioctl.c (ioctl): Don't undefine.
18382         * lib/socket.c (socket): Don't undefine.
18383
18384         Remove unused module indicator macros.
18385         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
18386         GNULIB_$1 as a C macro.
18387
18388         * doc/posix-functions/close.texi: Undo last change.
18389         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
18390         Windows platforms.
18391
18392 2008-10-21  Bruno Haible  <bruno@clisp.org>
18393
18394         Add gethostname() declaration to <unistd.h>.
18395         * lib/unistd.in.h (gethostname): New declaration.
18396         * lib/gethostname.c: Include <unistd.h>.
18397         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
18398         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
18399         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
18400         and HAVE_GETHOSTNAME.
18401         * modules/gethostname (Depends-on): Add unistd.
18402         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18403         (Include): Specify <unistd.h>.
18404         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
18405         HAVE_GETHOSTNAME.
18406         * tests/test-gethostname.c: Include <unistd.h> first.
18407
18408 2008-10-21  Bruno Haible  <bruno@clisp.org>
18409
18410         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
18411         * modules/select-tests (Depends-on): Likewise.
18412         Reported by Simon Josefsson.
18413
18414 2008-10-21  Simon Josefsson  <simon@josefsson.org>
18415
18416         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
18417         * lib/accept.c: New file, based on winsock.c.
18418         * lib/bind.c: New file, based on winsock.c.
18419         * lib/connect.c: New file, based on winsock.c.
18420         * lib/getpeername.c: New file, based on winsock.c.
18421         * lib/getsockname.c: New file, based on winsock.c.
18422         * lib/getsockopt.c: New file, based on winsock.c.
18423         * lib/ioctl.c: New file, based on winsock.c.
18424         * lib/listen.c: New file, based on winsock.c.
18425         * lib/recv.c: New file, based on winsock.c.
18426         * lib/recvfrom.c: New file, based on winsock.c.
18427         * lib/send.c: New file, based on winsock.c.
18428         * lib/sendto.c: New file, based on winsock.c.
18429         * lib/setsockopt.c: New file, based on winsock.c.
18430         * lib/shutdown.c: New file, based on winsock.c.
18431         * lib/socket.c: New file, based on winsock.c.
18432         * lib/w32sock.h: New file, based on winsock.c.
18433         * lib/winsock.c: Remove file.
18434         * modules/accept: Likewise.
18435         * modules/bind: Likewise.
18436         * modules/connect: Likewise.
18437         * modules/getpeername: Likewise.
18438         * modules/getsockname: Likewise.
18439         * modules/getsockopt: Likewise.
18440         * modules/ioctl: Likewise.
18441         * modules/listen: Likewise.
18442         * modules/recv: Likewise.
18443         * modules/recvfrom: Likewise.
18444         * modules/send: Likewise.
18445         * modules/sendto: Likewise.
18446         * modules/setsockopt: Likewise.
18447         * modules/shutdown: Likewise.
18448         * modules/socket: Use socket.c instead of winsock.c.
18449         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
18450         * doc/posix-functions/accept.texi: Doc fix.
18451         * doc/posix-functions/bind.texi: Doc fix.
18452         * doc/posix-functions/close.texi: Doc fix.
18453         * doc/posix-functions/connect.texi: Doc fix.
18454         * doc/posix-functions/getpeername.texi: Doc fix.
18455         * doc/posix-functions/getsockname.texi: Doc fix.
18456         * doc/posix-functions/getsockopt.texi: Doc fix.
18457         * doc/posix-functions/ioctl.texi: Doc fix.
18458         * doc/posix-functions/listen.texi: Doc fix.
18459         * doc/posix-functions/recv.texi: Doc fix.
18460         * doc/posix-functions/recvfrom.texi: Doc fix.
18461         * doc/posix-functions/send.texi: Doc fix.
18462         * doc/posix-functions/sendto.texi: Doc fix.
18463         * doc/posix-functions/setsockopt.texi: Doc fix.
18464         * doc/posix-functions/shutdown.texi: Doc fix.
18465         * doc/posix-functions/socket.texi: Doc fix.
18466
18467 2008-10-20  Bruno Haible  <bruno@clisp.org>
18468
18469         Take into account the role of SIGABRT_COMPAT on Windows 2008.
18470         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
18471         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
18472         as an alias for SIGABRT.
18473         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
18474         (sigaction): Map it to SIGABRT.
18475         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
18476
18477 2008-10-20  Bruno Haible  <bruno@clisp.org>
18478
18479         * lib/fts.c: Don't include lstat.h.
18480         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
18481
18482         Move the lstat() declaration to <sys/stat.h>.
18483         * lib/lstat.h: Remove file.
18484         * lib/sys_stat.in.h: Add special invocation convention.
18485         (lstat): New declaration.
18486         * lib/lstat.c (orig_lstat): New function.
18487         (rpl_lstat): Use orig_lstat instead of lstat.
18488         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
18489         AC_C_INLINE. Set REPLACE_LSTAT.
18490         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
18491         and REPLACE_LSTAT.
18492         * modules/lstat (Files): Remove lib/lstat.h.
18493         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
18494         (Include): Specify <sys/stat.h> instead of lstat.h.
18495         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
18496         REPLACE_LSTAT.
18497         * NEWS: Mention the change.
18498
18499 2008-10-20  Bruno Haible  <bruno@clisp.org>
18500
18501         * modules/posix_spawn-tests: New file.
18502         * tests/test-posix_spawn3.c: New file.
18503
18504 2008-10-20  Bruno Haible  <bruno@clisp.org>
18505
18506         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
18507         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
18508         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
18509         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
18510         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
18511
18512 2008-10-20  Bruno Haible  <bruno@clisp.org>
18513
18514         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
18515         of posix_spawn on AIX 5.3.
18516
18517 2008-10-20  Bruno Haible  <bruno@clisp.org>
18518
18519         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
18520
18521 2008-10-20  Bruno Haible  <bruno@clisp.org>
18522
18523         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
18524         of AC_LANG_PROGRAM.
18525
18526 2008-10-20  Simon Josefsson  <simon@josefsson.org>
18527
18528         * lib/netdb.in.h: Don't define GNU specific constants until they
18529         are supported or needed.  Reported by Bruno Haible
18530         <bruno@clisp.org>.
18531
18532 2008-10-20  Simon Josefsson  <simon@josefsson.org>
18533
18534         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
18535
18536 2008-10-20  Simon Josefsson  <simon@josefsson.org>
18537
18538         * lib/getaddrinfo.h: Remove file.
18539         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
18540         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
18541         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
18542         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
18543         * modules/netdb: Substitute GNULIB_GETADDRINFO.
18544         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
18545         * tests/test-getaddrinfo.c: Likewise.
18546         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
18547         * NEWS: Mention change.
18548
18549 2008-10-19  Bruno Haible  <bruno@clisp.org>
18550
18551         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
18552
18553 2008-10-19  Bruno Haible  <bruno@clisp.org>
18554
18555         * lib/wait-process.c: Include simply <sys/wait.h>.
18556         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
18557         WIFSTOPPED): Remove fallback definitions.
18558         * modules/wait-process (Depends-on): Add sys_wait.
18559
18560         New module 'sys_wait'.
18561         * modules/sys_wait: New file.
18562         * lib/sys_wait.in.h: New file, partially copied from
18563         lib/wait-process.c.
18564         * m4/sys_wait_h.m4: New file.
18565         * doc/posix-headers/sys_wait.texi: Mention the new module.
18566
18567 2008-10-19  Bruno Haible  <bruno@clisp.org>
18568
18569         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
18570
18571 2008-10-19  Bruno Haible  <bruno@clisp.org>
18572
18573         Assume that waitpid() fills an 'int' status, not a 'union wait'.
18574         * lib/wait-process.c (WAIT_T): Remove type.
18575         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
18576         (wait_subprocess): Update.
18577
18578 2008-10-19  Bruno Haible  <bruno@clisp.org>
18579
18580         New module 'atoll'.
18581         * modules/atoll: New file.
18582         * lib/stdlib.in.h (atoll): New declaration.
18583         * lib/atoll.c: New file, from glibc with modifications.
18584         * m4/atoll.m4: New file.
18585         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
18586         HAVE_ATOLL.
18587         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
18588         * doc/posix-functions/atoll.texi: Mention the new module.
18589
18590 2008-10-19  Bruno Haible  <bruno@clisp.org>
18591
18592         Add strtoull() declaration to <stdlib.h>.
18593         * lib/stdlib.in.h (strtoull): New declaration.
18594         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
18595         Set HAVE_STRTOULL.
18596         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
18597         HAVE_STRTOULL.
18598         * modules/strtoull (Depends-on): Add stdlib.
18599         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
18600         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
18601         HAVE_STRTOULL.
18602
18603 2008-10-19  Bruno Haible  <bruno@clisp.org>
18604
18605         Add strtoll() declaration to <stdlib.h>.
18606         * lib/stdlib.in.h (strtoll): New declaration.
18607         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
18608         Set HAVE_STRTOLL.
18609         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
18610         HAVE_STRTOLL.
18611         * modules/strtoll (Depends-on): Add stdlib.
18612         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
18613         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
18614
18615 2008-10-19  Bruno Haible  <bruno@clisp.org>
18616
18617         * modules/bcopy (Depends-on): Add strings.
18618         (Include): Specify <strings.h>.
18619
18620 2008-10-19  Bruno Haible  <bruno@clisp.org>
18621
18622         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
18623
18624 2008-10-19  Bruno Haible  <bruno@clisp.org>
18625
18626         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
18627         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
18628         mingw.
18629
18630 2008-10-19  Bruno Haible  <bruno@clisp.org>
18631
18632         * lib/atanl.c: Don't include isnanl.h.
18633         * lib/cosl.c: Likewise.
18634         * lib/ldexpl.c: Likewise.
18635         * lib/logl.c: Likewise.
18636         * lib/sinl.c: Likewise.
18637         * lib/sqrtl.c: Likewise.
18638         * lib/tanl.c: Likewise.
18639
18640         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
18641         * lib/isnanf.h: Remove file.
18642         * lib/isnand.h: Remove file.
18643         * lib/isnanl.h: Remove file.
18644         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
18645         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
18646         macros.
18647         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
18648         HAVE_ISNANF, don't define it as a C macro.
18649         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
18650         HAVE_ISNAND, don't define it as a C macro.
18651         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
18652         HAVE_ISNANL, don't define it as a C macro.
18653         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
18654         HAVE_ISNAN[FDL].
18655         * modules/isnanf (Files): Remove lib/isnanf.h.
18656         (Depends-on): Add math.
18657         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
18658         (Include): Specify <math.h> instead of isnanf.h.
18659         * modules/isnand (Files): Remove lib/isnand.h.
18660         (Depends-on): Add math.
18661         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
18662         (Include): Specify <math.h> instead of isnand.h.
18663         * modules/isnanl (Files): Remove lib/isnanl.h.
18664         (Depends-on): Add math.
18665         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
18666         (Include): Specify <math.h> instead of isnanl.h.
18667         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
18668         HAVE_ISNAN[FDL].
18669         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
18670         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
18671         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
18672         * NEWS: Mention the change.
18673
18674 2008-10-18  Bruno Haible  <bruno@clisp.org>
18675
18676         Add getusershell(), setusershell(), endusershell() declarations to
18677         <unistd.h>.
18678         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
18679         declarations.
18680         * lib/getusershell.c: Include unistd.h.
18681         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
18682         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
18683         HAVE_GETUSERSHELL.
18684         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
18685         and HAVE_GETUSERSHELL.
18686         * modules/getusershell (Depends-on): Add unistd, extensions.
18687         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18688         (Include): Specify <unistd.h>.
18689         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
18690         HAVE_GETUSERSHELL.
18691
18692 2008-10-18  Bruno Haible  <bruno@clisp.org>
18693
18694         Add a getloadavg() declaration to <stdlib.h>.
18695         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
18696         getloadavg declaration.
18697         (getloadavg): New declaration.
18698         * lib/getloadavg.c: Include <stdlib.h> first.
18699         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
18700         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
18701         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
18702         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
18703         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
18704         * modules/getloadavg (Depends-on): Add stdlib, extensions.
18705         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
18706         (Include): Specify <stdlib.h>.
18707         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
18708         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
18709
18710 2008-10-18  Bruno Haible  <bruno@clisp.org>
18711
18712         * lib/dirchownmod.c: Don't include lchmod.h.
18713
18714         Move the lchmod() declaration to <sys/stat.h>.
18715         * lib/lchmod.h: Remove file.
18716         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
18717         (lchmod): New declaration, moved here from lib/lchown.h.
18718         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
18719         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
18720         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
18721         and HAVE_LCHMOD.
18722         * modules/lchmod (Files): Remove lib/lchmod.h.
18723         (Depends-on): Add sys_stat, extensions.
18724         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
18725         (Include): Specify <sys/stat.h> instead of lchmod.h.
18726         * modules/sys_stat (Depends-on): Add link-warning.
18727         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
18728         definition of GL_LINK_WARNING.
18729         * NEWS: Mention the change.
18730
18731 2008-10-18  Bruno Haible  <bruno@clisp.org>
18732
18733         * lib/fchdir.c: Don't include dirfd.h.
18734         * lib/fts.c: Likewise.
18735         * lib/getcwd.c: Likewise.
18736         * lib/glob.c: Likewise.
18737
18738         Move the dirfd() declaration to <dirent.h>.
18739         * lib/dirfd.h: Remove file.
18740         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
18741         (dirfd): New declaration.
18742         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
18743         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
18744         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
18745         HAVE_DECL_DIRFD.
18746         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
18747         HAVE_DECL_DIRFD.
18748         * modules/dirfd (Files): Remove lib/dirfd.h.
18749         (Depends-on): Add dirent, extensions.
18750         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
18751         (Include): Specify <dirent.h> instead of dirfd.h.
18752         * modules/dirent (Depends-on): Add link-warning.
18753         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
18754         definition of GL_LINK_WARNING.
18755         * NEWS: Mention the change.
18756
18757 2008-10-18  Bruno Haible  <bruno@clisp.org>
18758
18759         Move the euidaccess() declaration to <unistd.h>.
18760         * lib/euidaccess.h: Remove file.
18761         * lib/unistd.in.h (euidaccess): New declaration.
18762         * lib/euidaccess.c: Don't include euidaccess.h.
18763         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
18764         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
18765         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
18766         and HAVE_EUIDACCESS.
18767         * modules/euidaccess (Files): Remove lib/euidaccess.h.
18768         (Depends-on): Add unistd.
18769         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18770         (Include): Specify <unistd.h> instead of euidaccess.h.
18771         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
18772         HAVE_EUIDACCESS.
18773         * NEWS: Mention the change.
18774
18775 2008-10-18  Bruno Haible  <bruno@clisp.org>
18776
18777         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
18778
18779         Move the getdomainname() declaration to <unistd.h>.
18780         * lib/getdomainname.h: Remove file.
18781         * lib/unistd.in.h (getdomainname): New declaration.
18782         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
18783         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
18784         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
18785         HAVE_GETDOMAINNAME.
18786         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18787         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
18788         * modules/getdomainname (Files): Remove lib/getdomainname.h.
18789         (Depends-on): Add unistd, extensions.
18790         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18791         (Includes): Specify <unistd.h> instead of getdomainname.h.
18792         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
18793         HAVE_GETDOMAINNAME.
18794         * NEWS: Mention the change.
18795
18796 2008-10-18  Bruno Haible  <bruno@clisp.org>
18797
18798         * modules/dirent: New file.
18799         * m4/dirent_h.m4: New file.
18800         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
18801         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
18802         * modules/fchdir (Files): Remove lib/dirent.in.h.
18803         (Depends-on): Add dirent.
18804         (Makefile.am): Move rules to modules/dirent.
18805         * doc/posix-headers/dirent.texi: Mention the new module.
18806
18807 2008-10-18  Bruno Haible  <bruno@clisp.org>
18808
18809         Avoid -Wunused-parameter warnings in public gnulib header files.
18810         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
18811         macro.
18812         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
18813
18814 2008-10-18  Bruno Haible  <bruno@clisp.org>
18815
18816         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
18817         * doc/glibc-functions/error.texi: Mention the module 'error'.
18818         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
18819         * doc/glibc-functions/getdomainname.texi: Mention the module
18820         'getdomainname'.
18821         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
18822         * doc/glibc-functions/getpagesize.texi: Mention the module
18823         'getpagesize'.
18824         * doc/glibc-functions/getusershell.texi: Mention the module
18825         'getusershell'.
18826         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
18827         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
18828         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
18829         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
18830         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
18831         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
18832         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
18833         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
18834         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
18835         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
18836         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
18837         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
18838         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
18839         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
18840
18841 2008-10-17  Bruno Haible  <bruno@clisp.org>
18842
18843         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
18844         HP-UX and IRIX, use -0.0L.
18845         * tests/test-ceill.c (minus_zero): Likewise.
18846         * tests/test-floorl.c (minus_zero): Likewise.
18847         * tests/test-frexpl.c (minus_zero): Likewise.
18848         * tests/test-isnan.c (minus_zerol): Likewise.
18849         * tests/test-isnanl.h (minus_zero): Likewise.
18850         * tests/test-ldexpl.c (minus_zero): Likewise.
18851         * tests/test-roundl.c (minus_zero): Likewise.
18852         * tests/test-signbit.c (minus_zerol): Likewise.
18853         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
18854         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
18855         * tests/test-truncl.c (minus_zero): Likewise.
18856         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
18857         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
18858         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
18859         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
18860
18861 2008-10-17  Bruno Haible  <bruno@clisp.org>
18862
18863         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
18864         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
18865         that it gets activated only for gcc >= 3.0.
18866         * lib/dirent.in.h: Likewise.
18867         * lib/errno.in.h: Likewise.
18868         * lib/fcntl.in.h: Likewise.
18869         * lib/float.in.h: Likewise.
18870         * lib/iconv.in.h: Likewise.
18871         * lib/inttypes.in.h: Likewise.
18872         * lib/locale.in.h: Likewise.
18873         * lib/math.in.h: Likewise.
18874         * lib/netdb.in.h: Likewise.
18875         * lib/netinet_in.in.h: Likewise.
18876         * lib/search.in.h: Likewise.
18877         * lib/signal.in.h: Likewise.
18878         * lib/spawn.in.h: Likewise.
18879         * lib/stdarg.in.h: Likewise.
18880         * lib/stdint.in.h: Likewise.
18881         * lib/stdio.in.h: Likewise.
18882         * lib/stdlib.in.h: Likewise.
18883         * lib/string.in.h: Likewise.
18884         * lib/strings.in.h: Likewise.
18885         * lib/sys_file.in.h: Likewise.
18886         * lib/sys_ioctl.in.h: Likewise.
18887         * lib/sys_select.in.h: Likewise.
18888         * lib/sys_socket.in.h: Likewise.
18889         * lib/sys_stat.in.h: Likewise.
18890         * lib/sys_time.in.h: Likewise.
18891         * lib/sysexits.in.h: Likewise.
18892         * lib/time.in.h: Likewise.
18893         * lib/unistd.in.h: Likewise.
18894         * lib/wchar.in.h: Likewise.
18895         * lib/wctype.in.h: Likewise.
18896         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
18897
18898 2008-10-17  Jim Meyering  <meyering@redhat.com>
18899
18900         ignore-value: don't depend on inline module
18901         * modules/ignore-value (Depends-on): Remove 'inline'.
18902         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
18903         Suggestion from Bruno Haible.
18904
18905 2008-10-17  Bruno Haible  <bruno@clisp.org>
18906
18907         New implementation of condition variables for Win32.
18908         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
18909         (gl_linked_waitqueue_t): New type.
18910         (gl_cond_t): Use it.
18911         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
18912         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
18913         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
18914         (glthread_cond_init_func, glthread_cond_wait_func,
18915         glthread_cond_timedwait_func, glthread_cond_signal_func,
18916         glthread_cond_broadcast_func, glthread_cond_destroy_func):
18917         Reimplemented on the basis of gl_linked_waitqueue_t.
18918         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
18919         gl_waitqueue_t.
18920         (gl_rwlock_t): Update.
18921         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
18922
18923 2008-10-17  Simon Josefsson  <simon@josefsson.org>
18924
18925         * modules/recvfrom (Depends-on): Add dependency on getpeername.
18926         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
18927
18928 2008-10-17  Jim Meyering  <meyering@redhat.com>
18929
18930         ignore-value: new module
18931         * modules/ignore-value: New file.
18932         * lib/ignore-value.h: New file.
18933         * MODULES.html.sh (Compiler warning management): New section,
18934         just for this module.  More to come.
18935
18936 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
18937
18938         open-safer.c: avoid 'signed and unsigned in conditional...' warning
18939         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
18940         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
18941
18942 2008-10-16  Jim Meyering  <meyering@redhat.com>
18943
18944         openat-die.c: avoid 'no previous prototype' warning
18945         * lib/openat-die.c: Include "openat.h".
18946         Reported by Reuben Thomas <rrt@sc3d.org>.
18947
18948 2008-10-16  Simon Josefsson  <simon@josefsson.org>
18949
18950         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
18951         * lib/netdb.in.h: Fix typo.
18952         Reported by Bruno Haible  <bruno@clisp.org>
18953
18954         * lib/netdb.in.h: Include sys/socket.h for platforms without
18955         netdb.h, to get structures like hostent on MinGW.
18956         * modules/netdb (Depends-on): Add sys_socket.
18957
18958 2008-10-15  Simon Josefsson  <simon@josefsson.org>
18959
18960         * modules/netdb, modules/netdb-tests: New file.
18961         * m4/netdb_h.m4: New file.
18962         * lib/netdb.in.h: Add, currently just an empty file pending
18963         definitions.
18964         * tests/test-netdb.c: New file.
18965         * doc/posix-headers/netdb.texi: Mention that we replace it if
18966         needed.
18967         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18968         netdb.
18969
18970 2008-10-15  Simon Josefsson  <simon@josefsson.org>
18971
18972         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
18973         with code.
18974
18975 2008-10-13  Bruno Haible  <bruno@clisp.org>
18976
18977         * lib/glthread/cond.c (glthread_cond_wait_func,
18978         glthread_cond_timedwait_func): Add a comment.
18979
18980 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18981
18982         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
18983         * tests/test-select.c: Likewise,
18984
18985 2008-10-13  Bruno Haible  <bruno@clisp.org>
18986
18987         * lib/glthread/cond.c (glthread_cond_wait_func,
18988         glthread_cond_timedwait_func): Fix variable name.
18989         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
18990
18991 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
18992
18993         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
18994         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
18995         struct sockaddr.sa_len.
18996         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
18997
18998 2008-10-13  Simon Josefsson  <simon@josefsson.org>
18999
19000         * build-aux/pmccabe2html: Add css and css_url parameters.
19001
19002 2008-10-12  Bruno Haible  <bruno@clisp.org>
19003
19004         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
19005         calling aclx_get.
19006         Reported by Rainer Tammer <tammer@tammer.net>.
19007
19008 2008-10-12  Bruno Haible  <bruno@clisp.org>
19009
19010         Use msvcrt aware primitives for creation/termination of Win32 threads.
19011         * lib/glthread/thread.c: Include <process.h>.
19012         (glthread_create_func): Use _beginthreadex instead of CreateThread.
19013         (wrapper_func): Update signature.
19014         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
19015
19016 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
19017             Bruno Haible  <bruno@clisp.org>
19018
19019         Provide a Win32 implementation of the 'cond' module.
19020         * lib/glthread/cond.h [USE_WIN32]: New implementation.
19021         * lib/glthread/cond.c (glthread_cond_init_func,
19022         glthread_cond_wait_func, glthread_cond_timedwait_func,
19023         glthread_cond_signal_func, glthread_cond_broadcast_func,
19024         glthread_cond_destroy_func) [USE_WIN32]: New functions.
19025         * modules/cond (Dependencies): Add gettimeofday.
19026
19027 2008-10-11  Bruno Haible  <bruno@clisp.org>
19028
19029         Make sleep work on older versions of mingw.
19030         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
19031         only whether it exists.
19032         * doc/posix-functions/sleep.texi: Mention the problem with older
19033         versions of mingw.
19034
19035 2008-10-11  Bruno Haible  <bruno@clisp.org>
19036
19037         New module 'shutdown'.
19038         * modules/shutdown: New file.
19039         * lib/sys_socket.in.h (shutdown): New declaration.
19040         * lib/winsock.c (shutdown): New function.
19041         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
19042         GNULIB_SHUTDOWN.
19043         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
19044         * doc/posix-functions/shutdown.texi: Document the new module.
19045
19046 2008-10-11  Jim Meyering  <meyering@redhat.com>
19047
19048         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
19049
19050 2008-10-11  Bruno Haible  <bruno@clisp.org>
19051
19052         New module 'fclose'.
19053         * modules/fclose: New file.
19054         * lib/stdio.in.h (fclose): New declaration.
19055         * lib/fclose.c: New file.
19056         * m4/fclose.m4: New file.
19057         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
19058         REPLACE_FCLOSE.
19059         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
19060         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
19061         REPLACE_FCLOSE.
19062         * modules/close (Depends-on): fclose.
19063         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
19064
19065 2008-10-11  Bruno Haible  <bruno@clisp.org>
19066
19067         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
19068         set errno and don't call _close.
19069
19070 2008-10-10  Bruno Haible  <bruno@clisp.org>
19071
19072         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
19073         ACL, not afterwards. Fixes test failure on Cygwin.
19074
19075 2008-10-09  Ben Pfaff  <blp@gnu.org>
19076
19077         * build-aux/announce-gen: Fix gnulib version related part of usage
19078         message.  Die with a useful error message if no tarballs are
19079         found.
19080
19081 2008-10-10  Jim Meyering  <meyering@redhat.com>
19082
19083         bootstrap: use git's --depth=N option only if it's supported
19084         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
19085         recognize the --depth option.  Reported by Pádraig Brady.
19086
19087 2008-10-09  Bruno Haible  <bruno@clisp.org>
19088
19089         New module 'ioctl'.
19090         * modules/ioctl: New file.
19091         * lib/sys_socket.in.h (ioctl): Remove declaration.
19092         * lib/winsock.c: Include <sys/ioctl.h>.
19093         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
19094         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
19095         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
19096         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
19097         * doc/posix-functions/ioctl.texi: Mention the new module.
19098
19099 2008-10-09  Bruno Haible  <bruno@clisp.org>
19100
19101         New module 'sys_ioctl'.
19102         * lib/sys_ioctl.in.h: New file.
19103         * m4/sys_ioctl_h.m4: New file.
19104         * modules/sys_ioctl: New file.
19105         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
19106
19107 2008-10-09  Bruno Haible  <bruno@clisp.org>
19108
19109         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
19110         * lib/winsock.c: Include <stdarg.h>.
19111         (rpl_ioctl): Change to second argument 'int' and then varargs.
19112
19113 2008-10-09  Bruno Haible  <bruno@clisp.org>
19114
19115         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
19116         when the sys_socket module is present and the system has <winsock2.h>.
19117
19118 2008-10-09  Bruno Haible  <bruno@clisp.org>
19119
19120         * doc/posix-functions/close.texi: Mention module 'close' instead of
19121         module 'sys_socket'.
19122
19123 2008-10-09  Bruno Haible  <bruno@clisp.org>
19124
19125         * doc/glibc-headers/sys_ioctl.texi: New file.
19126         * doc/gnulib.texi: Include it.
19127
19128 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
19129             Bruno Haible  <bruno@clisp.org>
19130
19131         Combine the two replacements of 'close'.
19132         * lib/sys_socket.in.h (close): Define to a reminder to include
19133         <unistd.h>.
19134         (_gl_close_fd_maybe_socket): New declaration.
19135         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
19136         * lib/winsock.c (close): Remove undefinition.
19137         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
19138         needed for the gnulib module 'close'.
19139         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
19140         define to an error symbol or to a warning, if suitable.
19141         * lib/close.c: Include <sys/socket.h>.
19142         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
19143         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
19144         UNISTD_H_HAVE_WINSOCK2_H.
19145         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
19146         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19147         UNISTD_H_HAVE_WINSOCK2_H.
19148         * modules/sys_socket (Files): Add m4/unistd_h.m4.
19149         (configure.ac): Set a module indicator.
19150         (Makefile.am): Substitute GNULIB_CLOSE.
19151         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
19152         * modules/poll-tests (Depends-on): Add close.
19153         * modules/select-tests (Depends-on): Likewise.
19154
19155 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
19156             Bruno Haible  <bruno@clisp.org>
19157
19158         New module 'close'.
19159         * modules/close: New file.
19160         * lib/unistd.in.h (close): Move declaration out of the
19161         FCHDIR_REPLACEMENT scope.
19162         (_gl_unregister_fd): New declaration.
19163         * lib/close.c: New file.
19164         * lib/fchdir.c (rpl_close): Remove function.
19165         * m4/close.m4: New file.
19166         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
19167         close.
19168         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
19169         REPLACE_CLOSE.
19170         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
19171         REPLACE_CLOSE.
19172         * modules/fchdir (Depends-on): Add close.
19173
19174 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
19175             Bruno Haible  <bruno@clisp.org>
19176
19177         * lib/fcntl.in.h (open): Simplify conditionals.
19178         (_gl_register_fd): New declaration.
19179         * lib/fchdir.c (rpl_open): Remove function.
19180         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
19181         also.
19182         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
19183         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
19184         open.
19185
19186 2008-10-09  Jim Meyering  <meyering@redhat.com>
19187
19188         GNUmakefile: use the more name-space-friendly "_version"
19189         * top/GNUmakefile (_dummy): Update.
19190         (_version): Rename from "version".
19191
19192 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
19193             Bruno Haible  <bruno@clisp.org>
19194
19195         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
19196         rpl_close.
19197         (_gl_register_fd): New function, extracted from rpl_open.
19198         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
19199         (rpl_open, rpl_opendir): Use _gl_register_fd.
19200
19201 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
19202
19203         Fix organization of 'open' replacement.
19204         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
19205         (gl_FUNC_OPEN): Use it.
19206         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
19207
19208 2008-10-08  Bruno Haible  <bruno@clisp.org>
19209
19210         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
19211
19212 2008-10-08  Simon Josefsson  <simon@josefsson.org>
19213
19214         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
19215         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
19216         listen).
19217
19218 2008-10-08  Eric Blake  <ebb9@byu.net>
19219
19220         GNUmakefile: add 'make version' target
19221         * top/GNUmakefile (_curr-ver): Split version update rules...
19222         (version): ...into a target.
19223
19224 2008-10-07  Bruno Haible  <bruno@clisp.org>
19225
19226         Use a more portable replacement expression for -0.0L.
19227         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
19228         instead of -0.0L. Fix m4 quotation.
19229
19230         * tests/test-signbit.c: Include <float.h>.
19231         (minus_zero): New variable.
19232         (test_signbitl): Use minus_zero instead of -zero.
19233         * modules/signbit-tests (Depends-on): Add float.
19234
19235         * tests/test-ceill.c: Include <float.h>.
19236         (zero): Remove variable.
19237         (minus_zero): New variable.
19238         (main): Use minus_zero instead of -zero.
19239         * modules/ceill-tests (Depends-on): Add float.
19240
19241         * tests/test-floorl.c: Include <float.h>.
19242         (zero): Remove variable.
19243         (minus_zero): New variable.
19244         (main): Use minus_zero instead of -zero.
19245         * modules/floorl-tests (Depends-on): Add float.
19246
19247         * tests/test-roundl.c: Include <float.h>.
19248         (zero): Remove variable.
19249         (minus_zero): New variable.
19250         (main): Use minus_zero instead of -zero.
19251         * modules/roundl-tests (Depends-on): Add float.
19252
19253         * tests/test-truncl.c: Include <float.h>.
19254         (zero): Remove variable.
19255         (minus_zero): New variable.
19256         (main): Use minus_zero instead of -zero.
19257         * modules/truncl-tests (Depends-on): Add float.
19258
19259         * tests/test-frexpl.c (zero): Remove variable.
19260         (minus_zero): New variable.
19261         (main): Use minus_zero instead of -zero.
19262         * modules/frexpl-tests (Depends-on): Add float.
19263
19264         * tests/test-isnan.c (zerol): Remove variable.
19265         (minus_zerol): New variable.
19266         (test_long_double): Use minus_zerol instead of -zerol.
19267         * modules/isnan-tests (Depends-on): Add float.
19268
19269         * tests/test-isnanl.h (zero): Remove variable.
19270         (minus_zero): New variable.
19271         (main): Use minus_zero instead of -zero.
19272         * modules/isnanl-nolibm-tests (Depends-on): Add float.
19273         * modules/isnanl-tests (Depends-on): Add float.
19274
19275         * tests/test-ldexpl.c (zero): Remove variable.
19276         (minus_zero): New variable.
19277         (main): Use minus_zero instead of -zero.
19278         * modules/ldexpl-tests (Depends-on): Add float.
19279
19280         * tests/test-snprintf-posix.h (zerol): Remove variable.
19281         (minus_zerol): New variable.
19282         (test_function): Use minus_zerol instead of -zerol.
19283         * modules/snprintf-posix-tests (Depends-on): Add float.
19284         * modules/vsnprintf-posix-tests (Depends-on): Add float.
19285
19286         * tests/test-sprintf-posix.h (zerol): Remove variable.
19287         (minus_zerol): New variable.
19288         (test_function): Use minus_zerol instead of -zerol.
19289         * modules/sprintf-posix-tests (Depends-on): Add float.
19290         * modules/vsprintf-posix-tests (Depends-on): Add float.
19291
19292         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
19293         (minus_zerol): New variable.
19294         (test_function): Use minus_zerol instead of -zerol.
19295         * modules/vasnprintf-posix-tests (Depends-on): Add float.
19296
19297         * tests/test-vasprintf-posix.c (zerol): Remove variable.
19298         (minus_zerol): New variable.
19299         (test_function): Use minus_zerol instead of -zerol.
19300         * modules/vasprintf-posix-tests (Depends-on): Add float.
19301
19302 2008-10-07  Simon Josefsson  <simon@josefsson.org>
19303
19304         * MODULES.html.sh (Support for building documentation): Mention
19305         pmccabe2html.  Sort entries.
19306
19307         Add pmccabe2html module, from gnupdf.
19308         * build-aux/pmccabe.css: New file.
19309         * build-aux/pmccabe2html: New file.
19310         * m4/pmccabe2html.m4: New file.
19311         * modules/pmccabe2html: New file.
19312
19313 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
19314
19315         flock: new module
19316         * MODULES.html.sh: Add to list of modules.
19317         * lib/flock.c: flock implementation for Windows and Unix systems
19318         which have fcntl.
19319         * doc/glibc-functions/flock.texi: Update documentation.
19320         * lib/sys_file.in.h: <sys/file.h> header file.
19321         * m4/flock.m4: M4 macros.
19322         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
19323         * modules/flock: flock module.
19324         * modules/flock-tests: flock tests module.
19325         * modules/sys_file: sys/file.h module.
19326         * tests/test-flock.c: test suite for flock.
19327
19328 2008-10-06  Jim Meyering  <meyering@redhat.com>
19329
19330         bootstrap: check for LT_INIT more portably still ;-)
19331         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
19332         Spotted by Bruno Haible.
19333
19334 2008-10-06  Eric Blake  <ebb9@byu.net>
19335
19336         test-signbit: avoid tripping Irix cc bug on -0.0L
19337         * tests/test-signbit.c (minus_zerol): Delete, and replace with
19338         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
19339         entire testsuite consistent and avoids an Irix 6.2 bug.
19340
19341 2008-10-05  Bruno Haible  <bruno@clisp.org>
19342             Jim Meyering  <jim@meyering.net>
19343
19344         Add an option for ignoring EPIPE during close_stdout.
19345         * lib/closeout.h: Include <stdbool.h>.
19346         (close_stdout_set_ignore_EPIPE): New declaration.
19347         * lib/closeout.c: Include <stdbool.h>.
19348         (ignore_EPIPE): New variable.
19349         (close_stdout_set_ignore_EPIPE): New function.
19350         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
19351         * lib/close-stream.c (close_stream): Mention the possible EPIPE
19352         failure.
19353         * modules/closeout (Depends-on): Add stdbool.
19354
19355 2008-10-05  Bruno Haible  <bruno@clisp.org>
19356
19357         * modules/accept: New file.
19358         * modules/bind: New file.
19359         * modules/connect: New file.
19360         * modules/getpeername: New file.
19361         * modules/getsockname: New file.
19362         * modules/getsockopt: New file.
19363         * modules/listen: New file.
19364         * modules/recv: New file.
19365         * modules/recvfrom: New file.
19366         * modules/send: New file.
19367         * modules/sendto: New file.
19368         * modules/setsockopt: New file.
19369         * modules/socket: New file.
19370         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
19371         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
19372         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
19373         the particular module is requested. Add a link warning when the
19374         particular module is not requested.
19375         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
19376         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
19377         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
19378         the particular module is requested.
19379         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
19380         gl_SYS_SOCKET_H_DEFAULTS): New macros.
19381         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
19382         * modules/sys_socket (Depends-on): Add link-warning.
19383         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
19384         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
19385         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
19386         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
19387         GL_LINK_WARNING.
19388         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
19389         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
19390         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
19391         * doc/posix-functions/getpeername.texi: Mention the new module
19392         'getpeername'.
19393         * doc/posix-functions/getsockname.texi: Mention the new module
19394         'getsockname'.
19395         * doc/posix-functions/getsockopt.texi: Mention the new module
19396         'getsockopt'.
19397         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
19398         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
19399         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
19400         * doc/posix-functions/send.texi: Mention the new module 'send'.
19401         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
19402         * doc/posix-functions/setsockopt.texi: Mention the new module
19403         'setsockopt'.
19404         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
19405         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
19406         listen, connect, accept.
19407         * modules/select-tests (Depends-on): Likewise.
19408
19409 2008-10-05  Bruno Haible  <bruno@clisp.org>
19410
19411         * lib/winsock.c (strerror): Remove unused #undef.
19412         (rpl_close): Remove unused local variable.
19413
19414         * modules/sys_socket (Depends-on); Add errno.
19415
19416 2008-10-05  Bruno Haible  <bruno@clisp.org>
19417
19418         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
19419         (select): Add a link warning when the 'select' module is not used.
19420         * modules/sys_select (Depends-on): Add link-warning.
19421         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
19422         Suggested by Paolo Bonzini.
19423
19424 2008-10-05  Jim Meyering  <meyering@redhat.com>
19425
19426         bootstrap: check for LT_INIT more portably
19427         * build-aux/bootstrap: Avoid using grep -E, since it's not
19428         portable enough.  Suggestion from Bruno Haible.
19429
19430 2008-10-05  Bruno Haible  <bruno@clisp.org>
19431
19432         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
19433         as being fixed by gnulib.
19434
19435 2008-10-05  Bruno Haible  <bruno@clisp.org>
19436
19437         * modules/select-tests: New file, mostly copied from
19438         modules/sys_select-tests.
19439         * tests/test-select.c: New file, mostly copied from
19440         tests/test-sys_select.c.
19441         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
19442         * modules/sys_select-tests (Depends-on): Remove all dependencies.
19443         (Makefile.am): Remove test_sys_select_LDADD.
19444
19445         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
19446         to an undefined symbol, for an error message.
19447         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
19448         (gl_SYS_SELECT_H_DEFAULTS): New macro.
19449         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
19450         winsock-select.c here.
19451         * modules/sys_select (Files): Remove lib/winsock-select.c.
19452         (Depends-on): Remove alloca.
19453         (Makefile.am): Substitute GNULIB_SELECT.
19454         * modules/select: New file.
19455         * doc/posix-functions/select.texi: Update.
19456
19457 2008-10-05  Bruno Haible  <bruno@clisp.org>
19458
19459         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
19460         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
19461         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
19462         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
19463         getdtablesize.
19464         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
19465         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
19466
19467 2008-10-05  Bruno Haible  <bruno@clisp.org>
19468
19469         * modules/getdtablesize-tests: New file.
19470         * tests/test-getdtablesize.c: New file.
19471
19472         New module 'getdtablesize'.
19473         * lib/unistd.in.h (getdtablesize): New declaration.
19474         * lib/getdtablesize.c: New file.
19475         * m4/getdtablesize.m4: New file.
19476         * modules/getdtablesize: New file.
19477         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19478         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
19479         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
19480         HAVE_GETDTABLESIZE.
19481         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
19482
19483 2008-10-05  Bruno Haible  <bruno@clisp.org>
19484
19485         * modules/sched (Makefile.am): Fix typo.
19486         Reported by Simon Josefsson.
19487
19488 2008-10-05  Jim Meyering  <meyering@redhat.com>
19489
19490         bootstrap: check for LT_INIT, too
19491         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
19492         are deprecated.  Suggestion from Ralf Wildenhues.
19493
19494 2008-10-05  Bruno Haible  <bruno@clisp.org>
19495
19496         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
19497         overriding them by ours.
19498         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
19499
19500 2008-10-05  Jim Meyering  <meyering@redhat.com>
19501
19502         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
19503         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
19504         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
19505
19506 2008-10-04  Bruno Haible  <bruno@clisp.org>
19507
19508         * modules/dup2 (License): Change to LGPLv2+.
19509         * modules/sleep (License): Likewise.
19510         * modules/perror (License): Likewise.
19511         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
19512         Blake.
19513         * modules/signal (License): Likewise.
19514         * modules/sigprocmask (License): Likewise.
19515         * modules/raise (License): Change to LGPLv2+, with approval by Jim
19516         Meyering.
19517
19518 2008-10-04  Bruno Haible  <bruno@clisp.org>
19519
19520         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
19521         Reported by Rainer Tammer <tammer@tammer.net>.
19522
19523 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
19524             Bruno Haible  <bruno@clisp.org>
19525
19526         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
19527         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
19528         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
19529
19530 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
19531
19532         filevercmp: new module
19533         * lib/filevercmp.h: New function filevercmp comparing version strings.
19534         * lib/filevercmp.c: Implementation of filevercmp function.
19535         * modules/filevercmp: Module metadata.
19536         * tests/test-filevercmp.c: Unit test for new module.
19537         * modules/filevercmp-tests: Unit test metadata.
19538         * MODULES.html.sh: Add filevercmp module.
19539
19540 2008-10-03  Bruno Haible  <bruno@clisp.org>
19541
19542         * lib/c-ctype.h: Add comment.
19543         Reported by Jim Meyering.
19544
19545 2008-10-02  Bruno Haible  <bruno@clisp.org>
19546
19547         * modules/posix_spawn-internal (Depends-on): Add 'open'.
19548
19549 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
19550
19551         * build-aux/bootstrap: Allow renaming bootstrap, and change the
19552         name of bootstrap.conf accordingly.
19553
19554 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
19555
19556         * build-aux/bootstrap: Install git-merge-changelog configuration
19557         items into .gitconfig if needed.
19558
19559 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
19560
19561         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
19562         git repository, and initialize/update it accordingly.
19563
19564 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
19565
19566         * modules/fsync-tests: New file.
19567         * tests/test-fsync.c: New file.
19568
19569         New module 'fsync'.
19570         * lib/fsync.c: New file.
19571         * m4/fsync.m4: New file.
19572         * modules/fsync: New file.
19573         * lib/unistd.in.h (fsync): New declaration.
19574         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
19575         GNULIB_FSYNC and HAVE_FSYNC.
19576         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
19577         * MODULES.html.sh (posix_functions): Add fsync.
19578         * doc/posix-functions/fsync.texi: Mention the new module.
19579
19580 2008-10-02  Jim Meyering  <meyering@redhat.com>
19581
19582         fts.c: sync with similar code from coreutils' remove.c
19583         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
19584         Guard also with "#if defined __linux__", since for now at least,
19585         this code is Linux-kernel-specific.
19586
19587 2008-10-02  Jim Meyering  <meyering@redhat.com>
19588
19589         fts: bug fixes
19590         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
19591         Include <sys/vfs.h>, not <sys/statfs.h>.
19592
19593         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
19594         Include <sys/vfs.h>, not <sys/statfs.h>.
19595
19596 2008-10-01  Bruno Haible  <bruno@clisp.org>
19597
19598         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
19599         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
19600         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
19601         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
19602         * doc/posix-functions/posix_spawnp.texi: Likewise.
19603         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
19604         whether posix_spawn actually works.
19605         * m4/pipe.m4 (gl_PIPE): Likewise.
19606         * modules/execute (Files): Add m4/posix_spawn.m4.
19607         * modules/pipe (Files): Add m4/posix_spawn.m4.
19608         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
19609
19610 2008-10-01  Jim Meyering  <meyering@redhat.com>
19611
19612         remove trailing spaces
19613         * NEWS: Likewise.
19614         * lib/poll.c (poll): Likewise.
19615         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
19616         * lib/winsock.c (rpl_close): Likewise.
19617         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
19618         * modules/yield: Likewise.
19619         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
19620         * tests/test-sys_select.c (connect_to_socket): Likewise.
19621
19622         fts.c: adjust a new interface to be more generally useful
19623         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
19624         (fts_build): Adjust caller.
19625
19626 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19627
19628         * modules/cond-tests: New file.
19629         * tests/test-cond.c: New file.
19630
19631 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19632             Bruno Haible  <bruno@clisp.org>
19633
19634         * modules/cond (Dependencies): Add errno, time.
19635         * lib/glthread/cond.h: Include <time.h>.
19636         (gl_cond_define, gl_cond_define_initialized): Use the same definition
19637         across platforms.
19638
19639 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19640             Bruno Haible  <bruno@clisp.org>
19641
19642         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
19643
19644 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19645             Bruno Haible  <bruno@clisp.org>
19646
19647         * modules/tls-tests (Depends-on): Add thread, yield.
19648         (configure.ac): Remove all checks.
19649         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
19650         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
19651         gl_thread_self): Remove definitions. Include glthread/thread.h and
19652         glthread/yield.h instead.
19653         (test_tls): Pass an additional NULL argument to gl_thread_join.
19654
19655 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19656             Bruno Haible  <bruno@clisp.org>
19657
19658         * modules/lock-tests (Depends-on): Add thread, yield.
19659         (configure.ac): Remove all checks.
19660         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
19661         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
19662         gl_thread_self): Remove definitions. Include glthread/thread.h and
19663         glthread/yield.h instead.
19664         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
19665         additional NULL argument to gl_thread_join.
19666
19667 2008-09-30  Bruno Haible  <bruno@clisp.org>
19668
19669         Fix the Win32 implementation of the 'thread' module.
19670         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
19671         pointer type.
19672         (gl_thread_self): Invoke gl_thread_self_func.
19673         (gl_thread_self_func): New declaration.
19674         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
19675         (do_init_self_key, init_self_key): New functions.
19676         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
19677         Remove some fields.
19678         (running_threads, running_lock): Remove variables.
19679         (get_current_thread_handle): New function.
19680         (gl_thread_self_func, wrapper_func, glthread_create_func,
19681         glthread_join_func, gl_thread_exit_func): Largely rewritten and
19682         simplified.
19683
19684 2008-09-30  Bruno Haible  <bruno@clisp.org>
19685
19686         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
19687         files.
19688
19689 2008-09-30  Jim Meyering  <meyering@redhat.com>
19690
19691         fts.m4: correct the test for statfs.f_type
19692         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
19693         when checking for statfs.f_type.
19694
19695 2008-09-15  Simon Josefsson  <simon@josefsson.org>
19696
19697         tests: avoid some compiler warnings
19698         * tests/test-memchr.c (main): Pass NULL indirectly.
19699         * tests/test-getdate.c (main): Remove unused variable 'ret'.
19700
19701 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
19702
19703         getdate.y: disallow countable dayshifts like "4 yesterday ago"
19704         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
19705         exactly specified dayshifts.
19706         (dayshift): New rule.
19707         (rel): Add dayshift.
19708         (relative_time_table) [tomorrow, yesterday, today, now]:
19709         Use tDAY_SHIFT in place of tDAY_UNIT.
19710         * tests/test-getdate.c: Add tests for now-disallowed countable
19711         dayshifts, e.g., "4 yesterday ago".
19712
19713 2008-09-29  Bruno Haible  <bruno@clisp.org>
19714
19715         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
19716         * tests/test-posix_spawn1.in.sh: Renamed from
19717         tests/test-posix_spawn.in.sh.
19718         * tests/test-posix_spawn2.c: New file.
19719         * tests/test-posix_spawn2.in.sh: New file.
19720         * modules/posix_spawnp-tests (Files): Update.
19721         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
19722
19723 2008-09-29  Bruno Haible  <bruno@clisp.org>
19724
19725         Propagate effects of putenv/setenv/unsetenv to child processes.
19726         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
19727         * lib/pipe.c (create_pipe): Likewise.
19728
19729 2008-09-29  Bruno Haible  <bruno@clisp.org>
19730
19731         Enable use of shell scripts as executables in mingw.
19732         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
19733         run the program as a shell script.
19734         * lib/pipe.c (create_pipe): Likewise.
19735         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
19736         resulting array.
19737
19738 2008-09-29  Eric Blake  <ebb9@byu.net>
19739
19740         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
19741
19742 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
19743
19744         * doc/posix-functions/accept.texi: Update mingw problems.
19745         * doc/posix-functions/bind.texi: Update mingw problems.
19746         * doc/posix-functions/close.texi: Update mingw problems.
19747         * doc/posix-functions/connect.texi: Update mingw problems.
19748         * doc/posix-functions/getpeername.texi: Update mingw problems.
19749         * doc/posix-functions/getsockname.texi: Update mingw problems.
19750         * doc/posix-functions/getsockopt.texi: Update mingw problems.
19751         * doc/posix-functions/ioctl.texi: Update mingw problems.
19752         * doc/posix-functions/listen.texi: Update mingw problems.
19753         * doc/posix-functions/recv.texi: Update mingw problems.
19754         * doc/posix-functions/recvfrom.texi: Update mingw problems.
19755         * doc/posix-functions/select.texi: Update mingw problems.
19756         * doc/posix-functions/send.texi: Update mingw problems.
19757         * doc/posix-functions/sendto.texi: Update mingw problems.
19758         * doc/posix-functions/setsockopt.texi: Update mingw problems.
19759         * doc/posix-functions/socket.texi: Update mingw problems.
19760
19761 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
19762             Bruno Haible  <bruno@clisp.org>
19763
19764         * lib/sys_select.in.h: Include sys/time.h.
19765         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
19766         * modules/sys_select: Depend on sys_time.
19767         * tests/test-sys_select.c: Test that sys/select.h defines struct
19768         timeval fully.
19769
19770 2008-09-29  Bruno Haible  <bruno@clisp.org>
19771
19772         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
19773         * lib/sys_select.in.h: Likewise.
19774
19775 2008-09-29  Bruno Haible  <bruno@clisp.org>
19776
19777         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
19778
19779 2008-09-29  Bruno Haible  <bruno@clisp.org>
19780
19781         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
19782         Set LIBSOCKET instead of augmenting LIBS.
19783         * modules/sockets (Link): New section.
19784         * modules/sockets-tests (test_sockets_LDADD): New variable.
19785         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
19786         * modules/poll-tests (test_poll_LDADD): New variable.
19787         * NEWS: Document the change.
19788
19789 2008-09-29  Bruno Haible  <bruno@clisp.org>
19790
19791         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
19792         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
19793         ARPA_INET_H directly.
19794         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
19795
19796 2008-09-28  Bruno Haible  <bruno@clisp.org>
19797
19798         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
19799         from gl_HEADER_SYS_SOCKET.
19800         (gl_HEADER_SYS_SOCKET): Invoke it.
19801         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19802
19803 2008-09-28  Bruno Haible  <bruno@clisp.org>
19804
19805         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
19806         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
19807         Needed on OSF/1 4.0.
19808
19809 2008-09-28  Bruno Haible  <bruno@clisp.org>
19810
19811         Override open more carefully.
19812         * lib/open.c (orig_open): New function.
19813         (rpl_open): Use orig_open instead of open.
19814         * lib/fcntl.in.h: Add special invocation convention.
19815         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
19816         (gl_FUNC_OPEN): Invoke it.
19817
19818         Override freopen more carefully.
19819         * lib/freopen.c (orig_freopen): New function.
19820         (rpl_freopen): Use orig_freopen instead of freopen.
19821         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
19822         (gl_FUNC_FREOPEN): Invoke it.
19823
19824         Override fopen more carefully.
19825         * lib/fopen.c (orig_fopen): New function.
19826         (rpl_fopen): Use orig_fopen instead of fopen.
19827         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
19828         (gl_FUNC_FOPEN): Invoke it.
19829         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
19830
19831 2008-09-28  Bruno Haible  <bruno@clisp.org>
19832
19833         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
19834         SIGPIPE.
19835
19836 2008-09-28  Bruno Haible  <bruno@clisp.org>
19837
19838         * tests/test-sigaction.c (handler, main): Disable the check whether
19839         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
19840         glibc systems with LinuxThreads.
19841
19842 2008-09-28  Bruno Haible  <bruno@clisp.org>
19843
19844         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
19845
19846         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
19847         with AIX xlc.
19848         * lib/fcntl.in.h (open): Likewise.
19849         Reported by Rainer Tammer <tammer@tammer.net>.
19850
19851 2008-09-28  Bruno Haible  <bruno@clisp.org>
19852
19853         * modules/posix_spawnp-tests: New file.
19854         * tests/test-posix_spawn.c: New file.
19855         * tests/test-posix_spawn.in.sh: New file.
19856
19857         New module 'posix_spawnp'.
19858         * modules/posix_spawnp: New file.
19859         * lib/spawnp.c: New file, from GNU libc with modifications.
19860         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
19861
19862         New module 'posix_spawn'.
19863         * modules/posix_spawn: New file.
19864         * lib/spawn.c: New file, from GNU libc with modifications.
19865         * doc/posix-functions/posix_spawn.texi: Mention the new module.
19866
19867         New module 'posix_spawnattr_destroy'.
19868         * modules/posix_spawnattr_destroy: New file.
19869         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
19870         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
19871         module.
19872
19873         New module 'posix_spawnattr_setsigmask'.
19874         * modules/posix_spawnattr_setsigmask: New file.
19875         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
19876         modifications.
19877         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
19878         new module.
19879
19880         New module 'posix_spawnattr_getsigmask'.
19881         * modules/posix_spawnattr_getsigmask: New file.
19882         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
19883         modifications.
19884         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
19885         new module.
19886
19887         New module 'posix_spawnattr_setsigdefault'.
19888         * modules/posix_spawnattr_setsigdefault: New file.
19889         * lib/spawnattr_setdefault.c: New file, from GNU libc with
19890         modifications.
19891         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
19892         new module.
19893
19894         New module 'posix_spawnattr_getsigdefault'.
19895         * modules/posix_spawnattr_getsigdefault: New file.
19896         * lib/spawnattr_getdefault.c: New file, from GNU libc with
19897         modifications.
19898         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
19899         new module.
19900
19901         New module 'posix_spawnattr_setschedpolicy'.
19902         * modules/posix_spawnattr_setschedpolicy: New file.
19903         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
19904         modifications.
19905         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
19906         new module.
19907
19908         New module 'posix_spawnattr_getschedpolicy'.
19909         * modules/posix_spawnattr_getschedpolicy: New file.
19910         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
19911         modifications.
19912         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
19913         new module.
19914
19915         New module 'posix_spawnattr_setschedparam'.
19916         * modules/posix_spawnattr_setschedparam: New file.
19917         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
19918         modifications.
19919         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
19920         new module.
19921
19922         New module 'posix_spawnattr_getschedparam'.
19923         * modules/posix_spawnattr_getschedparam: New file.
19924         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
19925         modifications.
19926         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
19927         new module.
19928
19929         New module 'posix_spawnattr_setpgroup'.
19930         * modules/posix_spawnattr_setpgroup: New file.
19931         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
19932         modifications.
19933         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
19934         module.
19935
19936         New module 'posix_spawnattr_getpgroup'.
19937         * modules/posix_spawnattr_getpgroup: New file.
19938         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
19939         modifications.
19940         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
19941         module.
19942
19943         New module 'posix_spawnattr_setflags'.
19944         * modules/posix_spawnattr_setflags: New file.
19945         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
19946         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
19947         module.
19948
19949         New module 'posix_spawnattr_getflags'.
19950         * modules/posix_spawnattr_getflags: New file.
19951         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
19952         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
19953         module.
19954
19955         New module 'posix_spawnattr_init'.
19956         * modules/posix_spawnattr_init: New file.
19957         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
19958         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
19959         module.
19960
19961         New module 'posix_spawn_file_actions_destroy'.
19962         * modules/posix_spawn_file_actions_destroy: New file.
19963         * lib/spawn_faction_destroy.c: New file, from GNU libc with
19964         modifications.
19965         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
19966         the new module.
19967
19968         New module 'posix_spawn_file_actions_addopen'.
19969         * modules/posix_spawn_file_actions_addopen: New file.
19970         * lib/spawn_faction_addopen.c: New file, from GNU libc with
19971         modifications.
19972         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
19973         the new module.
19974
19975         New module 'posix_spawn_file_actions_adddup2'.
19976         * modules/posix_spawn_file_actions_adddup2: New file.
19977         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
19978         modifications.
19979         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
19980         the new module.
19981
19982         New module 'posix_spawn_file_actions_addclose'.
19983         * modules/posix_spawn_file_actions_addclose: New file.
19984         * lib/spawn_faction_addclose.c: New file, from GNU libc with
19985         modifications.
19986         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
19987         the new module.
19988
19989         New module 'posix_spawn_file_actions_init'.
19990         * modules/posix_spawn_file_actions_init: New file.
19991         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
19992         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
19993         new module.
19994
19995         New module 'posix_spawn-internal'.
19996         * modules/posix_spawn-internal: New file.
19997         * lib/spawn_int.h: New file, from GNU libc with modifications.
19998         * lib/spawni.c: New file, from GNU libc with modifications.
19999         * m4/posix_spawn.m4: New file.
20000
20001         New module 'spawn'.
20002         * modules/spawn: New file.
20003         * lib/spawn.in.h: New file, from GNU libc with modifications.
20004         * m4/spawn_h.m4: New file.
20005         * doc/posix-headers/spawn.texi: Mention the new module.
20006
20007 2008-09-28  Bruno Haible  <bruno@clisp.org>
20008
20009         * modules/sched-tests: New file.
20010         * tests/test-sched.c: New file.
20011
20012         New module 'sched'.
20013         * modules/sched: New file.
20014         * lib/sched.in.h: New file.
20015         * m4/sched_h.m4: New file.
20016         * doc/posix-headers/sched.texi: Mention the new module.
20017
20018 2008-09-27  Eric Blake  <ebb9@byu.net>
20019
20020         Fix previous patch, and tweak references to $0.
20021         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
20022         (func_version, func_gnulib_dir): Don't call this program
20023         gnulib-tool.
20024         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
20025         with using $0 in function.
20026         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
20027         (func_fatal_error): Reuse the name the user invoked us with.
20028
20029 2008-09-27  Bruno Haible  <bruno@clisp.org>
20030
20031         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
20032         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
20033         (gl_ICONV_H): Not here.
20034         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
20035         instead of assigning ICONV_H directly.
20036
20037         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
20038         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
20039         WCHAR_H directly.
20040
20041 2008-09-27  Bruno Haible  <bruno@clisp.org>
20042
20043         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
20044         * modules/arpa_inet (Depends-on): Add link-warning.
20045         (Makefile.am): Insert the definition of GL_LINK-WARNING.
20046         * modules/unistd (Makefile.am): Likewise.
20047
20048 2008-09-26  Bruno Haible  <bruno@clisp.org>
20049
20050         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
20051         variables.
20052         (func_version): Essentially copied from gnulib-tool.
20053         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
20054         func_readlink): Copied from gnulib-tool.
20055
20056 2008-09-26  Bruno Haible  <bruno@clisp.org>
20057
20058         * gnulib-tool (func_version): Change directory to $gnulib_dir before
20059         invoking git-version-gen.
20060
20061 2008-09-26  Bruno Haible  <bruno@clisp.org>
20062
20063         * posix-modules: Update to directory names changed on 2008-01-19.
20064         Remove commas in output before splitting into words. No more need to
20065         avoid 'ftruncate' since 2007-02-19.
20066
20067 2008-09-26  Bruno Haible  <bruno@clisp.org>
20068
20069         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
20070
20071 2008-09-26  Bruno Haible  <bruno@clisp.org>
20072
20073         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
20074         * modules/fwriteerror (Depends-on): Add errno.
20075
20076 2008-09-26  Bruno Haible  <bruno@clisp.org>
20077
20078         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
20079         * tests/test-vc-list-files-cvs.sh: Likewise.
20080
20081 2008-09-26  Bruno Haible  <bruno@clisp.org>
20082
20083         * doc/posix-headers/sys_resource.texi: Reorder items.
20084
20085 2008-09-26  Jim Meyering  <meyering@redhat.com>
20086
20087         fts: tweak inode comparison function
20088         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
20089         inode numbers, as documented.
20090
20091         fts: sort dirent entries on inode number before traversing
20092         This avoids a quadratic, seek-related performance penalty when
20093         operating on a directory containing many entries (measurable at 10k;
20094         3.5 hours at 2 million entries with a cold cache) on certain types
20095         of file systems, including ext3 and ext4, but not tmpfs.
20096         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
20097         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
20098         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
20099         (fs_handles_readdir_ordered_dirents_efficiently): New function.
20100         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
20101         (fts_build): Set the stat.st_ino member from D_INO.
20102         If it is likely to be useful, sort dirent entries on inode number.
20103
20104         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
20105         and the struct statfs.f_type member.
20106         * modules/fts (Depends-on): Add d-ino.
20107
20108 2008-09-26  Bruno Haible  <bruno@clisp.org>
20109
20110         * modules/sigpipe-die (Depends-on): Add sigpipe.
20111
20112         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
20113         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
20114         and GNULIB_STDIO_H_SIGPIPE are set.
20115         * lib/stdio-write.c: New file.
20116         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
20117         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
20118         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
20119         REPLACE_STDIO_WRITE_FUNCS.
20120         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
20121         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
20122         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
20123         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
20124         * modules/stdio (Files): Add lib/stdio-write.c.
20125         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
20126         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
20127         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
20128         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
20129         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
20130         REPLACE_FPRINTF_POSIX.
20131         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
20132         REPLACE_PRINTF_POSIX.
20133         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
20134         REPLACE_VFPRINTF_POSIX.
20135         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
20136         REPLACE_VPRINTF_POSIX.
20137         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
20138         SIGPIPE issue.
20139         * doc/posix-functions/fputc.texi: Likewise.
20140         * doc/posix-functions/fputs.texi: Likewise.
20141         * doc/posix-functions/fwrite.texi: Likewise.
20142         * doc/posix-functions/printf.texi: Likewise.
20143         * doc/posix-functions/putc.texi: Likewise.
20144         * doc/posix-functions/putchar.texi: Likewise.
20145         * doc/posix-functions/puts.texi: Likewise.
20146         * doc/posix-functions/vfprintf.texi: Likewise.
20147         * doc/posix-functions/vprintf.texi: Likewise.
20148
20149         * modules/safe-write (Depends-on): Add write.
20150
20151         * modules/sigpipe-tests: New file.
20152         * tests/test-sigpipe.c: New file.
20153         * tests/test-sigpipe.sh: New file.
20154
20155         * modules/write: New file.
20156         * lib/unistd.in.h: Include <sys/types.h>.
20157         (write): New declaration.
20158         * lib/write.c: New file.
20159         * m4/write.m4: New file.
20160         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20161         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
20162         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
20163         GNULIB_WRITE, REPLACE_WRITE.
20164         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
20165         and the SIGPIPE issue.
20166
20167         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
20168         (raise): New declaration.
20169         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
20170         (ext_signal): New function.
20171         (rpl_raise): New function.
20172         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
20173         GNULIB_SIGNAL_H_SIGPIPE.
20174         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
20175         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
20176
20177         * modules/sigpipe: New file.
20178         * m4/sigpipe.m4: New file.
20179
20180 2008-09-25  Derek Price  <derek@ximbiot.com>
20181             Bruno Haible  <bruno@clisp.org>
20182
20183         * gnulib-tool (func_import): Report all license incompatibilities, not
20184         just the first one.
20185
20186 2008-09-25  Bruno Haible  <bruno@clisp.org>
20187
20188         * gnulib-tool (func_import): When computing the edits, consider not
20189         only the Makefile.ams that exist but also those that will be generated.
20190
20191 2008-09-25  Simon Josefsson  <simon@josefsson.org>
20192
20193         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
20194         fixes gnulib-tool --test warning about duplicate dependency.
20195
20196 2008-09-25  Bruno Haible  <bruno@clisp.org>
20197
20198         * gnulib-tool: Don't ask the user to perform edits in the generated
20199         Makefile.ams.
20200         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
20201         apply to the Makefile.am being generated.
20202         (func_emit_tests_Makefile_am): Execute edits that apply to the
20203         Makefile.am being generated.
20204         (func_import): Setup list of Makefile.am edits before emitting the
20205         Makefile.ams, not at the end.
20206         (func_create_testdir): Update.
20207         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20208
20209 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20210
20211         * gnulib-tool (func_import): Store the --tests-base option in the
20212         comment in gnulib-cache.m4.
20213
20214 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
20215
20216         * NEWS: Document increased portability that sys_select now provides.
20217
20218         * lib/sys_select.in.h: Install select wrapper.
20219         * lib/sys_socket.in.h: Use more descriptive name when there is no
20220         select wrapper.
20221         * lib/winsock-select.c: New.
20222         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
20223         Require gl_HEADER_SYS_SOCKET.
20224         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
20225         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
20226         * tests/test-sys_select.c: Add functional tests.
20227
20228 2008-09-24  Eric Blake  <ebb9@byu.net>
20229
20230         open, fopen: close fd leak in last patch
20231         * lib/open.c (rpl_open): Close fd before returning error.
20232         * lib/fopen.c (rpl_fopen): Close fd before returning error.
20233         * doc/posix-functions/open.texi (open): Document that Irix also
20234         has the bug.
20235         * doc/posix-functions/fopen.texi (fopen): Likewise.
20236         Reported by Paolo Bonzini.
20237
20238 2008-09-24  Bruno Haible  <bruno@clisp.org>
20239
20240         Ensure that a filename ending in a slash cannot be used to access a
20241         non-directory.
20242         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
20243         to check whether it's really a directory.
20244         * lib/fopen.c: Include fcntl.h, unistd.h.
20245         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
20246         and fdopen().
20247         * modules/fopen (Depends-on): Add unistd.
20248         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
20249         * tests/test-fopen.c (main): Likewise.
20250         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
20251         * doc/posix-functions/fopen.texi: Likewise.
20252         Reported by Eric Blake.
20253
20254 2008-09-23  Eric Blake  <ebb9@byu.net>
20255
20256         c-stack: avoid compiler optimizations when provoking overflow
20257         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
20258         recursion harder to optimize, to ensure a stack overflow occurs.
20259         * tests/test-c-stack.c (recurse): Likewise.
20260         Borrowed from libsigsegv.
20261
20262         c-stack: work around Irix sigaltstack bug
20263         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
20264         whether sigaltstack uses wrong end of stack_t (copied in part from
20265         libsigsegv).
20266         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
20267         Irix bug, without requiring an over-allocation.
20268         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
20269         bug.
20270
20271         fopen: document mingw bug on directories
20272         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
20273         not allowing a stream visiting a directory, even though reading
20274         from such a stream is not portable.
20275
20276 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
20277
20278         * lib/poll.c: Rewrite.
20279         * modules/poll: Depend on alloca.
20280
20281 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
20282
20283         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
20284         instead define prototypes for a full set of wrappers.  Ensure
20285         that Cygwin does not use the compatibility code, which is only
20286         for MinGW.
20287         * lib/winsock.c: New.
20288         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
20289         * modules/sys_socket: Add lib/winsock.c.
20290
20291         * modules/poll-tests: Add errno and perror.
20292         * tests/test-poll.c: Use ioctl, not ioctlsocket.
20293
20294 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
20295
20296         * tests/test-poll.c: Downgrade minimum needed Winsock version.
20297
20298 2008-09-23  Bruno Haible  <bruno@clisp.org>
20299
20300         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
20301         * doc/glibc-functions/*: Likewise.
20302
20303 2008-09-23  Simon Josefsson  <simon@josefsson.org>
20304
20305         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
20306         success.
20307
20308 2008-09-22  Eric Blake  <ebb9@byu.net>
20309             Bruno Haible  <bruno@clisp.org>
20310
20311         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
20312         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
20313         supply %A but mishandle pseudo-NaN.
20314         Reported by Simon Josefsson.
20315
20316 2008-09-21  Bruno Haible  <bruno@clisp.org>
20317
20318         * tests/test-lock.c (main): Tweak skip message.
20319         * tests/test-tls.c (main): Likewise.
20320
20321 2008-09-21  Bruno Haible  <bruno@clisp.org>
20322
20323         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
20324         whether 'struct sigaction' has sa_sigaction here...
20325         (gl_PREREQ_SIG_HANDLER_H): ... not here.
20326         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
20327
20328 2008-09-21  Bruno Haible  <bruno@clisp.org>
20329
20330         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
20331         section.
20332         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
20333         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
20334         the new section.
20335         (Support for obsolete systems lacking POSIX:2001): New section.
20336         (String handling <string.h>): Move strdup to the new section.
20337         Suggested by Simon Josefsson and Paolo Bonzini.
20338
20339 2008-09-21  Bruno Haible  <bruno@clisp.org>
20340
20341         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
20342         exponents in %e and %g results on 'long double'. Needed for mingw's
20343         improved *printf functions.
20344         * tests/test-vasprintf-posix.c (test_function): Likewise.
20345         * tests/test-snprintf-posix.h (test_function): Likewise.
20346         * tests/test-sprintf-posix.h (test_function): Likewise.
20347         Reported by Eric Blake.
20348
20349 2008-09-21  Bruno Haible  <bruno@clisp.org>
20350
20351         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
20352         * tests/test-sprintf-posix.h (test_function): Likewise.
20353
20354 2008-09-21  Bruno Haible  <bruno@clisp.org>
20355
20356         * modules/getpass (Depends-on): Add strdup-posix.
20357
20358         New module 'strdup-posix'.
20359         * modules/strdup-posix: New file.
20360         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
20361         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
20362         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
20363         REPLACE_STRDUP.
20364         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
20365         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
20366         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
20367         strdup-posix.
20368
20369         * modules/strdup (Depends-on): Remove malloc-posix.
20370
20371 2008-09-20  Bruno Haible  <bruno@clisp.org>
20372
20373         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
20374         Wildenhues.
20375
20376 2008-09-20  Bruno Haible  <bruno@clisp.org>
20377
20378         Ensure that wint_t gets defined on IRIX 5.3.
20379         * lib/wchar.in.h (wint_t): Define if not defined by the system.
20380         * lib/wctype.in.h (wint_t): Likewise.
20381         (__wctype_wint_t): Remove type.
20382         (isw*): Use wint_t instead of __wctype_wint_t.
20383         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
20384         * modules/wchar (Files): Add m4/wint_t.m4.
20385         (Makefile.am): Substitute HAVE_WINT_T.
20386         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
20387         * tests/test-wctype.c: Check that wint_t is defined.
20388         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
20389         * doc/posix-headers/wctype.texi: Likewise.
20390         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20391
20392 2008-09-18  Bruno Haible  <bruno@clisp.org>
20393
20394         * gnulib-tool (func_exit): Update comment.
20395
20396 2008-09-18  Simon Josefsson  <simon@josefsson.org>
20397
20398         * modules/getaddrinfo (Depends-on): Remove strdup, this module
20399         assumes strdup exists and does not depend on strdup to return
20400         ENOMEM on out of memory conditions.
20401
20402 2008-09-18  Bruno Haible  <bruno@clisp.org>
20403
20404         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
20405         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
20406         digits for the exponent.
20407
20408 2008-09-18  Jim Meyering  <meyering@redhat.com>
20409             Bruno Haible  <bruno@clisp.org>
20410
20411         * lib/vasnprintf.c (decimal_point_char): Define also if
20412         NEED_PRINTF_INFINITE_LONG_DOUBLE.
20413
20414 2008-09-16  Bruno Haible  <bruno@clisp.org>
20415         and Eric Blake  <ebb9@byu.net>
20416
20417         vasnprintf: support Irix 5.3
20418         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
20419         that mishandle long double infinity.
20420         Reported by Tom G. Christensen.
20421
20422 2008-09-16  Bruno Haible  <bruno@clisp.org>
20423
20424         * doc/glibc-functions/scandir.texi: Mention the function is missing on
20425         Solaris 9.
20426         * doc/glibc-functions/alphasort.texi: Likewise.
20427         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
20428
20429 2008-09-16  Jim Meyering  <meyering@redhat.com>
20430
20431         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
20432         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
20433         a umask modification leak out of a subshell.  Otherwise, the
20434         opensolaris /bin/sh would be accepted and thus cause unwarranted
20435         failures in the coreutils test suite.
20436
20437 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
20438
20439         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
20440         to succeed.
20441
20442 2008-09-16  Jim Meyering  <meyering@redhat.com>
20443
20444         avoid spurious test failure when library is built without ACL support
20445         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
20446         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
20447         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
20448         * tests/test-copy-acl.sh: Likewise.
20449
20450 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20451
20452         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
20453         based on character occurrence counts.
20454
20455 2008-09-15  Eric Blake  <ebb9@byu.net>
20456
20457         tests: avoid some compiler warnings
20458         * tests/test-memchr.c (main): Pass NULL indirectly.
20459         * tests/test-closein.c (main): Avoid unused variable.
20460
20461 2008-09-15  Bruno Haible  <bruno@clisp.org>
20462
20463         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
20464         are missing on OpenBSD 4.0 individually.
20465         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20466
20467 2008-09-15  Bruno Haible  <bruno@clisp.org>
20468
20469         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
20470         * doc/posix-functions/strerror.texi: Mention also Cygwin.
20471         * doc/posix-functions/perror.texi: Likewise.
20472         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
20473         is missing.
20474         Reported by Eric Blake.
20475
20476         * lib/errno.in.h: Use replacement values >= 2000.
20477         Reported by Eric Blake.
20478
20479 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20480
20481         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
20482         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
20483         limit.
20484         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
20485         compareseq was aborted.
20486
20487 2008-09-14  Bruno Haible  <bruno@clisp.org>
20488
20489         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
20490         yvec_edit_count.
20491         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
20492         (fstrcmp_bounded): Simplify result computation accordingly.
20493
20494 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20495
20496         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
20497         (fstrcmp): Define in terms of fstrcmp_bounded.
20498         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
20499         lower_bound argument.
20500         Return quickly if the result is certainly < lower_bound.
20501         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
20502
20503 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20504
20505         * lib/diffseq.h (EARLY_ABORT): New macro.
20506         (compareseq): Change return type to bool. Return true when EARLY_ABORT
20507         evaluates to true.
20508
20509 2008-09-14  Bruno Haible  <bruno@clisp.org>
20510
20511         * modules/perror-tests: New file.
20512         * tests/test-perror.sh: New file.
20513         * tests/test-perror.c: New file.
20514
20515         New module 'perror'.
20516         * lib/stdio.in.h (perror): New declaration.
20517         * lib/perror.c: New file.
20518         * m4/perror.m4: New file.
20519         * modules/perror: New file.
20520         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
20521         * doc/posix-functions/perror.texi: Mention the perror module.
20522         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
20523         REPLACE_PERROR.
20524         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
20525         REPLACE_PERROR.
20526
20527 2008-09-14  Bruno Haible  <bruno@clisp.org>
20528
20529         * modules/stdio (Makefile.am): Reorder to match the order in
20530         lib/stdio.in.h.
20531         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
20532
20533 2008-09-13  Bruno Haible  <bruno@clisp.org>
20534
20535         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
20536
20537 2008-09-13  Bruno Haible  <bruno@clisp.org>
20538
20539         Extend strerror to cover the added errno values.
20540         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
20541         (rpl_strerror): Provide error messages for the added errno values and
20542         for the WSA* values.
20543         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
20544         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
20545         strerror.
20546         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
20547         * modules/strerror (Depends-on): Add errno.
20548         * doc/posix-functions/strerror.texi: Document the change.
20549         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
20550         and EOVERFLOW.
20551
20552 2008-09-13  Bruno Haible  <bruno@clisp.org>
20553
20554         * modules/EOVERFLOW: Remove file.
20555         * m4/eoverflow.m4: Remove file.
20556         * modules/EOVERFLOW-tests: Remove file.
20557         * tests/test-EOVERFLOW.c: Remove file.
20558         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
20559         * modules/ftell (Depends-on): Likewise.
20560         * modules/getdelim (Depends-on): Likewise.
20561         * modules/getugroups (Depends-on): Likewise.
20562         * modules/poll (Depends-on): Likewise.
20563         * modules/snprintf (Depends-on): Likewise.
20564         * modules/sprintf-posix (Depends-on): Likewise.
20565         * modules/vasnprintf (Depends-on): Likewise.
20566         * modules/vasprintf (Depends-on): Likewise.
20567         * modules/vfprintf-posix (Depends-on): Likewise.
20568         * modules/vsnprintf (Depends-on): Likewise.
20569         * modules/vsprintf-posix (Depends-on): Likewise.
20570         * modules/xvasprintf (Depends-on): Likewise.
20571         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
20572         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
20573         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
20574         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
20575         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
20576         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
20577         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
20578         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
20579         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
20580         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
20581         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
20582         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
20583         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
20584         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
20585         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
20586         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
20587         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
20588         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
20589         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
20590         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
20591         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
20592         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
20593         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
20594         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
20595         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
20596         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
20597         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
20598         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
20599         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
20600         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
20601         * MODULES.html.sh: Remove EOVERFLOW.
20602         * NEWS: Mention the change.
20603
20604 2008-09-13  Bruno Haible  <bruno@clisp.org>
20605
20606         * modules/errno-tests: New file.
20607         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
20608
20609         * lib/errno.in.h: New file.
20610         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
20611         * modules/errno: New file.
20612         * doc/posix-headers/errno.texi: Update documentation.
20613         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
20614
20615 2008-09-13  Bruno Haible  <bruno@clisp.org>
20616
20617         * tests/test-poll.c: Use #if for native Windows, rather than testing
20618         __MSVCRT__.
20619
20620 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20621             Bruno Haible  <bruno@clisp.org>
20622
20623         * lib/glob.c: Don't include <pwd.h> on native Windows.
20624         (WINDOWS32): New macro.
20625         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
20626
20627 2008-09-13  Bruno Haible  <bruno@clisp.org>
20628
20629         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
20630         (ETIMEDOUT): Remove macro.
20631         (glthread_cond_timedwait_multithreaded): New declaration.
20632         (glthread_cond_timedwait): Use it.
20633         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
20634         (glthread_cond_timedwait_multithreaded): New function.
20635
20636 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
20637
20638         * modules/poll-tests: Do not check for io.h.
20639         * tests/test-poll.c: Check for __MSVCRT__ instead.
20640
20641 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
20642
20643         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
20644         * modules/poll-tests: Add inet_pton, stdbool, sockets.
20645         * tests/test-poll.c: Use them.  Use _pipe on Windows.
20646
20647 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
20648
20649         * modules/poll-tests: New.
20650         * tests/test-poll.c: New.
20651
20652 2008-09-12  Eric Blake  <ebb9@byu.net>
20653
20654         frexp: test for NetBSD failure on -0.0
20655         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
20656         not all, bugs from NetBSD 3.0 have been fixed.
20657         * doc/posix-functions/frexp.texi (frexp): Document bug.
20658         Reported by Thomas Klausner.
20659
20660         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
20661         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
20662         literal -0.0.
20663         Reported by Jonathan C. Patschke <jp@centtech.com>.
20664
20665 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20666
20667         * lib/glthread/cond.h: Use dummy implementation also if
20668         USE_WIN32_THREADS.
20669
20670 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20671
20672         * modules/fnmatch-posix (License): Change to LGPLv2+.
20673         * modules/fnmatch-gnu (License): Likewise.
20674
20675 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20676
20677         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
20678
20679 2008-09-11  Jim Meyering  <meyering@redhat.com>
20680
20681         * users.txt: Add gtk-vnc.
20682
20683 2008-09-08  Simon Josefsson  <simon@josefsson.org>
20684
20685         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
20686         rotate amounts.
20687
20688         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
20689         required for 16-bit and 8-bit rotates.
20690         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
20691         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
20692         UINT8_MAX instead of hard-coded constants.
20693         Suggested by Paul Eggert.
20694
20695 2008-09-07  Bruno Haible  <bruno@clisp.org>
20696
20697         * tests/test-striconveh.c (main): Check behaviour when converting from
20698         UTF-7.
20699
20700         Make striconveh work better with stateful encodings.
20701         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
20702         that iconv does not increment the inptr when returning -1/EINVAL.
20703
20704 2008-09-07  Bruno Haible  <bruno@clisp.org>
20705
20706         * build-aux/config.rpath: Update according to libtool-2.2.6.
20707         * build-aux/config.libpath: Likewise.
20708
20709 2008-09-06  Bruno Haible  <bruno@clisp.org>
20710
20711         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
20712         * lib/freadptr.c (freadptr): Likewise.
20713         * lib/freadseek.c (freadptrinc): Likewise.
20714         Reported by Simon Josefsson.
20715
20716 2008-09-06  Bruno Haible  <bruno@clisp.org>
20717
20718         * modules/freadptr (License): Change to LGPLv2+.
20719         * modules/freadseek (License): Likewise.
20720         Suggested by Eric Blake.
20721
20722         * modules/memchr2 (License): Change to LGPLv2+.
20723         Approved by Eric Blake.
20724
20725 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20726             Bruno Haible  <bruno@clisp.org>
20727
20728         Make gnulib-tool work with native 'sed' on AIX.
20729         * gnulib-tool (sed_noop): New variable.
20730         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
20731         func_add_or_update, func_create_testdir): Use it to initialize sed
20732         script variables.
20733         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20734
20735 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
20736             Bruno Haible  <bruno@clisp.org>
20737
20738         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
20739         also works after #include directives.
20740
20741 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
20742
20743         getdate.y: reject an out-of-range timezone value
20744         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
20745         the range [-24...+24].  When specified with only one or two digits,
20746         * tests/test-getdate.c: Tests for the fix.
20747         * doc/getdate.texi: Document this change.
20748
20749 2008-09-03  Bruno Haible  <bruno@clisp.org>
20750
20751         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
20752
20753 2008-09-02  Simon Josefsson  <simon@josefsson.org>
20754
20755         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
20756         <bruce.korb@gmail.com> with ideas from Ben Pfaff
20757         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
20758         Blake <ebb9@byu.net>.
20759
20760         * tests/test-bitrotate.c: Add more test vectors.
20761
20762 2008-09-02  Eric Blake  <ebb9@byu.net>
20763
20764         vasnprintf-posix: handle large precision via %.*d
20765         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
20766         when handling it ourselves.
20767         * tests/test-vasnprintf-posix.c (test_function): Add test.
20768         * tests/test-snprintf-posix.h (test_function): Likewise.
20769         * tests/test-sprintf-posix.h (test_function): Likewise.
20770         * tests/test-vasprintf-posix.c (test_function): Likewise.
20771         Reported by Alain Guibert.
20772
20773 2008-09-01  Eric Blake  <ebb9@byu.net>
20774
20775         c-stack: make configure-time check more robust
20776         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
20777         successful sigaction call.
20778         Reported by Tom G. Christensen.
20779
20780 2008-09-01  Bruno Haible  <bruno@clisp.org>
20781
20782         New module 'findprog-lgpl'.
20783         * modules/findprog-lgpl: New file.
20784         * lib/findprog-lgpl.c: New file.
20785         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
20786         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
20787         to decide whether to use strdup or xstrdup, concatenated_filename or
20788         xconcatenated_filename.
20789
20790 2008-09-01  Bruno Haible  <bruno@clisp.org>
20791
20792         Split module 'concat-filename' into 'concat-filename' (LGPL) and
20793         'xconcat-filename' (GPL).
20794         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
20795         (License): Change to LGPLv2+.
20796         * modules/xconcat-filename: New file.
20797         * lib/concat-filename.h (concatenated_filename): Change specification.
20798         (xconcatenated_filename): New declaration.
20799         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
20800         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
20801         memory situations.
20802         * lib/xconcat-filename.c: New file.
20803         * NEWS: Mention the change.
20804         * lib/findprog.c: Include concat-filename.h, not filename.h.
20805         (find_in_path): Use xconcatenated_filename instead of
20806         concatenated_filename.
20807         * lib/javacomp.c: Include concat-filename.h, not filename.h.
20808         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
20809         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
20810         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
20811         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
20812         instead of concatenated_filename.
20813         * lib/javaexec.c: Include concat-filename.h, not filename.h.
20814         (execute_java_class): Use xconcatenated_filename instead of
20815         concatenated_filename.
20816         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
20817         * modules/javacomp (Depends-on): Likewise.
20818         * modules/javaexec (Depends-on): Likewise.
20819
20820 2008-09-01  Bruno Haible  <bruno@clisp.org>
20821
20822         Split module 'filename' into 'filename' and 'concat-filename'.
20823         * modules/filename: Keep only lib/filename.h.
20824         (License): Change to LGPLv2+.
20825         * modules/concat-filename: New file, extracted from modules/filename.
20826         * lib/filename.h (concatenated_filename): Remove declaration.
20827         * lib/concat-filename.h: New file, extracted from lib/filename.h.
20828         * lib/concat-filename.c: Include concat-filename.h.
20829         * NEWS: Mention the change.
20830
20831 2008-09-01  Simon Josefsson  <simon@josefsson.org>
20832
20833         * lib/bitrotate.h (rotl8, rotr8): Add.
20834
20835         * modules/bitrotate (configure.ac): Need
20836         AC_REQUIRE([AC_C_INLINE]).
20837         (Description): Mention stdint.h.  Reported by Bruno Haible
20838         <bruno@clisp.org>.
20839
20840         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
20841         Paolo Bonzini <bonzini@gnu.org>.
20842
20843 2008-08-31  Bruno Haible  <bruno@clisp.org>
20844
20845         Assume Solaris specific bi-arch conventions on Solaris systems.
20846         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
20847         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
20848         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
20849         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
20850         like acl_libdirstem.
20851         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
20852         acl_libdirstem.
20853         * NEWS: Mention the change.
20854         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
20855
20856 2008-08-31  Jim Meyering  <meyering@redhat.com>
20857
20858         * lib/strftime.h: Add comments describing the two added arguments.
20859
20860         remove duplicate #include directives
20861         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
20862         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
20863
20864 2008-08-31  Bruno Haible  <bruno@clisp.org>
20865
20866         New module 'sigpipe-die'.
20867         * modules/sigpipe-die: New file.
20868         * lib/sigpipe-die.h: New file.
20869         * lib/sigpipe-die.c: New file.
20870         * MODULES.html.sh (Signal handling): Add sigpipe-die.
20871
20872 2008-08-31  Bruno Haible  <bruno@clisp.org>
20873
20874         Don't override previously installed signal handlers.
20875         * lib/fatal-signal.c (saved_sigactions): New variable.
20876         (uninstall_handlers): Reset the signal to the saved handler, not
20877         to SIG_DFL (except when ignored).
20878         (install_handlers): Save the previous handlers.
20879
20880 2008-08-30  Bruno Haible  <bruno@clisp.org>
20881
20882         * gnulib-tool (func_reset_sigpipe): New function.
20883         (func_get_automake_snippet, func_modules_transitive_closure,
20884         func_import): Invoke it before a join command that reads from stdin,
20885         to avoid "echo: write error: Broken pipe" error messages on stderr.
20886         Reported by Sam Steingold <sds@gnu.org>.
20887
20888 2008-08-30  Bruno Haible  <bruno@clisp.org>
20889
20890         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
20891         Code copied from m4/open.m4.
20892         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
20893         access and the filename ends in a slash. Code copied from lib/open.c.
20894         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
20895         * tests/test-fopen.c (main): Check against bug with trailing slash.
20896
20897 2008-08-29  Bruno Haible  <bruno@clisp.org>
20898
20899         Avoid some "gcc -pedantic" warnings.
20900         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
20901         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
20902         * lib/dirent.in.h: Likewise.
20903         * lib/fcntl.in.h: Likewise.
20904         * lib/float.in.h: Likewise.
20905         * lib/iconv.in.h: Likewise.
20906         * lib/inttypes.in.h: Likewise.
20907         * lib/locale.in.h: Likewise.
20908         * lib/math.in.h: Likewise.
20909         * lib/netinet_in.in.h: Likewise.
20910         * lib/search.in.h: Likewise.
20911         * lib/signal.in.h: Likewise.
20912         * lib/stdarg.in.h: Likewise.
20913         * lib/stdint.in.h: Likewise.
20914         * lib/stdio.in.h: Likewise.
20915         * lib/stdlib.in.h: Likewise.
20916         * lib/string.in.h: Likewise.
20917         * lib/strings.in.h: Likewise.
20918         * lib/sys_select.in.h: Likewise.
20919         * lib/sys_socket.in.h: Likewise.
20920         * lib/sys_stat.in.h: Likewise.
20921         * lib/sys_time.in.h: Likewise.
20922         * lib/sysexits.in.h: Likewise.
20923         * lib/time.in.h: Likewise.
20924         * lib/unistd.in.h: Likewise.
20925         * lib/wchar.in.h: Likewise.
20926         * lib/wctype.in.h: Likewise.
20927         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
20928         * modules/fchdir (Makefile.am): Likewise.
20929         * modules/fcntl (Makefile.am): Likewise.
20930         * modules/float (Makefile.am): Likewise.
20931         * modules/iconv_open (Makefile.am): Likewise.
20932         * modules/inttypes (Makefile.am): Likewise.
20933         * modules/locale (Makefile.am): Likewise.
20934         * modules/math (Makefile.am): Likewise.
20935         * modules/netinet_in (Makefile.am): Likewise.
20936         * modules/search (Makefile.am): Likewise.
20937         * modules/signal (Makefile.am): Likewise.
20938         * modules/stdarg (Makefile.am): Likewise.
20939         * modules/stdint (Makefile.am): Likewise.
20940         * modules/stdio (Makefile.am): Likewise.
20941         * modules/stdlib (Makefile.am): Likewise.
20942         * modules/string (Makefile.am): Likewise.
20943         * modules/strings (Makefile.am): Likewise.
20944         * modules/sys_select (Makefile.am): Likewise.
20945         * modules/sys_socket (Makefile.am): Likewise.
20946         * modules/sys_stat (Makefile.am): Likewise.
20947         * modules/sys_time (Makefile.am): Likewise.
20948         * modules/sysexits (Makefile.am): Likewise.
20949         * modules/time (Makefile.am): Likewise.
20950         * modules/unistd (Makefile.am): Likewise.
20951         * modules/wchar (Makefile.am): Likewise.
20952         * modules/wctype (Makefile.am): Likewise.
20953         Reported by Reuben Thomas <rrt@sc3d.org>.
20954
20955 2008-08-29  Bruno Haible  <bruno@clisp.org>
20956
20957         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
20958         any more.
20959
20960 2008-08-29  Simon Josefsson  <simon@josefsson.org>
20961
20962         * MODULES.html.sh (Misc): Add bitrotate.
20963
20964         * modules/bitrotate: New file.
20965
20966         * lib/bitrotate.h: New file.
20967
20968         * modules/bitrotate-tests: New file.
20969
20970         * tests/test-bitrotate.c: New file.
20971
20972         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
20973         on the bitrotate module.
20974
20975         * lib/arctwo.c: Use new bitrotate module.
20976
20977 2008-08-29  Jim Meyering  <meyering@redhat.com>
20978
20979         bootstrap: merge changes from coreutils
20980         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
20981         of copied files.  Remove a kludge, now that this is fixed.
20982         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
20983         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
20984         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
20985
20986 2008-08-29  Bruno Haible  <bruno@clisp.org>
20987
20988         * MODULES.html.sh: Remove --cvs-urls option.
20989
20990 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
20991
20992         maint.mk: adjust to file name change
20993         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
20994
20995 2008-08-28  Jim Meyering  <meyering@redhat.com>
20996
20997         * modules/getndelim2 (License): Relicense to LGPLv2+.
20998         Approved by Richard Stallman for the version of 1995, and by
20999         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
21000
21001 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
21002
21003         * lib/getdelim.c (flockfile, funlockfile): Make all of them
21004         dummy if one is not available.  Do not touch them if
21005         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
21006         (getc_maybe_unlocked): New.
21007         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
21008
21009 2008-08-26  Eric Blake  <ebb9@byu.net>
21010
21011         doc/INSTALL: resync from autoconf
21012         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
21013         (INSTALL_PRELUDE): Delete; this is done more efficiently by
21014         moving...
21015         * install.texi [!autoconf]: ...here.  Resync from autoconf.
21016         * INSTALL: Regenerate.
21017         * INSTALL.ISO: New file.
21018         * INSTALL.UTF-8: Likewise.
21019
21020 2008-08-26  Jim Meyering  <meyering@redhat.com>
21021
21022         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
21023         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
21024         these definitions conditional, so that they may be overridden, too.
21025
21026 2008-08-26  Bruno Haible  <bruno@clisp.org>
21027
21028         Generate INSTALL file variants with prettier quotes.
21029         * doc/Makefile (INSTALL_PRELUDE): New macro.
21030         (INSTALL): Use it.
21031         (INSTALL.ISO, INSTALL.UTF-8): New rules.
21032
21033 2008-08-26  Bruno Haible  <bruno@clisp.org>
21034
21035         Run makeinfo in an English locale.
21036         * doc/Makefile (MAKEINFO): New variable.
21037
21038 2008-08-26  Bruno Haible  <bruno@clisp.org>
21039
21040         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
21041         Suggested by Eric Blake.
21042
21043 2008-08-25  Bruno Haible  <bruno@clisp.org>
21044
21045         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
21046
21047 2008-08-25  Eric Blake  <ebb9@byu.net>
21048
21049         c-stack: test that stack overflow can be caught
21050         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
21051         that platform allows handling stack overflow; at least OS/2 EMX
21052         has sigaltstack, but crashes before transferring control to
21053         handler on stack overflow.
21054         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
21055         check for HAVE_STACK_OVERFLOW_HANDLING.
21056         Reported by Elbert Pol.
21057
21058 2008-08-25  Bruno Haible  <bruno@clisp.org>
21059
21060         * doc/posix-functions/strftime.texi: Fix description of strftime
21061         module.
21062
21063 2008-08-24  Bruno Haible  <bruno@clisp.org>
21064
21065         * tests/uniwidth/test-uc_width2.c: New file.
21066         * tests/uniwidth/test-uc_width2.sh: New file.
21067         * modules/uniwidth/width-tests (Files): Add the new files.
21068         (TESTS): Add uniwidth/test-uc_width2.sh.
21069         (TESTS_ENVIRONMENT): New variable.
21070         (check_PROGRAMS): Add test-uc_width2.
21071         (test_uc_width2_SOURCES): New variable.
21072
21073         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
21074         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
21075         not 0x00AB.
21076         Reported by Alexander V. Lukyanov <lav@netis.ru>.
21077
21078 2008-08-22  Eric Blake  <ebb9@byu.net>
21079
21080         test-lock, test-tls: mention why a test is skipped
21081         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
21082         skipped.
21083         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
21084
21085         count-one-bits: relax license
21086         * modules/count-one-bits (License): Relicense to LGPLv2+.
21087         Suggested by Ludovic Courtès, approved by Ben Pfaff.
21088
21089 2008-08-22  Andreas Schwab  <schwab@suse.de>
21090
21091         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
21092         Remove spurious space in assignment.
21093
21094 2008-08-21  Simon Josefsson  <simon@josefsson.org>
21095
21096         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
21097         Paul Eggert <eggert@CS.UCLA.EDU>.
21098
21099 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
21100
21101         * modules/gettext: Add m4/threadlib.m4.
21102
21103 2008-08-19  Eric Blake  <ebb9@byu.net>
21104
21105         test-c-stack: fix compilation failure on FreeBSD 5.0
21106         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
21107         headers before <sys/resource.h>.
21108         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
21109         the bug.
21110         Reported by Nelson H. F. Beebe.
21111
21112         strverscmp: migrate from "strverscmp.h" to <string.h>
21113         * modules/string (Makefile.am): Add new hooks.
21114         * modules/strverscmp (Files): Remove strverscmp.h.
21115         (Depends-on): Add string.
21116         (configure.ac): Add indicator.
21117         (Include): Mention new header.
21118         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
21119         defaults.
21120         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
21121         results.
21122         * lib/strverscmp.h: Delete.
21123         * lib/string.in.h (strverscmp): Provide declaration, when needed.
21124         * tests/test-strverscmp.c (includes): Adjust client.
21125         * lib/check-version.c (includes): Likewise.
21126         * NEWS: Document the change.
21127
21128         strverscmp: add unit test
21129         * modules/strverscmp-tests: New file.
21130         * tests/test-strverscmp.c: Likewise.
21131
21132 2008-08-19  Simon Josefsson  <simon@josefsson.org>
21133
21134         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
21135         regarding Windows crypto stuff, from Mono.
21136
21137 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
21138
21139         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
21140         if present, for intel RND.  Return error on failures.
21141
21142 2008-08-18  Ben Pfaff  <blp@gnu.org>
21143
21144         gitlog-to-changelog: give better diagnostic for failed pipe-open
21145         * build-aux/gitlog-to-changelog: Improve error message: suggest
21146         that the version of Git may be too old.
21147
21148 2008-08-18  Simon Josefsson  <simon@josefsson.org>
21149
21150         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
21151         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
21152
21153 2008-08-18  Bruno Haible  <bruno@clisp.org>
21154
21155         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
21156         pthread_in_use().
21157
21158 2008-08-18  Bruno Haible  <bruno@clisp.org>
21159
21160         * lib/glthread/threadlib.c: Include <pthread.h>.
21161
21162 2008-08-18  Bruno Haible  <bruno@clisp.org>
21163
21164         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
21165         glthread_recursive_lock_* macros.
21166         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
21167         Fix syntax error.
21168
21169 2008-08-18  Bruno Haible  <bruno@clisp.org>
21170
21171         * lib/glthread/thread.c: Avoid forcing a context switch right after
21172         thread creation.
21173
21174 2008-08-17  Bruno Haible  <bruno@clisp.org>
21175
21176         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
21177         * lib/glthread/thread.h: Provide Win32 specific implementation.
21178         * modules/thread (Files): Add lib/glthread/thread.c.
21179         (Depends-on): Add lock.
21180         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
21181
21182 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
21183
21184         New module 'yield'.
21185         * modules/yield: New file.
21186         * lib/glthread/yield.h: New file.
21187         * m4/yield.m4: New file.
21188         * MODULES.html.sh (Multithreading): Add yield.
21189
21190 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
21191
21192         New module 'thread'.
21193         * modules/thread: New file.
21194         * lib/glthread/thread.h: New file.
21195         * m4/thread.m4: New file.
21196         * MODULES.html.sh (Multithreading): Add thread.
21197
21198 2008-08-17  Bruno Haible  <bruno@clisp.org>
21199
21200         * lib/glthread/lock.h: Include <stdlib.h> always.
21201         * lib/glthread/tls.h: Likewise.
21202         * lib/glthread/cond.h: Likewise.
21203
21204 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
21205
21206         New module 'cond'.
21207         * modules/cond: New file.
21208         * lib/glthread/cond.h: New file.
21209         * lib/glthread/cond.c: New file.
21210         * m4/cond.m4: New file.
21211         * MODULES.html.sh (Multithreading): Add cond.
21212
21213 2008-08-16  Eric Blake  <ebb9@byu.net>
21214
21215         c-stack: fix regression on Irix 5.3 from 2008-06-21
21216         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
21217         sa_sigaction...
21218         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
21219         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
21220         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
21221         * modules/signal (Makefile.am): Use the value.
21222         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
21223         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
21224         * doc/posix-headers/signal.texi (signal.h): Document this
21225         portability issue.
21226         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
21227         Reported by Tom G. Christensen.
21228
21229 2008-08-17  Bruno Haible  <bruno@clisp.org>
21230
21231         New module 'threadlib'.
21232         * modules/threadlib: New file.
21233         * lib/glthread/threadlib.c: New file, extracted from
21234         lib/glthread/lock.c.
21235         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
21236         functions.
21237         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
21238         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
21239         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
21240         macros.
21241         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
21242         (gl_DISABLE_THREADS): Remove macro.
21243         * modules/lock (Files): Remove build-aux/config.rpath.
21244         (Depends-on): Remove havelib. Add threadlib.
21245         (configure.ac-early): Remove section.
21246         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
21247         * modules/tls (Depends-on): Remove lock. Add threadlib.
21248         (Link): New section, copied from threadlib.
21249         * MODULES.html.sh (Multithreading): Add threadlib.
21250
21251 2008-08-14  Bruno Haible  <bruno@clisp.org>
21252
21253         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
21254         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
21255         glthread_rwlock_unlock, glthread_rwlock_destroy,
21256         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
21257         glthread_recursive_lock_destroy): Define as macros always.
21258         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
21259         glthread_lock_lock.
21260         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
21261         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
21262         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
21263         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
21264         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
21265         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
21266         (glthread_recursive_lock_lock_func): Renamed from
21267         glthread_recursive_lock_lock.
21268         (glthread_recursive_lock_unlock_func): Renamed from
21269         glthread_recursive_lock_unlock.
21270         (glthread_recursive_lock_destroy_func): Renamed from
21271         glthread_recursive_lock_destroy.
21272
21273 2008-08-14  Bruno Haible  <bruno@clisp.org>
21274
21275         * lib/glthread/lock.h: Renamed from lib/lock.h.
21276         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
21277         * lib/glthread/tls.h: Renamed from lib/tls.h.
21278         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
21279         * lib/fstrcmp.c: Update includes.
21280         * lib/strsignal.c: Update includes.
21281         * modules/lock (Files, Makefile.am): Update.
21282         (Include): Change to "glthread/lock.h".
21283         * modules/tls (Files, Makefile.am): Update.
21284         (Include): Change to "glthread/tls.h".
21285         * tests/test-lock.c: Update includes.
21286         * tests/test-tls.c: Update includes.
21287         * NEWS: Mention the renamed header files.
21288
21289 2008-08-11  Jim Meyering  <meyering@redhat.com>
21290
21291         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
21292
21293 2008-08-11  Eric Blake  <ebb9@byu.net>
21294
21295         test-c-stack: avoid C99-ism
21296         * tests/test-c-stack.c (main): Fix whitespace, move declaration
21297         before statement.
21298         Reported by Alain Guibert.
21299
21300 2008-08-10  Jim Meyering  <meyering@redhat.com>
21301
21302         ensure that return value of uinttostr et al are not ignored
21303         * lib/inttostr.h (__GNUC_PREREQ): Define.
21304         (__attribute_warn_unused_result__): Define.
21305         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
21306
21307 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
21308
21309         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
21310         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
21311
21312 2008-08-07  Jim Meyering  <meyering@redhat.com>
21313
21314         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
21315
21316         * modules/mkstemp (License): Relicense under LGPLv2+.
21317         * modules/tempname (License): Likewise.
21318
21319 2008-08-06  Bruno Haible  <bruno@clisp.org>
21320
21321         * lib/poll.c (poll): Further micro-optimization.
21322
21323 2008-08-06  Jim Meyering  <meyering@redhat.com>
21324
21325         inet_pton.c: use locale-independent tolower
21326         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
21327         (inet_pton6): Use c_tolower rather than tolower.
21328         * modules/inet_pton (Depends-on): Add c-ctype.
21329
21330 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
21331
21332         * lib/poll.c (poll): Avoid division when timeout is 0, cache
21333         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
21334
21335 2008-08-06  Jim Meyering  <meyering@redhat.com>
21336
21337         * modules/inet_pton (License): Relicense under LGPLv2+.
21338
21339 2008-08-03  Bruno Haible  <bruno@clisp.org>
21340
21341         Additional non-aborting API for lock and tls.
21342         * lib/lock.h: Include <errno.h>.
21343         (glthread_lock_init): New macro/function.
21344         (gl_lock_init): Define as wrapper around glthread_lock_init.
21345         (glthread_lock_lock): New macro/function.
21346         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
21347         (glthread_lock_unlock): New macro/function.
21348         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
21349         (glthread_lock_destroy): New macro/function.
21350         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
21351         (glthread_rwlock_init): New macro/function.
21352         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
21353         (glthread_rwlock_rdlock): New macro/function.
21354         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
21355         (glthread_rwlock_wrlock): New macro/function.
21356         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
21357         (glthread_rwlock_unlock): New macro/function.
21358         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
21359         (glthread_rwlock_destroy): New macro/function.
21360         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
21361         (glthread_recursive_lock_init): New macro/function.
21362         (gl_recursive_lock_init): Define as wrapper around
21363         glthread_recursive_lock_init.
21364         (glthread_recursive_lock_lock): New macro/function.
21365         (gl_recursive_lock_lock): Define as wrapper around
21366         glthread_recursive_lock_lock.
21367         (glthread_recursive_lock_unlock): New macro/function.
21368         (gl_recursive_lock_unlock): Define as wrapper around
21369         glthread_recursive_lock_unlock.
21370         (glthread_recursive_lock_destroy): New macro/function.
21371         (gl_recursive_lock_destroy): Define as wrapper around
21372         glthread_recursive_lock_destroy.
21373         (glthread_once): New macro/function.
21374         (gl_once): Define as wrapper around glthread_once.
21375         Update function declarations.
21376         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
21377         glthread_rwlock_init. Return error code.
21378         (glthread_rwlock_rdlock_multithreaded): Renamed from
21379         glthread_rwlock_rdlock. Return error code.
21380         (glthread_rwlock_wrlock_multithreaded): Renamed from
21381         glthread_rwlock_wrlock. Return error code.
21382         (glthread_rwlock_unlock_multithreaded): Renamed from
21383         glthread_rwlock_unlock. Return error code.
21384         (glthread_rwlock_destroy_multithreaded): Renamed from
21385         glthread_rwlock_destroy. Return error code.
21386         (glthread_recursive_lock_init_multithreaded): Renamed from
21387         glthread_recursive_lock_init. Return error code.
21388         (glthread_recursive_lock_lock_multithreaded): Renamed from
21389         glthread_recursive_lock_lock. Return error code.
21390         (glthread_recursive_lock_unlock_multithreaded): Renamed from
21391         glthread_recursive_lock_unlock. Return error code.
21392         (glthread_recursive_lock_destroy_multithreaded): Renamed from
21393         glthread_recursive_lock_destroy. Return error code.
21394         (glthread_once_call): Make static.
21395         (glthread_once_multithreaded): Renamed from glthread_once.
21396         * lib/tls.h: Include <errno.h>.
21397         (glthread_tls_key_init): New macro/function.
21398         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
21399         (glthread_tls_set): New macro/function.
21400         (gl_tls_set): Define as wrapper around glthread_tls_set.
21401         (glthread_tls_key_destroy): New macro/function.
21402         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
21403         Update function declarations.
21404         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
21405         glthread_tls_get.
21406         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21407
21408 2008-08-04  Eric Blake  <ebb9@byu.net>
21409
21410         gnumakefile: use space, not TAB, outside of targets
21411         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
21412
21413 2008-08-02  Jim Meyering  <meyering@redhat.com>
21414
21415         getdate.y: avoid locale-dependent date parsing failure
21416         In Turkish locales, getdate would fail to recognize keywords
21417         containing a lowercase "i".  The solution is not to rely on
21418         locale-sensitive case-conversion.
21419         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
21420         (lookup_word): Use c_toupper in place of toupper.
21421         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
21422         Reported by Vefa Bicakci <bicave@superonline.com> in
21423         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
21424         * modules/getdate (Depends-on): Add c-ctype.
21425
21426 2008-08-02  Bruno Haible  <bruno@clisp.org>
21427
21428         * gnulib-tool (func_import): When updating or creating a .gitignore
21429         file, prepend each added line with a slash, and ignore leading slashes
21430         from the existing lines.
21431         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
21432
21433 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21434
21435         Portability fix for GNU make 3.79.1.
21436         * top/GNUmakefile: Avoid 'else COND', which older GNU make
21437         versions do not understand.
21438
21439 2008-08-01  Bruno Haible  <bruno@clisp.org>
21440
21441         Work around bug of HP-UX 10.20 cc with -0.0 literal.
21442         * tests/test-isnanf.h (zero): New variable.
21443         (main): Avoid literal -0.0f.
21444         * tests/test-isnand.h (zero): New variable.
21445         (main): Avoid literal -0.0.
21446         * tests/test-isnanl.h (zero): New variable.
21447         (main): Avoid literal -0.0L.
21448         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
21449         (test_float, test_double, test_long_double): Avoid literals -0.0f,
21450         -0.0, -0.0L.
21451         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
21452         (test_signbitd): Avoid literal -0.0.
21453         (test_signbitl): Avoid literal -0.0L.
21454         * tests/test-ceilf1.c (zero): New variable.
21455         (main): Avoid literal -0.0f.
21456         * tests/test-ceill.c (zero): New variable.
21457         (main): Avoid literal -0.0L.
21458         * tests/test-floorf1.c (zero): New variable.
21459         (main): Avoid literal -0.0f.
21460         * tests/test-floorl.c (zero): New variable.
21461         (main): Avoid literal -0.0L.
21462         * tests/test-roundf1.c (zero): New variable.
21463         (main): Avoid literal -0.0f.
21464         * tests/test-round1.c (zero): New variable.
21465         (main): Avoid literal -0.0.
21466         * tests/test-roundl.c (zero): New variable.
21467         (main): Avoid literal -0.0L.
21468         * tests/test-truncf1.c (zero): New variable.
21469         (main): Avoid literal -0.0f.
21470         * tests/test-trunc1.c (zero): New variable.
21471         (main): Avoid literal -0.0.
21472         * tests/test-truncl.c (zero): New variable.
21473         (main): Avoid literal -0.0L.
21474         * tests/test-frexp.c (zero): New variable.
21475         (main): Avoid literal -0.0.
21476         * tests/test-frexpl.c (zero): New variable.
21477         (main): Avoid literal -0.0L.
21478         * tests/test-ldexpl.c (zero): New variable.
21479         (main): Avoid literal -0.0L.
21480         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
21481         (zerod, zerol): New variables.
21482         (test_function): Avoid literals -0.0, -0.0L.
21483         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
21484         (zerod, zerol): New variables.
21485         (test_function): Avoid literals -0.0, -0.0L.
21486         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
21487         (zerod, zerol): New variables.
21488         (test_function): Avoid literals -0.0, -0.0L.
21489         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
21490         (zerod, zerol): New variables.
21491         (test_function): Avoid literals -0.0, -0.0L.
21492         * tests/test-strtod.c (zero): New variable.
21493         (main): Avoid literal -0.0.
21494         Reported by Jonathan C. Patschke <jp@centtech.com>.
21495
21496 2008-07-31  Jim Meyering  <meyering@redhat.com>
21497
21498         sha256.h: correct definition of SHA224_DIGEST_SIZE
21499         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
21500         Reported by Paulie Pena IV <paulie4@gmail.com>.
21501         Define as 224 / 8, rather than as a literal.
21502         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
21503         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
21504         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
21505
21506 2008-07-31  Bruno Haible  <bruno@clisp.org>
21507
21508         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
21509         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
21510         Reported by Jonathan Patschke <jp@centtech.com>.
21511
21512 2008-07-31  Bruno Haible  <bruno@clisp.org>
21513
21514         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
21515         Reported by Paolo Bonzini <bonzini@gnu.org>.
21516
21517 2008-07-30  Eric Blake  <ebb9@byu.net>
21518
21519         test-strtod: allow compilation without -lm
21520         * tests/test-strtod.c (main): Avoid link dependence on fabs.
21521         Reported by Dennis Clarke <blastwave@gmail.com>.
21522
21523 2008-07-28  Jim Meyering  <meyering@redhat.com>
21524
21525         bootstrap: work also when there are no .po files in po/
21526         * build-aux/bootstrap (update_po_files): Complete the change
21527         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
21528
21529 2008-07-27  Jim Meyering  <meyering@redhat.com>
21530
21531         * users.txt: Add zile.
21532
21533 2008-07-26  Ben Pfaff  <blp@gnu.org>
21534
21535         Add missing dependencies on new m4/exponent[fdl].m4 files.
21536         * modules/isnanf-nolibm: Add m4/exponentf.m4.
21537         * modules/isnand-nolibm: Add m4/exponentd.m4.
21538         * modules/isnanl-nolibm: Add m4/exponentl.m4.
21539         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
21540         m4/isnan[fdl].m4, because the macros actually used moved.
21541         Reported by Jim Meyering.
21542
21543 2008-07-14  Ben Pfaff  <blp@gnu.org>
21544
21545         Add isinf module.
21546         * lib/isinf.c: New file.
21547         * lib/math.in.h: Define isinf macro if we have decided to replace
21548         it.
21549         * m4/isinf.m4: New file.
21550         * m4/math_h.m4: Initialize and substitute variables for isinf
21551         module.
21552         * modules/isinf: New file.
21553         * modules/isinf-tests: New file.
21554         * modules/math: Add substitutions for new module.
21555         * tests/test-isinf.c: New file.
21556         * doc/posix-functions/isinf.texi: Mention new module.
21557         * MODULES.html.sh: Mention new module.
21558
21559 2008-07-14  Ben Pfaff  <blp@gnu.org>
21560
21561         Factor out some macros for use by additional modules.
21562         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
21563         exponentf.m4.
21564         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
21565         exponentd.m4.
21566         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
21567         file exponentl.m4.
21568         * m4/exponentf.m4: New file.
21569         * m4/exponentd.m4: New file.
21570         * m4/exponentl.m4: New file.
21571         * modules/isnanf: Use new file m4/exponentf.m4.
21572         * modules/isnand: Use new file m4/exponentd.m4.
21573         * modules/isnanl: Use new file m4/exponentl.m4.
21574
21575 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
21576
21577         mktime.c: normalize tp->tm_isdst value to -1/0/1.
21578         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
21579         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
21580         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
21581
21582         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
21583         readlink on platforms without PATH_MAX.
21584
21585 2008-07-21  Eric Blake  <ebb9@byu.net>
21586
21587         Warn, not fail, on stale version.
21588         * top/GNUmakefile (_curr-ver): Tone down previous patch.
21589
21590         Don't allow installation with stale devel version number.
21591         * top/GNUmakefile (_is-install-target): New macro.
21592         (_curr-ver): Forbid installation with stale version number.
21593
21594 2008-07-20  Bruno Haible  <bruno@clisp.org>
21595
21596         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
21597         TESTS_ENVIRONMENT.
21598         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
21599
21600 2008-07-20  Bruno Haible  <bruno@clisp.org>
21601
21602         * lib/c-stack.h (c_stack_action): Add documentation.
21603         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
21604
21605 2008-07-20  Bruno Haible  <bruno@clisp.org>
21606
21607         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
21608         * modules/readlink (License): Likewise.
21609
21610 2008-07-17  Eric Blake  <ebb9@byu.net>
21611
21612         * modules/c-stack (Link): Fix typo.
21613
21614         Make c-stack use libsigsegv, when available.
21615         * modules/c-stack (Depends-on): Add libsigsegv.
21616         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
21617         needed.
21618         * lib/c-stack.c (SIGSTKSZ): Define fallback.
21619         (segv_handler, overflow_handler, c_stack_action)
21620         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
21621         implementation when libsigsegv is available, but only when using
21622         the library is necessary.
21623         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
21624         comment, explaining why XSI check fails on Linux.
21625         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
21626         * tests/test-c-stack2.sh: Tweak skip message.
21627         * NEWS: Document new link-time requirements.
21628
21629 2008-07-16  Eric Blake  <ebb9@byu.net>
21630
21631         c-stack: Expose false positives when not using libsigsegv.
21632         * modules/c-stack-tests (Files): Expand test.
21633         * tests/test-c-stack.c (main): Add means to conditionally trigger
21634         non-overflow SIGSEGV.
21635         * tests/test-c-stack2.sh: New file.
21636
21637 2008-07-14  Bruno Haible  <bruno@clisp.org>
21638
21639         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
21640         Reported by Eric Blake.
21641
21642 2008-07-14  Sam Steingold  <sds@gnu.org>
21643             Bruno Haible  <bruno@clisp.org>
21644
21645         New module libsigsegv.
21646         * modules/libsigsegv: New file.
21647         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
21648         modifications.
21649         * MODULES.html.sh (Signal handling): New section.
21650
21651 2008-07-14  Bruno Haible  <bruno@clisp.org>
21652
21653         * modules/unictype/ctype-* (Description): Add the word "function".
21654         Improves the resulting doc in MODULES.html.
21655
21656 2008-07-12  Ben Pfaff  <blp@gnu.org>
21657
21658         Add longlong module.
21659         * modules/longlong: New file.
21660
21661 2008-07-12  Bruno Haible  <bruno@clisp.org>
21662
21663         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
21664         to empty.
21665
21666 2008-07-10  Ben Pfaff  <blp@gnu.org>
21667
21668         Add isnan module.
21669         * doc/posix-functions/isnan.texi: Mention new module.
21670         * lib/math.in.h: Define isnan macro if we have decided to replace
21671         it.
21672         * m4/isnan.m4: New file.
21673         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
21674         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
21675         also.
21676         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
21677         redundancy.
21678         * m4/math_h.m4: Initialize and substitute variables for isnan
21679         module.
21680         * modules/isnan: New file.
21681         * modules/isnan-tests: New file.
21682         * modules/math: Add substitutions for new module.
21683         * tests/test-isnan.c: New file.
21684         * MODULES.html.sh: Mention new module.
21685
21686 2008-07-10  Ben Pfaff  <blp@gnu.org>
21687
21688         Add isnanf module.
21689         * lib/isnanf.m4: New file.
21690         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
21691         (gl_HAVE_ISNANF_IN_LIBM): New macro.
21692         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
21693         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
21694         * modules/isnanf: New file.
21695         * modules/isnanf-tests: New file.
21696         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
21697         files.
21698         * tests/test-isnanf-nolibm.c: factored most of its contents into
21699         new file tests/test-isnanf.h.
21700         * tests/test-isnanf.h: New file.
21701         * tests/test-isnanf.c: New file.
21702         * MODULES.html.sh: Mention new module.
21703         * doc/glibc-functions/isnanf.texi: Mention new module.
21704
21705 2008-07-10  Ben Pfaff  <blp@gnu.org>
21706
21707         Add isnand module.
21708         * lib/isnand.h: New file.
21709         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
21710         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
21711         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
21712         functionality also.
21713         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
21714         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
21715         (gl_HAVE_ISNAND_IN_LIBM): New macro.
21716         * modules/isnand: New file.
21717         * modules/isnand-tests: New file.
21718         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
21719         files.
21720         * tests/test-isnand-nolibm.c: factored most of its contents into
21721         new file tests/test-isnand.h.
21722         * tests/test-isnand.h: New file.
21723         * tests/test-isnand.c: New file.
21724         * MODULES.html.sh: Mention new module.
21725
21726 2008-07-10  Ben Pfaff  <blp@gnu.org>
21727
21728         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
21729         * lib/isnand.h: Rename lib/isnand-nolibm.h.
21730         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
21731         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
21732         * modules/isnanf-nolibm: Update references to renamed files.
21733         * modules/isnand-nolibm: Likewise.
21734         * modules/isnanf-nolibm-tests: Likewise.
21735         * modules/isnand-nolibm-tests: Likewise.
21736         * lib/frexp.c: Likewise.
21737         * lib/isfinite.c: Likewise.
21738         * lib/signbitd.c: Likewise.
21739         * lib/signbitf.c: Likewise.
21740         * lib/vasnprintf.c: Likewise.
21741         * tests/test-ceilf1.c: Likewise.
21742         * tests/test-ceilf2.c: Likewise.
21743         * tests/test-floorf1.c: Likewise.
21744         * tests/test-floorf2.c: Likewise.
21745         * tests/test-frexp.c: Likewise.
21746         * tests/test-round1.c: Likewise.
21747         * tests/test-round2.c: Likewise.
21748         * tests/test-roundf1.c: Likewise.
21749         * tests/test-strtod.c: Likewise.
21750         * tests/test-trunc1.c: Likewise.
21751         * tests/test-trunc2.c: Likewise.
21752         * tests/test-truncf1.c: Likewise.
21753         * tests/test-truncf2.c: Likewise.
21754         * NEWS: Mention the renamed header files.
21755
21756 2008-07-11  Jim Meyering  <meyering@redhat.com>
21757
21758         vc-list-files: make the last-resort awk code more portable
21759         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
21760         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
21761         does not support it.
21762
21763 2008-07-10  Eric Blake  <ebb9@byu.net>
21764
21765         Work with tar's bootstrap.
21766         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
21767         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
21768         an m4 comment.
21769
21770 2008-07-09  Jim Meyering  <meyering@redhat.com>
21771
21772         posix-shell.m4: fix typo that made this test malfunction
21773         * m4/posix-shell.m4: Remove capitalization in variable name.
21774
21775 2008-07-08  Bruno Haible  <bruno@clisp.org>
21776
21777         * m4/onceonly.m4: Update comments.
21778         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21779
21780 2008-07-04  Jim Meyering  <meyering@redhat.com>
21781
21782         * users.txt: Add vc-dwim.
21783         (bison, coreutils): Use the gitweb URL.
21784
21785 2008-07-03  Jim Meyering  <meyering@redhat.com>
21786
21787         * users.txt: Add libffcall.  From Sam Steingold.
21788
21789 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
21790
21791         getdate.y: do not ignore TZ with relative day, month or year offset
21792         * lib/getdate.y (get_date): Move the tz-handling block to follow the
21793         relative-date-handling, since otherwise, the latter would clobber the
21794         sole output (an updated Start value) of the tz-handling block.
21795         * tests/test-getdate.c: Tests for the fix
21796
21797 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21798
21799         Recognize 'foo_LIBRARIES += libgnu.a'.
21800         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
21801         makefile snippet has already specified an installation location,
21802         also using '+='.
21803
21804 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
21805
21806         getdate.y: factor out common actions
21807         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
21808         Use them in place of open-coded actions.
21809
21810 2008-07-01  Simon Josefsson  <simon@josefsson.org>
21811
21812         Add self-test for getdate module.
21813         * modules/getdate-tests: New file.
21814         * tests/test-getdate.c: New file.
21815
21816 2008-06-29  Bruno Haible  <bruno@clisp.org>
21817
21818         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
21819         .gitignore.
21820         Reported by Sylvain Beucler <beuc@beuc.net>.
21821
21822 2008-06-29  Bruno Haible  <bruno@clisp.org>
21823
21824         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
21825         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
21826
21827 2008-06-29  Bruno Haible  <bruno@clisp.org>
21828
21829         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
21830         EXTRA_DIST.
21831         Reported by Sylvain Beucler <beuc@beuc.net>.
21832
21833 2008-06-26  Jim Meyering  <meyering@redhat.com>
21834
21835         make several modules depend on the "open" module
21836         This provides slightly increased consistency when opening-for-write
21837         the name of a non-directory spelled with a trailing slash.
21838         * modules/chdir-safer: Likewise.
21839         * modules/chown: Likewise.
21840         * modules/clean-temp: Likewise.
21841         * modules/copy-file: Likewise.
21842         * modules/fchdir: Likewise.
21843         * modules/fcntl-safer: Likewise.
21844         * modules/pipe: Likewise.
21845         * modules/utime: Likewise.
21846         Prompted by Eric Blake and Bruno Haible.
21847
21848 2008-06-24  Andreas Schwab  <schwab@suse.de>
21849
21850         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
21851         literals can be used as initializers for global variables.
21852
21853 2008-06-23  Eric Blake  <ebb9@byu.net>
21854
21855         Make gnulib-cache.m4 easier to diff.
21856         * gnulib-tool (func_import): Allow newlines when reading cached
21857         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
21858
21859 2008-06-23  Bruno Haible  <bruno@clisp.org>
21860
21861         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
21862         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
21863         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
21864         m4/signalblocking.m4.
21865         (gl_PREREQ_SIGACTION): Don't invoke it.
21866         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
21867         gl_PREREQ_SIG_HANDLER_H.
21868         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
21869         Don't check for sigaction here.
21870
21871 2008-06-23  Bruno Haible  <bruno@clisp.org>
21872
21873         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
21874         (install_handlers): Don't set the SA_RESETHAND flag.
21875
21876 2008-06-23  Bruno Haible  <bruno@clisp.org>
21877
21878         * m4/sigaction.m4: Comment fixes.
21879         * lib/signal.in.h: Likewise.
21880
21881 2008-06-23  Eric Blake  <ebb9@byu.net>
21882
21883         Fix typo.
21884         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
21885
21886         Avoid SA_ namespace.
21887         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
21888         Reported by Ralf Wildenhues.
21889
21890         Avoid test failure due to SA_RESTORER.
21891         * tests/test-sigaction.c (SA_MASK): New macro.
21892         (main): Avoid failing due to extension flags being set.
21893         Reported by Jim Meyering.
21894
21895         Revert use of sig-handler.h in sigprocmask.c.
21896         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
21897         it requires the existence of struct sigaction.
21898         * lib/sigprocmask.c (handler_t): Restore typedef.
21899         (rpl_signal, old_handlers): Use local type.
21900
21901 2008-06-22  Bruno Haible  <bruno@clisp.org>
21902
21903         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
21904         conditionally.
21905         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21906
21907 2008-06-22  Bruno Haible  <bruno@clisp.org>
21908
21909         * doc/posix-functions/siginterrupt.texi: Move note.
21910
21911         * lib/signal.in.h (SA_RESTART): New macro.
21912         * lib/sigaction.c: Update comment.
21913
21914         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
21915
21916         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
21917         (gl_PREREQ_SIGPROCMASK): Invoke it.
21918         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
21919
21920         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
21921
21922         * lib/sigprocmask.c: Update a comment.
21923
21924 2008-06-21  Eric Blake  <ebb9@byu.net>
21925
21926         Use sigaction module rather than signal().
21927         * modules/c-stack (Depends-on): Add sigaction.
21928         * modules/fatal-signal (Depends-on): Likewise.
21929         * modules/nanosleep (Depends-on): Likewise.
21930         * modules/sigprocmask (Files): Add sig-handler.h.
21931         * modules/sigaction (Files): Likewise.
21932         * lib/sig-handler.h (get_handler): New file, suggested by Paul
21933         Eggert.
21934         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
21935         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
21936         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
21937         (init_fatal_signals): Likewise.
21938         * lib/nanosleep.c (rpl_nanosleep): Likewise.
21939         (siginterrupt): Delete fallback.
21940         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
21941         instead.
21942         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
21943         siginterrupt.
21944
21945         New module sigaction, for mingw.
21946         * modules/sigaction: New module...
21947         * modules/sigaction-tests: ...and its test.
21948         * m4/sigaction.m4: New file.
21949         * lib/sigaction.c: Likewise.
21950         * tests/test-sigaction.c: Likewise.
21951         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
21952         * modules/signal (Makefile.am): Likewise.
21953         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
21954         needed.
21955         * doc/posix-headers/signal.texi (signal.h): Mention provided
21956         types.
21957         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
21958         that sigaction is preferable.
21959         * doc/posix-functions/sigaction.texi (sigaction): Mention new
21960         module.
21961         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21962         sigaction.
21963
21964         Improve robustness of sigprocmask by overriding signal.
21965         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
21966         is in use.
21967         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
21968         (SIGKILL, SIGSTOP): Provide fallbacks.
21969         (rpl_signal): Implement.
21970         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
21971         signal can be called inside handlers.
21972
21973         Fix nanosleep module on mingw.
21974         * modules/nanosleep (Depends-on): Add sys_select.
21975         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
21976
21977         Fix licensing of sigprocmask.
21978         * modules/raise (License): Relicense as LGPL.
21979
21980 2008-06-21  Bruno Haible  <bruno@clisp.org>
21981
21982         * lib/propername.c (proper_name_utf8): Don't use the transliterated
21983         result if it contains question marks.
21984         Reported by Michael Geng <linux@michaelgeng.de>.
21985
21986 2008-06-19  Bruno Haible  <bruno@clisp.org>
21987
21988         Fix CVS-ism.
21989         * doc/gnulib.texi: Include updated-stamp.texi.
21990         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
21991         (updated-stamp.texi): New rule.
21992         (gnulib.info): Depend on it.
21993         * doc/.gitignore: Add updated-stamp.texi.
21994         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
21995
21996 2008-06-19  Bruno Haible  <bruno@clisp.org>
21997
21998         * doc/Makefile (gnulib.info): Update and simplify dependencies.
21999         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
22000
22001 2008-06-19  Eric Blake  <ebb9@byu.net>
22002
22003         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
22004         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
22005         Reported by Stepan Kasal.
22006
22007 2008-06-18  Bruno Haible  <bruno@clisp.org>
22008
22009         * lib/fatal-signal.c (init_fatal_signals): Add comment.
22010         Reported by Eric Blake.
22011
22012 2008-06-18  Eric Blake  <ebb9@byu.net>
22013
22014         Work around cygwin 1.5.25 strsignal bug.
22015         * tests/test-strsignal.c: Allow for const char *.
22016         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
22017
22018 2008-06-18  Simon Josefsson  <simon@josefsson.org>
22019
22020         * users.txt: Update URL to article and add author/date
22021         information.
22022
22023 2008-06-17  Bruno Haible  <bruno@clisp.org>
22024
22025         New macro gl_DISABLE_THREADS.
22026         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
22027         if the user did not pass --enable-threads or --disable-threads option.
22028         (gl_DISABLE_THREADS): New macro.
22029         Reported by Eric Blake <ebb9@byu.net>.
22030
22031 2008-06-17  Bruno Haible  <bruno@clisp.org>
22032
22033         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
22034         when the macro ignores it.
22035         Based on a patch by Eric Blake <ebb9@byu.net>.
22036
22037 2008-06-17  Bruno Haible  <bruno@clisp.org>
22038
22039         * modules/tls (License): Change to LGPLv2+.
22040         Reported by Eric Blake.
22041
22042 2008-06-17  Eric Blake  <ebb9@byu.net>
22043
22044         Simplify c-stack prerequisites.
22045         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
22046         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
22047         no longer requires <ucontext.h> to exist.  Optimize setrlimit
22048         check.
22049         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
22050         <sys/resource.h>.
22051
22052         Move c-stack test into testsuite.
22053         * modules/c-stack-tests: New file.
22054         * lib/c-stack.c [DEBUG]: Move test program...
22055         * tests/test-c-stack.c: ...into this new file.  Skip rather than
22056         fail test if sigaltstack is lacking.
22057         * tests/test-c-stack.sh: New driver file.
22058
22059 2008-06-16  Eric Blake  <ebb9@byu.net>
22060
22061         Use raise module consistently.
22062         * modules/fatal-signal (Depends-on): Add raise.
22063         * modules/sigprocmask (Depends-on): Likewise.
22064         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
22065         * lib/sigprocmask.c (sigprocmask): Likewise.
22066         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
22067         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
22068
22069         Fix compliance bug in sigpending.
22070         * lib/sigprocmask.c (sigpending): Return pending array via
22071         parameter, not return value.
22072
22073 2008-06-14  Eric Blake  <ebb9@byu.net>
22074
22075         Improve obstack-printf test code.
22076         * tests/test-obstack-printf.c (test_function): Fix comment, and
22077         simplify usage of obstack_* in macros.  Add a test for coverage.
22078         Reported by Bruno Haible.
22079
22080 2008-06-14  Bruno Haible  <bruno@clisp.org>
22081
22082         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
22083         array size as a constant, not as a const variable.
22084         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
22085         AC_USE_SYSTEM_EXTENSIONS.
22086         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
22087         Test whether the obstack_printf function actually exists.
22088         * modules/obstack-printf (Depends-on): Add extensions.
22089         (Include): Remove obstack.h.
22090         * modules/obstack-printf-posix (Depends-on): Add extensions.
22091         (Include): Remove obstack.h.
22092
22093 2008-06-13  Eric Blake  <ebb9@byu.net>
22094
22095         Add obstack-printf and obstack-printf-posix modules.
22096         * modules/obstack-printf: New file.
22097         * modules/obstack-printf-posix: Likewise.
22098         * MODULES.html.sh (Misc): Mention them.
22099         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
22100         Likewise.
22101         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
22102         Likewise.
22103         * modules/stdio (Makefile.am): Accomodate new modules.
22104         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
22105         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
22106         Declare.
22107         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
22108         functions.
22109         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
22110         (gl_REPLACE_OBSTACK_PRINTF): New macros
22111         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
22112         * tests/test-obstack-printf.c: New file.
22113         * modules/obstack-printf-tests: Likewise.
22114         * modules/obstack-printf-posix-tests: Likewise.
22115
22116 2008-06-11  Bruno Haible  <bruno@clisp.org>
22117
22118         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
22119         * lib/open.c: Include errno.h.
22120         (open): Fail when attempting to write to a file that has a trailing
22121         slash.
22122         * tests/test-open.c (main): Test against trailing slash bug.
22123         * doc/posix-functions/open.texi: Mention the trailing slash bug.
22124
22125 2008-06-10  Bruno Haible  <bruno@clisp.org>
22126
22127         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
22128         for $? to work inside the trap command, with various /bin/sh-s.
22129         * tests/test-vc-list-files-cvs.sh: Likewise.
22130
22131 2008-06-10  Bruno Haible  <bruno@clisp.org>
22132
22133         * lib/acl-internal.h: Don't include gettext.h here.
22134         * lib/set-mode-acl.c: Include gettext.h here.
22135         * lib/copy-acl.c: Likewise.
22136
22137 2008-06-10  Bruno Haible  <bruno@clisp.org>
22138
22139         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
22140         * lib/wait-process.c (wait_subprocess): Likewise.
22141         * lib/execute.h (execute): Add termsigp argument.
22142         * lib/execute.c (execute): Likewise.
22143         * lib/csharpcomp.c (compile_csharp_using_pnet,
22144         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
22145         * lib/csharpexec.c (execute_csharp_using_pnet,
22146         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
22147         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
22148         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
22149         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
22150         is_jikes_present): Update.
22151         * lib/javaexec.c (execute_java_class): Update.
22152         * lib/javaversion.c (execute_and_read_line): Update.
22153         * NEWS: Document the changes.
22154         Reported by Eric Blake.
22155
22156 2008-06-10  Eric Blake  <ebb9@byu.net>
22157
22158         Add missing include.
22159         * tests/test-strstr.c (includes): Add <signal.h>.
22160         * tests/test-strcasestr.c (includes): Likewise.
22161         * tests/test-memmem.c (includes): Likewise.
22162
22163 2008-06-10  Bruno Haible  <bruno@clisp.org>
22164
22165         * lib/wait-process.c (wait_subprocess): Add an assertion.
22166
22167 2008-06-10  Bruno Haible  <bruno@clisp.org>
22168
22169         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
22170
22171 2008-06-10  Bruno Haible  <bruno@clisp.org>
22172
22173         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
22174         using alarm().
22175         * tests/test-strcasestr.c (main): Likewise.
22176         * tests/test-strstr.c (main): Likewise.
22177
22178 2008-06-09  Bruno Haible  <bruno@clisp.org>
22179
22180         Work around the Solaris 10 ACE ACLs ABI change.
22181         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
22182         declare if ACL_NO_TRIVIAL is present.
22183         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
22184         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
22185         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
22186         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
22187         define if ACL_NO_TRIVIAL is present.
22188         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
22189         and use the current ABI.
22190         (file_has_acl): Use same #if condition as elsewhere.
22191         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
22192         in use, and use the current ABI.
22193         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
22194         Reported by Jim Meyering.
22195
22196 2008-06-09  Eric Blake  <ebb9@byu.net>
22197
22198         Work around environments that (stupidly) ignore SIGALRM.
22199         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
22200         before using alarm().
22201         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22202         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22203         Reported by Ian Beckwith <ianb@erislabs.net>.
22204
22205         Produce autobuild blurb earlier in log.
22206         * modules/autobuild (configure.ac-early): Move AB_INIT here.
22207
22208 2008-06-09  Jim Meyering  <meyering@redhat.com>
22209         and OndÅ™ej Vašík  <ovasik@redhat.com>
22210
22211         utimens.c: correct kernel bug work-around
22212         OndÅ™ej Vašík found that the invalid return value of 280 indicates
22213         failure, not success, and the kernel bug we're trying to work
22214         around affects not just the utimensat call, but also the fallback
22215         futimens call.
22216         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
22217         not success.
22218         [HAVE_FUTIMENS]: Use the same work-around, here.
22219
22220 2008-06-09  Jim Meyering  <meyering@redhat.com>
22221
22222         add more guards around definition of ACE_-related code
22223         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
22224         ALLOW and ACE_OWNER are also defined.
22225
22226 2008-06-08  Bruno Haible  <bruno@clisp.org>
22227
22228         * lib/acl-internal.h: Add me as co-author.
22229         * lib/file-has-acl.c: Likewise.
22230         * lib/set-mode-acl.c: Likewise.
22231         * lib/copy-acl.c: Likewise.
22232
22233 2008-06-08  Bruno Haible  <bruno@clisp.org>
22234
22235         Add support for AIX ACLs.
22236         * lib/acl-internal.h (acl_nontrivial): New declaration.
22237         * lib/file-has-acl.c (acl_nontrivial): New function.
22238         (file_has_acl): Add implementation using AIX 4 ACL API.
22239         * lib/set-mode-acl.c (qset_acl): Likewise.
22240         * lib/copy-acl.c (qcopy_acl): Likewise.
22241
22242 2008-06-08  Bruno Haible  <bruno@clisp.org>
22243
22244         Add support for HP-UX ACLs.
22245         * lib/acl-internal.h (acl_nontrivial): New declaration.
22246         * lib/file-has-acl.c (acl_nontrivial): New function.
22247         (file_has_acl): Add implementation using HP-UX 11 ACL API.
22248         * lib/set-mode-acl.c (qset_acl): Likewise.
22249         * lib/copy-acl.c (qcopy_acl): Likewise.
22250
22251 2008-06-08  Bruno Haible  <bruno@clisp.org>
22252
22253         Add support for Cygwin ACLs.
22254         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
22255         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
22256         the chmod_or_fchmod call.
22257         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
22258
22259 2008-06-08  Bruno Haible  <bruno@clisp.org>
22260
22261         Fix bug with setuid modes in Solaris 10+ code.
22262         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
22263         succeeded, when the mode contains some special bits.
22264
22265 2008-06-08  Bruno Haible  <bruno@clisp.org>
22266
22267         Add support for Solaris 7..10 ACLs.
22268         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
22269         declarations.
22270         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
22271         functions.
22272         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
22273         * lib/set-mode-acl.c (qset_acl): Likewise.
22274         * lib/copy-acl.c (qcopy_acl): Likewise.
22275
22276 2008-06-08  Bruno Haible  <bruno@clisp.org>
22277
22278         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
22279         declaration.
22280         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
22281         (acl_access_nontrivial): Remove MacOS X case.
22282         (file_has_acl): Use acl_extended_nontrivial.
22283         * lib/copy-acl.c (qcopy_acl): Likewise.
22284
22285 2008-06-08  Bruno Haible  <bruno@clisp.org>
22286
22287         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
22288
22289 2008-06-08  Jim Meyering  <meyering@redhat.com>
22290
22291         * modules/acl (Maintainer): Add Bruno Haible.
22292
22293 2008-06-07  Bruno Haible  <bruno@clisp.org>
22294
22295         Improve support for Tru64 ACLs.
22296         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
22297         ACL on OSF/1.
22298
22299 2008-06-07  Bruno Haible  <bruno@clisp.org>
22300
22301         Add support for MacOS X ACLs.
22302         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
22303         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
22304         * lib/set-mode-acl.c (qset_acl): Likewise.
22305         * lib/copy-acl.c (qcopy_acl): Likewise.
22306
22307 2008-06-07  Bruno Haible  <bruno@clisp.org>
22308
22309         Fix memory leak introduced on 2008-05-22.
22310         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
22311         use.
22312
22313 2008-06-07  Bruno Haible  <bruno@clisp.org>
22314
22315         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
22316         to construct an empty ACL.
22317
22318 2008-06-07  Bruno Haible  <bruno@clisp.org>
22319
22320         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
22321         precisely.
22322         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
22323
22324 2008-06-07  Bruno Haible  <bruno@clisp.org>
22325
22326         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
22327         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
22328
22329 2008-06-07  Bruno Haible  <bruno@clisp.org>
22330
22331         * doc/posix-functions/_setjmp.texi: Explain the use of this function
22332         regardless of POSIX.
22333         * doc/posix-functions/_longjmp.texi: Likewise.
22334         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
22335         SystemV platform in this case.
22336
22337 2008-06-06  Eric Blake  <ebb9@byu.net>
22338
22339         Document abort() bugs.
22340         * doc/posix-functions/abort.texi (abort): Mention anomalies.
22341
22342         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
22343         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
22344         sigsetjmp.
22345         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
22346         siglongjmp, but only as a macro.
22347         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
22348         is obsolete.
22349         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
22350
22351         Tweak documentation to cover cygwin argz bugs.
22352         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
22353         argz bug fix; no code change needed since no cygwin releases
22354         occurred between the last fix and the bug being tested.
22355         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
22356         module and recently fixed cygwin bugs.
22357         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
22358         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
22359         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
22360         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
22361         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
22362         Likewise.
22363         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
22364         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
22365         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
22366         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
22367         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
22368         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
22369         Likewise.
22370
22371         Avoid gcc warning on cygwin.
22372         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
22373         !ACL_NO_TRIVIAL]: Avoid unused variable.
22374
22375 2008-06-05  Eric Blake  <ebb9@byu.net>
22376
22377         Be tolerant of UNKNOWN version in gnulib-tool test dir.
22378         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
22379         git-version-gen fails to come up with a version.
22380         Reported by Simon Josefsson.
22381
22382 2008-06-05  Jim Meyering  <meyering@redhat.com>
22383             Paul Eggert  <eggert@cs.ucla.edu>
22384
22385         utimens.c: work around a probable Linux kernel bug
22386         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
22387         appears to be a kernel bug that causes utimensat to return 280
22388         instead of 0, indicating success.
22389
22390 2008-06-04  Bruno Haible  <bruno@clisp.org>
22391
22392         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
22393         2008-06-01 commit.
22394
22395 2008-06-04  Bruno Haible  <bruno@clisp.org>
22396
22397         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
22398         * lib/file-has-acl.c (acl_access_nontrivial): New function.
22399         (file_has_acl): Use it. Save errno afterwards.
22400         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
22401
22402 2008-06-03  Bruno Haible  <bruno@clisp.org>
22403
22404         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
22405         draft code. Simplify #ifs.
22406         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
22407         Put Solaris code after POSIX-draft code. Fix comments regarding
22408         Solaris 10, HP-UX. Mention Cygwin.
22409         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
22410
22411 2008-06-03  Eric Blake  <ebb9@byu.net>
22412
22413         Provide fallback for older kernels.
22414         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
22415         Provide runtime fallback if kernel lacks support.
22416         Reported by Mike Frysinger.
22417
22418 2008-06-02  Bruno Haible  <bruno@clisp.org>
22419
22420         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
22421         it exists.
22422
22423 2008-06-02  Bruno Haible  <bruno@clisp.org>
22424
22425         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
22426         * lib/copy-acl.c (qcopy_acl): Update comment.
22427
22428 2008-06-02  Bruno Haible  <bruno@clisp.org>
22429
22430         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
22431         like ACL APIs.
22432
22433 2008-06-02  Bruno Haible  <bruno@clisp.org>
22434
22435         * tests/test-file-has-acl.sh: Use different code for Cygwin.
22436         * tests/test-set-mode-acl.sh: Likewise.
22437         * tests/test-copy-acl.sh: Likewise.
22438         * tests/test-copy-file.sh: Likewise.
22439
22440 2008-06-02  Bruno Haible  <bruno@clisp.org>
22441
22442         * tests/test-file-has-acl.sh: Remove unused code.
22443
22444 2008-06-01  Bruno Haible  <bruno@clisp.org>
22445
22446         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
22447         (copy_acl): Just a wrapper around qcopy_acl that emits the error
22448         messages.
22449         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
22450
22451 2008-06-01  Bruno Haible  <bruno@clisp.org>
22452
22453         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
22454         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
22455         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
22456         APIs.
22457         * modules/acl-tests (configure.ac): Remove tests now contained in
22458         m4/acl.m4.
22459
22460 2008-06-02  Jim Meyering  <meyering@redhat.com>
22461
22462         announce-gen: use a better key-server host name
22463         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
22464         it may be more consistently reliable.  Suggested by Werner Koch
22465         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
22466
22467 2008-06-01  Bruno Haible  <bruno@clisp.org>
22468
22469         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
22470         Reported by Voroskoi Andras <voroskoi@gmail.com>.
22471
22472 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
22473
22474         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
22475
22476 2008-06-01  Bruno Haible  <bruno@clisp.org>
22477
22478         New ACL tests.
22479         * tests/test-file-has-acl.sh: New file.
22480         * tests/test-file-has-acl.c: New file.
22481         * tests/test-set-mode-acl.sh: New file.
22482         * tests/test-set-mode-acl.c: New file.
22483         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
22484         * tests/test-copy-acl.c: New file.
22485         * modules/acl-tests: New file, based on modules/copy-file-tests.
22486         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
22487         (Depends-on): Add acl-tests.
22488         (configure.ac): Remove checks.
22489         (Makefile.am): Don't create test-sameacls program here any more.
22490
22491 2008-06-01  Bruno Haible  <bruno@clisp.org>
22492
22493         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
22494         * tests/test-sameacls.c: Include progname.h.
22495         (main): Invoke set_program_name. Portability fixes for MacOS X,
22496         Solaris, HP-UX.
22497
22498 2008-06-01  Bruno Haible  <bruno@clisp.org>
22499
22500         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
22501         function.
22502         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
22503
22504 2008-06-01  Bruno Haible  <bruno@clisp.org>
22505
22506         * modules/rpmatch (Depends-on): Add strdup.
22507
22508 2008-06-01  Bruno Haible  <bruno@clisp.org>
22509
22510         * lib/pipe.c: Include unistd-safer.h.
22511         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
22512         * modules/pipe (Depends-on): Add unistd-safer.
22513
22514 2008-05-30  Simon Josefsson  <simon@josefsson.org>
22515
22516         * modules/autobuild (configure.ac): Call AB_INIT.
22517
22518 2008-05-30  Simon Josefsson  <simon@josefsson.org>
22519
22520         * tests/test-getaddrinfo.c: Don't print debug messages by default.
22521         Suggested by Bruno Haible <bruno@clisp.org>.
22522
22523 2008-05-30  Simon Josefsson  <simon@josefsson.org>
22524
22525         * tests/test-base64.c: Cast size_t to unsigned long when invoking
22526         printf.  Use %lu instead of %d.  Reported by Bruno Haible
22527         <bruno@clisp.org>.
22528
22529 2008-05-29  Eric Blake  <ebb9@byu.net>
22530
22531         Prefer new POSIX 200x interfaces over futimesat.
22532         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
22533         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
22534         when available.
22535         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
22536
22537 2008-05-28  Bruno Haible  <bruno@clisp.org>
22538
22539         * modules/stpcpy (License): Change to LGPLv2+.
22540         Requested by David Lutterkort <dlutter@redhat.com>.
22541
22542 2008-05-27  Bruno Haible  <bruno@clisp.org>
22543
22544         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
22545         current mingw.
22546         Reported by Jose E. Marchesi <jemarch@gnu.org>.
22547
22548 2008-05-27  Bruno Haible  <bruno@clisp.org>
22549
22550         * modules/iconv_open (Link): New section, from module 'iconv'.
22551         * modules/striconv (Link): Likewise.
22552         * modules/striconveh (Link): Likewise.
22553         * modules/xstriconv (Link): Likewise.
22554         * modules/unicodeio (Link): Likewise.
22555         * modules/propername (Link): Likewise.
22556         Reported by Jim Meyering.
22557
22558 2008-05-26  Jim Meyering  <meyering@redhat.com>
22559
22560         sha256: do not artificially restrict buffer length to be < 2^32
22561         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
22562         uint32_t to size_t.
22563         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
22564         to match.
22565
22566         avoid unaligned access errors, e.g., on sparc
22567         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
22568         direct access through a possibly-unaligned uint64* pointer.
22569         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
22570         direct access through a possibly-unaligned uint32* pointer.
22571         Prompted by this patch from Tom "spot" Callaway:
22572         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
22573
22574         sha512.c: fix typo in comment
22575         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
22576
22577 2008-05-25  Bruno Haible  <bruno@clisp.org>
22578
22579         * lib/set-mode-acl.c: Renamed from lib/acl.c.
22580         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
22581         (Makefile.am): Update lib_SOURCES.
22582
22583 2008-05-25  Bruno Haible  <bruno@clisp.org>
22584
22585         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
22586
22587 2008-05-25  Jim Meyering  <meyering@redhat.com>
22588
22589         useless-if-before-free: freed expr may have white-space differences
22590         * build-aux/useless-if-before-free: Recognize cases in which the
22591         freed expression differs from the tested one in embedded white
22592         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
22593         $1 was used, so we can't make any regexp shy.  Improved tests now
22594         detect this.
22595
22596         useless-if-before-free: accept white space in the expression.
22597         * build-aux/useless-if-before-free: For now, any white space
22598         in the expression must be identical in the free argument.
22599
22600         useless-if-before-free: efficiency tweak
22601         * build-aux/useless-if-before-free: Make the expression-matching
22602         regexp "shy".
22603         Make the *outer* regexp shy, not the expr-matching one.
22604
22605         update code-in-comment to accept cast of free arg
22606         * build-aux/useless-if-before-free: Update regexp.
22607
22608 2008-05-25  Bruno Haible  <bruno@clisp.org>
22609
22610         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
22611         * modules/copy-file-tests (Files, Makefile.am): Update.
22612         * tests/test-copy-file.c (func_test_copy): Update.
22613
22614 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
22615
22616         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
22617
22618 2008-05-23  Bruno Haible  <bruno@clisp.org>
22619
22620         Improve support for ACLs on OSF/1.
22621         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
22622         Remove fallback for unknown flavors of ACLs.
22623
22624 2008-05-22  Bruno Haible  <bruno@clisp.org>
22625
22626         Add support for ACLs on OSF/1.
22627         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
22628         replacements.
22629         (acl_free_text): New macro fallback.
22630         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
22631         acl_free.
22632         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
22633         acl_free_text function. Require AC_C_INLINE.
22634
22635 2008-05-22  Bruno Haible  <bruno@clisp.org>
22636
22637         Make copy_acl work on MacOS X 10.5.
22638         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
22639         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
22640         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
22641         If MODE_INSIDE_ACL, don't assume that every system has the same text
22642         representation for ACLs as FreeBSD.
22643         * lib/copy-acl.c (copy_acl): Add support for platforms with
22644         !MODE_INSIDE_ACL.
22645         * lib/file-has-acl.c (file_has_acl): Likewise.
22646         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
22647         FreeBSD, MacOS X, or IRIX, respectively.
22648
22649 2008-05-22  Bruno Haible  <bruno@clisp.org>
22650
22651         * lib/acl.h: Don't include <sys/acl.h>.
22652         (GETACLCNT): Move fallback to lib/acl-internal.h.
22653         * lib/acl-internal.h: Include <sys/acl.h> here.
22654         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
22655
22656 2008-05-22  Bruno Haible  <bruno@clisp.org>
22657
22658         Split off copy_acl function to separate file.
22659         * lib/copy-acl.c: New file, extracted from lib/acl.c.
22660         * lib/acl.c (copy_acl): Moved function to separate file.
22661         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
22662         * modules/acl (Files): Add lib/copy-acl.c.
22663         (Makefiles.am): Augment lib_SOURCES.
22664
22665 2008-05-22  Bruno Haible  <bruno@clisp.org>
22666
22667         * modules/copy-file-tests: New file.
22668         * tests/test-copy-file.sh: New file.
22669         * tests/test-copy-file.c: New file.
22670         * tests/test-copy-file-sameacls.c: New file.
22671
22672 2008-05-22  Eric Blake  <ebb9@byu.net>
22673
22674         Avoid gcc warning.
22675         * tests/test-memcmp.c (main): Pass NULL indirectly.
22676
22677 2008-05-21  Bruno Haible  <bruno@clisp.org>
22678
22679         Add reference doc about ACLs.
22680         * doc/acl-resources.txt: New file.
22681         * doc/acl-cygwin.txt: New file.
22682
22683 2008-05-21  Bruno Haible  <bruno@clisp.org>
22684
22685         Avoid one more warning from gcc.
22686         * lib/vasnprintf.c (IF_LINT): Update comments.
22687         (VASNPRINTF): Use it also for the 'prefix' array initializer.
22688
22689 2008-05-21  Jim Meyering  <meyering@redhat.com>
22690
22691         avoid a warning from gcc
22692         * lib/vasnprintf.c (IF_LINT): Define.
22693         (scale10_round_decimal_long_double):
22694         Use it to avoid a "may be used uninitialized" warning.
22695         (scale10_round_decimal_double): Likewise.
22696
22697 2008-05-21  Simon Josefsson  <simon@josefsson.org>
22698
22699         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
22700         declared.
22701
22702 2008-05-20  Bruno Haible  <bruno@clisp.org>
22703
22704         * tests/test-memcmp.c (main): Test also the sign of the result. Test
22705         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
22706
22707 2008-05-20  Simon Josefsson  <simon@josefsson.org>
22708
22709         * modules/memcmp-tests: New file.
22710         * tests/test-memcmp.c: New file.
22711
22712 2008-05-19  Bruno Haible  <bruno@clisp.org>
22713
22714         * modules/propername (Notice, configure.ac): Put quoted "..." into
22715         --keyword option.
22716         * lib/propername.h: Update comments accordingly.
22717         Reported by Eric Blake.
22718
22719 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
22720
22721         * modules/getpass-gnu (Depends-on): Add fseeko.
22722
22723 2008-05-19  Simon Josefsson  <simon@josefsson.org>
22724
22725         * modules/base64-tests: New file.
22726
22727 2008-05-19  Bo Borgerson <gigabo@gmail.com>
22728
22729         * lib/base64.c (base64_decode_ctx): If a decode context structure
22730         was passed in use it to ignore newlines.  If a context structure
22731         was _not_ passed in, continue to treat newlines as garbage (this
22732         is the historical behavior).  Formerly base64_decode.
22733         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
22734         takes a decode context structure.
22735         * lib/base64.h (base64_decode): Macro for four-argument calls.
22736         (base64_decode_alloc): Likewise.
22737         * lib/base64.c (base64_decode_ctx): If a decode context structure
22738         was passed in use it to ignore newlines.  If a context structure
22739         was _not_ passed in, continue to treat newlines as garbage (this
22740         is the historical behavior).  Formerly base64_decode.
22741         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
22742         takes a decode context structure.
22743         * lib/base64.h (base64_decode): Macro for four-argument calls.
22744         (base64_decode_alloc): Likewise.
22745
22746 2008-05-19  Jim Meyering  <meyering@redhat.com>
22747
22748         avoid a warning from gcc
22749         * lib/trim.c (IF_LINT): Define.
22750         (trim2): Use it to avoid a "may be used uninitialized" warning.
22751
22752         Fix doc typo.
22753         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
22754
22755 2008-05-19  Bruno Haible  <bruno@clisp.org>
22756
22757         * doc/glibc-functions/getpass.texi: Document limits of other
22758         implementations.
22759
22760 2008-05-19  Simon Josefsson  <simon@josefsson.org>
22761             Bruno Haible <bruno@clisp.org>
22762
22763         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
22764
22765 2008-05-18  Bruno Haible  <bruno@clisp.org>
22766
22767         * modules/propername: New file, from GNU gettext.
22768         * lib/propername.h: New file, from GNU gettext.
22769         * lib/propername.c: New file, from GNU gettext.
22770         * MODULES.html.sh (Internationalization functions): Add propername.
22771
22772 2008-05-16  Jim Meyering  <meyering@redhat.com>
22773             Bruno Haible  <bruno@clisp.org>
22774
22775         Avoid some warnings from "gcc -Wshadow".
22776         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
22777
22778 2008-05-15  Eric Blake  <ebb9@byu.net>
22779
22780         Extend previous patch to cygwin 1.7.0.
22781         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
22782         fast implementation in cygwin >= 1.7.0.
22783         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22784         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22785
22786 2008-05-15  Bruno Haible  <bruno@clisp.org>
22787
22788         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
22789         implementation in glibc >= 2.9.
22790         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22791         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22792
22793 2008-05-15  Bruno Haible  <bruno@clisp.org>
22794
22795         * MODULES.html.sh (Internationalization functions): Remove linebreak.
22796         (Unicode string functions): Add unilbrk/*.
22797         Reported by Karl Berry.
22798
22799 2008-05-15  Eric Blake  <ebb9@byu.net>
22800
22801         Fix violation of <stdbool.h> replacement in regex.
22802         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
22803         * lib/regexec.c (re_search_internal): Likewise.
22804         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
22805
22806 2008-05-15  Jim Meyering  <meyering@redhat.com>
22807
22808         avoid distracting test output when git or cvs is not found
22809         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
22810         * tests/test-vc-list-files-git.sh: Likewise.
22811
22812 2008-05-15  Eric Blake  <ebb9@byu.net>
22813
22814         Glibc finally accepted the memmem speedup code, bugzilla #5514.
22815         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
22816         glibc version.
22817         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
22818         * doc/posix-functions/strstr.texi (strstr): Likewise.
22819         * lib/str-two-way.h (MAX): Sychronize with glibc.
22820
22821 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
22822
22823         * lib/regcomp.c (optimize_utf8): Add a note on why we test
22824         opr.ctx_type.
22825         (calc_first): Initialize constraint field.
22826         (duplicate_node_closure): Use it instead of special casing ANCHORS.
22827         Fix grammar.
22828         (duplicate_node): Merge constraint field for all node types.
22829         (calc_eclosure_iter): Look at constraint field for all node types.
22830         * lib/regex_internal.c (create_cd_newstate): Don't look at
22831         opr.ctx_type.
22832
22833 2008-05-14  Bruno Haible  <bruno@clisp.org>
22834
22835         Help GCC to do better code generation.
22836         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
22837         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
22838         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
22839         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
22840         Declare with attribute 'malloc' if supported.
22841
22842 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
22843
22844         use "echo STR|wc -c" rather than unportable "expr length STR"
22845         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
22846         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
22847
22848 2008-05-14  Jim Meyering  <meyering@redhat.com>
22849
22850         use dd ibs=$n count=1 ... rather than less-portable head -c$n
22851         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
22852         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
22853         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
22854         via Collin Lasse.
22855
22856 2008-05-14  Eric Blake  <ebb9@byu.net>
22857
22858         Avoid quadratic growth in gl_LIBSOURCES.
22859         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
22860         Suggested by Bruno Haible.
22861
22862         Test xmemdup0.
22863         * modules/xmemdup0-tests: New file.
22864         * tests/test-xmemdup0.c: Likewise.
22865
22866 2008-05-13  Eric Blake  <ebb9@byu.net>
22867
22868         Split xmemdup0 into its own module.
22869         * modules/xmemdup0: New file.
22870         * lib/xmemdup0.h: Likewise.
22871         * lib/xmemdup0.c: Likewise.
22872         * MODULES.html.sh (Memory management functions): Add xmemdup0.
22873         * lib/xalloc.h (xmemdup0): Remove.
22874         * lib/xmalloc.c (xmemdup0): Likewise.
22875
22876 2008-05-13  Eric Blake  <ebb9@byu.net>
22877             Bruno Haible  <bruno@clisp.org>
22878
22879         Reduce number of forks required during autoconf.
22880         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
22881         and gl_LIBSOURCES_DIR.
22882         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
22883         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
22884         m4_syscmd per file.
22885         <m4_foreach_w>: Move...
22886         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
22887
22888 2008-05-13  Eric Blake  <ebb9@byu.net>
22889
22890         * gnulib-tool: Fix various comment typos.
22891
22892 2008-05-12  Bruno Haible  <bruno@clisp.org>
22893
22894         Tailor the linebreaking algorithm.
22895         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
22896
22897 2008-05-12  Bruno Haible  <bruno@clisp.org>
22898
22899         Update to Unicode 5.0.0.
22900         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
22901         LBP_JV, LBP_JT. Redistribute values.
22902         (unilbrk_table): Change size.
22903         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
22904         Unicode TR#14 rev. 22.
22905         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
22906         LBP_JV, LBP_JT. Redistribute values.
22907         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
22908         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
22909         Update.
22910         * lib/unilbrk/lbrkprop1.h: Regenerated.
22911         * lib/unilbrk/lbrkprop2.h: Regenerated.
22912         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
22913         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
22914         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
22915         Likewise.
22916         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
22917         Likewise.
22918         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
22919         result.
22920         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22921         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22922         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
22923         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
22924         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
22925         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
22926
22927 2008-05-11  Bruno Haible  <bruno@clisp.org>
22928
22929         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
22930
22931 2008-05-11  Bruno Haible  <bruno@clisp.org>
22932
22933         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
22934         * modules/unilbrk/gen-lbrk: New file.
22935
22936 2008-05-11  Bruno Haible  <bruno@clisp.org>
22937
22938         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
22939         * m4/sha512.m4 (gl_SHA512): Likewise.
22940
22941 2008-05-11  Jim Meyering  <meyering@redhat.com>
22942
22943         New modules: crypto/sha256, crypto/sha512 (from coreutils)
22944         * modules/crypto/sha256: New file.
22945         * modules/crypto/sha512: Likewise.
22946         * lib/sha256.c: Likewise.
22947         * lib/sha256.h: Likewise.
22948         * lib/sha512.c: Likewise.
22949         * lib/sha512.h: Likewise.
22950         * lib/u64.h: Likewise.
22951         * m4/sha256.m4: Likewise.
22952         * m4/sha512.m4: Likewise.
22953         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
22954
22955 2008-05-10  Bruno Haible  <bruno@clisp.org>
22956
22957         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
22958         (Input/Output <stdio.h>): Add xprintf.
22959         (Signal handling <signal.h>): Add strsignal.
22960         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
22961         (Core language properties): Add func.
22962         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
22963         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
22964         strings.
22965         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
22966         (Input/output): New section.
22967         (File system functions): Add openat-die, stat-macros.
22968         (Networking functions): Add sockets.
22969         (Unicode string functions): Add unictype/*.
22970         (Support for building libraries and executables): Add gperf.
22971         (Support for building documentation): Add agpl-3.0.
22972         (Misc): Add nocrash.
22973
22974 2008-05-10  Bruno Haible  <bruno@clisp.org>
22975
22976         * modules/unictype/gen-ctype: New file.
22977
22978 2008-05-10  Jim Meyering  <meyering@redhat.com>
22979
22980         Make chdir-safer.c more efficient on a system with no symlinks.
22981         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
22982         also if ELOOP is zero.  Suggested by Bruno Haible.
22983
22984         Make chdir-safer.c slightly safer.
22985         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
22986         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
22987
22988         Avoid compile failure on systems without ELOOP (like mingw).
22989         * lib/chdir-safer.c (ELOOP): Define if not already defined.
22990         Reported by Bruno Haible.
22991
22992 2008-05-10  Bruno Haible  <bruno@clisp.org>
22993
22994         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
22995         (is_utf8_encoding): Use a case-insensitive comparison.
22996         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
22997         streq.
22998
22999 2008-05-10  Bruno Haible  <bruno@clisp.org>
23000
23001         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
23002         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
23003         * lib/unilbrk/ulc-common.h (iconv_string_length,
23004         iconv_string_keeping_offsets): Remove declarations.
23005         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
23006         Don't include <iconv.h>, streq.h, xsize.h.
23007         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
23008         conversion.
23009         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
23010         <iconv.h>, streq.h, xsize.h.
23011         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
23012         conversion.
23013         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
23014         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
23015         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
23016         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
23017
23018 2008-05-10  Bruno Haible  <bruno@clisp.org>
23019
23020         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
23021         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
23022
23023         * modules/unilbrk/u32-width-linebreaks-tests: New file.
23024         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
23025
23026         * modules/unilbrk/u16-width-linebreaks-tests: New file.
23027         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
23028
23029         * modules/unilbrk/u8-width-linebreaks-tests: New file.
23030         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
23031
23032         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
23033         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
23034
23035         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
23036         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
23037
23038         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
23039         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
23040
23041         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
23042         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
23043
23044 2008-05-10  Bruno Haible  <bruno@clisp.org>
23045
23046         Split up 'linebreak' module.
23047         * lib/unilbrk.h: New file, based on lib/linebreak.h.
23048         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
23049         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
23050         modifications.
23051         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
23052         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
23053         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
23054         lib/linebreak.c.
23055         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
23056         lib/linebreak.c.
23057         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
23058         lib/linebreak.c.
23059         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
23060         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
23061         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
23062         lib/linebreak.c.
23063         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
23064         lib/linebreak.c.
23065         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
23066         lib/linebreak.c.
23067         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
23068         lib/linebreak.c.
23069         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
23070         lib/linebreak.c.
23071         * modules/unilbrk/base: New file.
23072         * modules/unilbrk/tables: New file.
23073         * modules/unilbrk/u8-possible-linebreaks: New file.
23074         * modules/unilbrk/u16-possible-linebreaks: New file.
23075         * modules/unilbrk/u32-possible-linebreaks: New file.
23076         * modules/unilbrk/ulc-common: New file.
23077         * modules/unilbrk/ulc-possible-linebreaks: New file.
23078         * modules/unilbrk/u8-width-linebreaks: New file.
23079         * modules/unilbrk/u16-width-linebreaks: New file.
23080         * modules/unilbrk/u32-width-linebreaks: New file.
23081         * modules/unilbrk/ulc-width-linebreaks: New file.
23082         * lib/linebreak.h: Remove file.
23083         * lib/linebreak.c: Remove file.
23084         * m4/linebreak.m4: Remove file.
23085         * modules/linebreak: Remove file.
23086         * NEWS: Mention the changes.
23087
23088 2008-05-09  Eric Blake  <ebb9@byu.net>
23089
23090         Add xmemdup0.
23091         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
23092         implementation.
23093         * lib/xmalloc.c (xmemdup0): New C implementation.
23094
23095 2008-05-08  Bruno Haible  <bruno@clisp.org>
23096
23097         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
23098
23099 2008-05-07  Eric Blake  <ebb9@byu.net>
23100
23101         Support cross-compilation of <wctype.h>.
23102         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
23103         AC_CACHE_CHECK.
23104
23105 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
23106
23107         * build-aux/vc-list-files: Add support for bzr.
23108
23109 2008-05-03  Jim Meyering  <meyering@redhat.com>
23110
23111         avoid failed assertion with tight malloc
23112         * tests/test-getndelim2.c: Correct an off-by-one assertion.
23113
23114 2008-05-03  Simon Josefsson  <simon@josefsson.org>
23115
23116         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
23117         are needed from arpa/inet.h.
23118         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
23119         Reported by Bruno Haible.
23120
23121 2008-05-02  Jim Meyering  <meyering@redhat.com>
23122
23123         avoid compilation error on FreeBSD 6
23124         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
23125
23126 2008-05-01  Jim Meyering  <meyering@redhat.com>
23127
23128         useless-if-before-free: correct --help's exit status description
23129         * build-aux/useless-if-before-free (usage): Like grep, exit 0
23130         for one or more matches, etc.  Reported by Bruno Haible.
23131
23132         vc-list-files: make the stand-alone gnulib test work
23133         * modules/vc-list-files-tests (configure.ac):
23134         Define and AC_SUBST abs_aux_dir.
23135         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
23136         $(abs_top_srcdir) to each script and having each of them
23137         duplicate the work of setting PATH, set PATH here, using
23138         the new variable, abs_aux_dir instead.
23139         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
23140         * tests/test-vc-list-files-git.sh: Likewise.
23141         Reported by Bruno Haible.
23142
23143 2008-05-01  Bruno Haible  <bruno@clisp.org>
23144
23145         * lib/getndelim2.c (getndelim2): Fix newsize computation during
23146         reallocation. Rename 'done' to 'found_delimiter'.
23147
23148 2008-05-01  Jim Meyering  <meyering@redhat.com>
23149
23150         vc-list-files: accommodate /bin/sh like the one from Solaris 10
23151         * build-aux/vc-list-files: Use `...`, not $(...).
23152
23153 2008-04-30  Jim Meyering  <meyering@redhat.com>
23154
23155         add tests for vc-list-files
23156         * modules/vc-list-files-tests: New module.
23157         * tests/test-vc-list-files-cvs.sh: New file.
23158         * tests/test-vc-list-files-git.sh: New file.
23159
23160         avoid a warning from gcc
23161         * lib/getndelim2.c (IF_LINT): Define.
23162         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
23163
23164         vc-list-files: work properly with build-aux/cvsu, too
23165         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
23166         to all cvs-based clauses.
23167
23168         vc-list-files: work properly in the CVS+awk case, too
23169         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
23170
23171         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
23172         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
23173         take more than one file argument, so .  Add quotes, just in case $dir
23174         ever contains a shell meta-character.  Prompted by Soren Hansen in
23175         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
23176
23177 2008-04-29  Eric Blake  <ebb9@byu.net>
23178
23179         Optimize getndelim2 to use block operations when possible.
23180         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
23181         freadseek, and memchr2.
23182         * lib/getndelim2.c (getndelim2): Use them for block reads.
23183
23184 2008-04-29  Bruno Haible  <bruno@clisp.org>
23185
23186         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
23187         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
23188         * modules/inet_ntop (Depends-on): Add extensions.
23189         * modules/inet_pton (Depends-on): Likewise.
23190         Reported by Simon Josefsson.
23191
23192 2008-04-29  Jim Meyering  <meyering@redhat.com>
23193
23194         When the is more than one match in a block, match all of them.
23195         * build-aux/useless-if-before-free: Iterate through each block
23196         until there are no more matches.
23197
23198         Fix broken useless-if-before-free script.
23199         * build-aux/useless-if-before-free: Fix typo: missing "?" after
23200         the expression to match cast of argument to free-like function.
23201
23202 2008-04-29  Eric Blake  <ebb9@byu.net>
23203
23204         Use new header.
23205         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
23206
23207 2008-04-29  Jim Meyering  <meyering@redhat.com>
23208
23209         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
23210         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
23211         by gnulib to exist and to declare e.g., inet_ntop.
23212         Don't include "inet_ntop.h", now removed.
23213
23214         * m4/arpa_inet_h.m4: Remove trailing blanks.
23215
23216 2008-04-29  Eric Blake  <ebb9@byu.net>
23217
23218         Silence valgrind on safe reads beyond potential array bounds.
23219         * lib/rawmemchr.valgrind: New file.
23220         * lib/strchrnul.valgrind: Likewise.
23221         * modules/rawmemchr (Files): Distribute new file.
23222         * modules/strchrnul (Files): Likewise.
23223         Suggested by Bruno Haible.
23224
23225 2008-04-29  Bruno Haible  <bruno@clisp.org>
23226
23227         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
23228         (inet_ntop, inet_pton): Change portability warning's wording.
23229         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
23230         Invoke gl_CHECK_NEXT_HEADERS.
23231         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
23232         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
23233         set ARPA_INET_H.
23234         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
23235         * modules/arpa_inet (Description): No longer only for systems that
23236         lack it.
23237         (Depends-on): Add include_next.
23238         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
23239         HAVE_ARPA_INET_H.
23240
23241 2008-04-29  Jim Meyering  <meyering@redhat.com>
23242
23243         * modules/mkdir (License): Re-license as LGPLv2+.
23244
23245 2008-04-29  Bruno Haible  <bruno@clisp.org>
23246
23247         * modules/rawmemchr (Maintainer): Set to Eric.
23248         * modules/strchrnul (Maintainer): Likewise.
23249
23250 2008-04-29  Simon Josefsson  <simon@josefsson.org>
23251
23252         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
23253         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
23254
23255         * modules/arpa_inet (arpa/inet.h): Use them.
23256
23257 2008-04-28  Eric Blake  <ebb9@byu.net>
23258
23259         Test getndelim2.
23260         * modules/getndelim2-tests: New file.
23261         * tests/test-getndelim2.c: Likewise.
23262         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
23263         stream.
23264         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
23265
23266         * MODULES.html.sh: Document new module.
23267
23268 2008-04-20  Bruno Haible  <bruno@clisp.org>
23269
23270         * lib/c-stack.c (die): Use raise.
23271         * modules/c-stack (Depends-on): Add raise.
23272
23273 2008-04-28  Bruno Haible  <bruno@clisp.org>
23274
23275         Expect rpmatch to be declared.
23276         * lib/yesno.c (rpmatch): Remove declaration.
23277
23278         Declare rpmatch.
23279         * lib/stdlib.in.h (rpmatch): New declaration.
23280         * lib/rpmatch.c: Include <stdlib.h> first.
23281         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
23282         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
23283         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
23284         HAVE_RPMATCH.
23285         * modules/rpmatch (Depends-on): Add stdlib, extensions.
23286         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23287         (Include): Set to <stdlib.h>.
23288         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
23289         HAVE_RPMATCH.
23290         * NEWS: Document the change.
23291
23292 2008-04-28  Bruno Haible  <bruno@clisp.org>
23293
23294         Change rpmatch to use nl_langinfo when appropriate.
23295         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
23296         (N_): New macro.
23297         (localized_pattern): New function/macro.
23298         (try): Remove match, nomatch arguments. Copy the pattern into safe
23299         memory before caching it.
23300         (rpmatch): Use localized_pattern. Add translator comments.
23301         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
23302         Suggested by Eric Blake.
23303         * modules/rpmatch (Depends-on): Add stdbool.
23304
23305 2008-04-28  Eric Blake  <ebb9@byu.net>
23306
23307         Add rawmemchr module, matching glibc.
23308         * modules/string (Makefile.am): New indicator.
23309         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
23310         * lib/string.in.h (rawmemchr): Declare when appropriate.
23311         * modules/rawmemchr: New file.
23312         * m4/rawmemchr.m4: Likewise.
23313         * lib/rawmemchr.c: Likewise.
23314         * modules/rawmemchr-tests: Likewise.
23315         * tests/test-rawmemchr.c: Likewise.
23316         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
23317         module.
23318         * modules/strchrnul (Depends-on): Add rawmemchr.
23319         * lib/strchrnul.c (strchrnul): Optimize a corner case.
23320
23321         Whitespace cleanup.
23322         * tests/test-strchrnul.c: Reindent.
23323         * lib/strchrnul.c: Likewise.
23324
23325         Optimize and test strchrnul.
23326         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
23327         * modules/strchrnul-tests: New file.
23328         * tests/test-strchrnul.c: Likewise.
23329
23330         Remove intprops dependency.
23331         * modules/memchr (Depends-on): Remove intprops.
23332         * modules/memrchr (Depends-on): Likewise.
23333         * modules/memchr2 (Depends-on): Likewise.
23334         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
23335         * lib/memrchr.c (__memrchr): Likewise.
23336         * lib/memrchr2.c (memchr2): Likewise.
23337         Reported by Simon Josefsson.
23338
23339 2008-04-28  Simon Josefsson  <simon@josefsson.org>
23340
23341         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
23342         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23343
23344 2008-04-28  Simon Josefsson  <simon@josefsson.org>
23345
23346         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
23347
23348         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
23349
23350         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
23351
23352         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
23353         declarations.
23354         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
23355
23356         * m4/inet_pton.m4: Don't check for header files.
23357
23358         * m4/inet_ntop.m4: Don't check for header files.
23359
23360 2008-04-28  Simon Josefsson  <simon@josefsson.org>
23361
23362         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
23363         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
23364         trigger for cygwin).
23365         Reported by Bruno Haible  <bruno@clisp.org>.
23366
23367 2008-04-28  Bruno Haible  <bruno@clisp.org>
23368
23369         * doc/posix-functions/strdup.texi: Mention mingw problem.
23370
23371 2008-04-27  Bruno Haible  <bruno@clisp.org>
23372
23373         * modules/stat-time-tests (Depends-on): Add sleep.
23374         * tests/test-stat-time.c (force_unlink): New function.
23375         (cleanup): Use it.
23376         (test_mtime): Remove the ctime related tests.
23377         (test_ctime): New function, containing the ctime related tests.
23378         (main): Call test_ctime, except on native Windows platforms.
23379
23380 2008-04-27  Bruno Haible  <bruno@clisp.org>
23381
23382         * lib/rpmatch.c (rpmatch): Add some comments.
23383         Reported by James Youngman <jay@gnu.org>.
23384
23385 2008-04-27  Bruno Haible  <bruno@clisp.org>
23386
23387         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
23388         quiet NaNs.
23389
23390 2008-04-27  Bruno Haible  <bruno@clisp.org>
23391
23392         Make test-yesno.sh work on mingw.
23393         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
23394         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
23395         (main): Set stdin to binary mode.
23396         * modules/yesno-tests (Depends-on): Add binary-io.
23397
23398 2008-04-27  Bruno Haible  <bruno@clisp.org>
23399
23400         Fix 'isfinite' on x86, x86_64, ia64 platforms.
23401         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
23402         argument that lie outside the IEEE 854 domain.
23403         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
23404         (gl_ISFINITE): Use it.
23405         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
23406
23407 2008-04-27  Bruno Haible  <bruno@clisp.org>
23408
23409         Allow local renaming in config.h.
23410         * lib/memrchr.c (memrchr): Don't undefine outside libc.
23411
23412 2008-04-27  Bruno Haible  <bruno@clisp.org>
23413
23414         * lib/memchr.c (__memchr): Change type of 'i'.
23415         * lib/memchr2.c (memchr2): Likewise.
23416
23417 2008-04-26  Eric Blake  <ebb9@byu.net>
23418         and Bruno Haible  <bruno@clisp.org>
23419
23420         Optimize and test memrchr.
23421         * modules/memrchr (Depends-on): Add intprops.
23422         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
23423         * modules/memrchr-tests: New file.
23424         * tests/test-memrchr.c: New file.
23425
23426 2008-04-26  Bruno Haible  <bruno@clisp.org>
23427
23428         Add tentative support for DragonFly BSD.
23429         * lib/stdio-impl.h: Add macros for DragonFly BSD.
23430         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
23431         fp.
23432         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
23433         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
23434         * lib/fpurge.c (fpurge): Likewise.
23435         * lib/freadable.c (freaadable): Likewise.
23436         * lib/freadahead.c (freadahead): Likewise.
23437         * lib/freading.c (freading): Likewise.
23438         * lib/freadptr.c (freadptr): Likewise.
23439         * lib/freadseek.c (freadptrinc): Likewise.
23440         * lib/fseeko.c (fseeko): Likewise.
23441         * lib/fseterr.c (fseterr): Likewise.
23442         * lib/fwritable.c (fwritable): Likewise.
23443         * lib/fwriting.c (fwriting): Likewise.
23444
23445 2008-04-26  Bruno Haible  <bruno@clisp.org>
23446
23447         * lib/stdio-impl.h: New file.
23448         * lib/fbufmode.c: Include stdio-impl.h.
23449         (fbufmode): Use fp_, remove redundant #defines.
23450         * lib/fflush.c: Include stdio-impl.h.
23451         (clear_ungetc_buffer): Remove redundant #defines.
23452         * lib/fpurge.c: Include stdio-impl.h.
23453         (fpurge): Remove redundant #defines.
23454         * lib/freadable.c: Include stdio-impl.h.
23455         (freadable): Remove redundant #defines.
23456         * lib/freadahead.c: Include stdio-impl.h.
23457         (freadahead): Remove redundant #defines.
23458         * lib/freading.c: Include stdio-impl.h.
23459         (freading): Remove redundant #defines.
23460         * lib/freadptr.c: Include stdio-impl.h.
23461         (freadptr): Remove redundant #defines.
23462         * lib/freadseek.c: Include stdio-impl.h.
23463         (freadptrinc): Remove redundant #defines.
23464         * lib/fseeko.c: Include stdio-impl.h.
23465         (rpl_fseeko): Remove redundant #defines.
23466         * lib/fseterr.c: Include stdio-impl.h.
23467         (fseterr): Remove redundant #defines.
23468         * lib/fwritable.c: Include stdio-impl.h.
23469         (fwritable: Remove redundant #defines.
23470         * lib/fwriting.c: Include stdio-impl.h.
23471         (fwriting): Remove redundant #defines.
23472         * modules/fbufmode (Files): Add lib/stdio-impl.h.
23473         * modules/fflush (Files): Likewise.
23474         * modules/fpurge (Files): Likewise.
23475         * modules/freadable (Files): Likewise.
23476         * modules/freadahead (Files): Likewise.
23477         * modules/freading (Files): Likewise.
23478         * modules/freadptr (Files): Likewise.
23479         * modules/freadseek (Files): Likewise.
23480         * modules/fseeko (Files): Likewise.
23481         * modules/fseterr (Files): Likewise.
23482         * modules/fwritable (Files): Likewise.
23483         * modules/fwriting (Files): Likewise.
23484
23485 2008-04-26  Bruno Haible  <bruno@clisp.org>
23486
23487         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
23488         restore_seek_optimization, update_fpos_cache): New functions, extracted
23489         from rpl_fflush.
23490         (rpl_fflush): Use them.
23491         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
23492         (gl_REPLACE_FFLUSH): Use it.
23493
23494 2008-04-26  Bruno Haible  <bruno@clisp.org>
23495
23496         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
23497         on Solaris.
23498         * tests/test-xstrtoimax.sh: Likewise.
23499         * tests/test-xstrtoumax.sh: Likewise.
23500         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23501
23502 2008-04-26  Bruno Haible  <bruno@clisp.org>
23503
23504         * modules/memchr-tests: New file.
23505         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
23506
23507 2008-04-26  Eric Blake  <ebb9@byu.net>
23508             Bruno Haible  <bruno@clisp.org>
23509
23510         * lib/memchr.c: Include intprops.h.
23511         (__memchr): Optimize parallel detection of matching bytes. Rename local
23512         variables. Add explanatory comments.
23513
23514 2008-04-26  Bruno Haible  <bruno@clisp.org>
23515
23516         Fix module 'memchr', broken since 2000-10-28.
23517         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
23518
23519 2008-04-26  Bruno Haible  <bruno@clisp.org>
23520
23521         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
23522         comments.
23523
23524 2008-04-25  Eric Blake  <ebb9@byu.net>
23525
23526         Use native fstatat on cygwin 1.7.0.
23527         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
23528         first.
23529
23530 2008-04-23  Eric Blake  <ebb9@byu.net>
23531
23532         Improve memchr2 performance.
23533         * lib/memchr2.c (memchr2): Further optimize parallel detection of
23534         NUL bytes.
23535         * modules/memchr2 (Depends-on): Use intprops.h.
23536
23537 2008-04-23  Simon Josefsson  <simon@josefsson.org>
23538
23539         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
23540         an inline function instead of a CPP macro.  Patch by Ben Pfaff
23541         <blp@cs.stanford.edu>.
23542
23543 2008-04-23  Simon Josefsson  <simon@josefsson.org>
23544
23545         * lib/arpa_inet.in.h: New file.
23546
23547         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
23548         (Makefile.am): Sed in substitute header file.
23549
23550         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
23551         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
23552
23553         * modules/inet_ntop (configure.ac): Use
23554         gl_ARPA_INET_MODULE_INDICATOR.
23555
23556         * modules/inet_pton (configure.ac): Use
23557         gl_ARPA_INET_MODULE_INDICATOR.
23558
23559 2008-04-22  Jim Meyering  <meyering@redhat.com>
23560
23561         * modules/verify (License): Re-license as LGPLv2+.
23562
23563 2008-04-22  Simon Josefsson  <simon@josefsson.org>
23564
23565         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
23566         parameter to void* as per POSIX standard (MinGW uses char*).
23567
23568 2008-04-21  Bruno Haible  <bruno@clisp.org>
23569
23570         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
23571         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
23572         Define to replacements if REPLACE_ISWCNTRL is 1.
23573         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
23574         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
23575         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
23576         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
23577         what it fixes.
23578         * doc/posix-functions/iswalpha.texi: Likewise.
23579         * doc/posix-functions/iswblank.texi: Likewise.
23580         * doc/posix-functions/iswcntrl.texi: Likewise.
23581         * doc/posix-functions/iswdigit.texi: Likewise.
23582         * doc/posix-functions/iswgraph.texi: Likewise.
23583         * doc/posix-functions/iswlower.texi: Likewise.
23584         * doc/posix-functions/iswprint.texi: Likewise.
23585         * doc/posix-functions/iswpunct.texi: Likewise.
23586         * doc/posix-functions/iswspace.texi: Likewise.
23587         * doc/posix-functions/iswupper.texi: Likewise.
23588         * doc/posix-functions/iswxdigit.texi: Likewise.
23589         Reported by Alain Guibert.
23590
23591 2008-04-21  Bruno Haible  <bruno@clisp.org>
23592
23593         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
23594         Patch by Alain Guibert.
23595
23596 2008-04-21  Bruno Haible  <bruno@clisp.org>
23597
23598         Fix test failures on mingw.
23599         * tests/test-xstrtol.c (print_no_progname): New function.
23600         (main): Install it in error_print_progname hook.
23601         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
23602         * tests/test-xstrtoimax.sh: Likewise.
23603         * tests/test-xstrtoumax.sh: Likewise.
23604
23605 2008-04-21  Bruno Haible  <bruno@clisp.org>
23606
23607         Fix test failure on mingw.
23608         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
23609
23610 2008-04-21  Bruno Haible  <bruno@clisp.org>
23611
23612         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
23613         Actually assign a value.
23614
23615 2008-04-20  Bruno Haible  <bruno@clisp.org>
23616
23617         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
23618         take 2.
23619         * lib/canonicalize.c (canonicalize_file_name): Elide if the
23620         'canonicalize-lgpl' module is also used.
23621         * lib/canonicalize-lgpl.c: Undo last change.
23622         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
23623
23624 2008-04-20  Bruno Haible  <bruno@clisp.org>
23625
23626         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
23627         config.h. Provide _mkdir based fallback for mingw.
23628         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
23629         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
23630         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
23631         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
23632         rather than defining mkdir in config.h.
23633         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
23634         (gl_SYS_STAT_H_DEFAULTS): New macro.
23635         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
23636         HAVE_IO_H any more.
23637         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
23638         HAVE_DECL_MKDIR and HAVE_IO_H.
23639
23640 2008-04-20  Bruno Haible  <bruno@clisp.org>
23641
23642         * lib/isapipe.c: Port to native Windows platforms.
23643
23644 2008-04-20  Bruno Haible  <bruno@clisp.org>
23645
23646         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
23647
23648 2008-04-21  Eric Blake  <ebb9@byu.net>
23649
23650         Work around preprocessors that don't handle UINTMAX_MAX.
23651         * lib/memchr2.c (memchr2): Avoid embedded #if.
23652         Reported by Alain Guibert, fix suggested by Bruno Haible.
23653
23654 2008-04-21  Simon Josefsson  <simon@josefsson.org>
23655
23656         * doc/posix-functions/strftime.texi (strftime): Explain better
23657         Windows incompatibility.  Suggested by Micah Cowan
23658         <micah@cowan.name>.
23659
23660 2008-04-20  Bruno Haible  <bruno@clisp.org>
23661
23662         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
23663         unistr/u8-mblen.
23664
23665 2008-04-20  Bruno Haible  <bruno@clisp.org>
23666
23667         Fix test failure on platforms with non-GNU iconv.
23668         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
23669         (U_TO_U8): Use it, rather than u16_to_u8.
23670         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
23671         units at the end of the input string.
23672         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
23673
23674 2008-04-20  Bruno Haible  <bruno@clisp.org>
23675
23676         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
23677         when the resulting length is 0.
23678         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
23679
23680 2008-04-20  Bruno Haible  <bruno@clisp.org>
23681
23682         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
23683         works.
23684         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
23685
23686 2008-04-20  Bruno Haible  <bruno@clisp.org>
23687
23688         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
23689         * modules/tsearch-tests (configure.ac): Test for initstate function.
23690
23691 2008-04-20  Bruno Haible  <bruno@clisp.org>
23692
23693         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
23694         for nlink_t if missing.
23695         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
23696
23697 2008-04-19  Bruno Haible  <bruno@clisp.org>
23698
23699         Work around snprintf bug on Linux libc5.
23700         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
23701         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
23702         gl_SNPRINTF_SIZE1.
23703         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
23704         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
23705         that test failed.
23706         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
23707         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
23708         * modules/snprintf (Files): Add m4/printf.m4.
23709         * modules/vsnprintf (Files): Likewise.
23710         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
23711         * doc/posix-functions/vsnprintf.texi: Likewise.
23712
23713 2008-04-19  Bruno Haible  <bruno@clisp.org>
23714
23715         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
23716         from 0.0058 to less than 10^-7.
23717
23718 2008-04-19  Bruno Haible  <bruno@clisp.org>
23719
23720         Fix rounding when a precision is given.
23721         * lib/vasnprintf.c (is_borderline): New function.
23722         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
23723         9...9x.
23724         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
23725         %e, %g.
23726         * tests/test-vasprintf-posix.c (test_function): Likewise.
23727         * tests/test-snprintf-posix.h (test_function): Likewise.
23728         * tests/test-sprintf-posix.h (test_function): Likewise.
23729         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
23730         * tests/test-printf-posix.h (test_function): Likewise.
23731         * tests/test-printf-posix.output: Update.
23732         Reported by John Darrington <john@darrington.wattle.id.au> via
23733         Ben Pfaff <blp@cs.stanford.edu>.
23734
23735 2008-04-18  Simon Josefsson  <simon@josefsson.org>
23736
23737         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
23738         Suggested by Bruno Haible <bruno@clisp.org>.
23739
23740 2008-04-17  Bruno Haible  <bruno@clisp.org>
23741
23742         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
23743         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
23744         implementation.
23745         Patch by Bruce Merry <bmerry@gmail.com>.
23746
23747 2008-04-17  Simon Josefsson  <simon@josefsson.org>
23748
23749         * doc/posix-functions/strftime.texi (strftime): Mention that %e
23750         doesn't work under Windows.
23751
23752 2008-04-16  Bruno Haible  <bruno@clisp.org>
23753
23754         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
23755         New macros.
23756         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
23757         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
23758         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
23759         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
23760         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
23761         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
23762         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
23763         macros.
23764         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
23765         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
23766         Northern Sotho, Uighur.
23767
23768 2008-04-16  Bruno Haible  <bruno@clisp.org>
23769
23770         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
23771         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
23772         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
23773         Reported by Daniel Bergström <daniel@octocode.com>.
23774
23775 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
23776             Bruno Haible  <bruno@clisp.org>
23777
23778         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
23779         function.
23780         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
23781         New functions, mostly extracted from gl_locale_name_default.
23782         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
23783
23784 2008-04-16  Eric Blake  <ebb9@byu.net>
23785
23786         Adjust strtod detection to catch glibc 2.7 bug.
23787         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
23788         Reported by John Gatewood Ham.
23789
23790 2008-04-16  Bruno Haible  <bruno@clisp.org>
23791
23792         Add tentative support for Linux libc5.
23793         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
23794         * lib/fpurge.c (fpurge): Likewise.
23795         * lib/freadable.c (freadable): Likewise.
23796         * lib/freadahead.c (freadahead): Likewise.
23797         * lib/freading.c (freading): Likewise.
23798         * lib/freadptr.c (freadptr): Likewise.
23799         * lib/freadseek.c (freadptrinc): Likewise.
23800         * lib/fseeko.c (rpl_fseeko): Likewise.
23801         * lib/fseterr.c (fseterr): Likewise.
23802         * lib/fwritable.c (fwritable): Likewise.
23803         * lib/fwriting.c (fwriting): Likewise.
23804         Reported by Alain Guibert <alguibert+bts@free.fr>.
23805
23806 2008-04-15  Bruno Haible  <bruno@clisp.org>
23807
23808         * modules/mathl (configure.ac): Define module indicator.
23809
23810 2008-04-15  Bruno Haible  <bruno@clisp.org>
23811
23812         * lib/logl.c (logl): Remove unused variables.
23813
23814 2008-04-15  Bruno Haible  <bruno@clisp.org>
23815
23816         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
23817         fails.
23818
23819 2008-04-15  Bruno Haible  <bruno@clisp.org>
23820
23821         * lib/trim.c (trim2): Fix argument of isspace() macro.
23822
23823 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
23824
23825         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
23826         to 0.
23827         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
23828
23829 2008-04-14  Bruno Haible  <bruno@clisp.org>
23830
23831         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
23832         AC_LANG_PROGRAM argument.
23833         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
23834         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
23835         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23836         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
23837         * m4/math_h.m4 (gl_MATH_H): Likewise.
23838         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
23839         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23840         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
23841         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
23842         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23843         * m4/regex.m4 (gl_REGEX): Likewise.
23844         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
23845         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
23846         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23847         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
23848         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
23849         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23850         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23851         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
23852
23853 2008-04-14  Jim Meyering  <meyering@redhat.com>
23854
23855         test-strtod: fix typos: s/abs/fabs/
23856         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
23857
23858 2008-04-13  Bruno Haible  <bruno@clisp.org>
23859
23860         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
23861         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
23862         module is also used and while not building the reloc-wrapper.
23863
23864 2008-04-13  Bruno Haible  <bruno@clisp.org>
23865
23866         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
23867
23868 2008-04-13  Bruno Haible  <bruno@clisp.org>
23869
23870         Fix AIX compilation failure introduced on 2008-04-02.
23871         * tests/test-frexp.c (exp): Undefine before redefining.
23872         * tests/test-frexpl.c (exp): Likewise.
23873
23874 2008-04-13  Bruno Haible  <bruno@clisp.org>
23875
23876         Work around a HP-UX stdio bug.
23877         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
23878         * tests/test-ftello.c (main): Likewise.
23879         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
23880         * doc/posix-functions/ftello.texi: Likewise.
23881
23882 2008-04-13  Bruno Haible  <bruno@clisp.org>
23883
23884         Make test-signbit pass on HP-UX/hppa.
23885         * tests/test-signbit.c (minus_zerol): New variable.
23886         (test_signbitl): Use it.
23887
23888 2008-04-13  Bruno Haible  <bruno@clisp.org>
23889
23890         Make truncl work on OSF/1 4.0.
23891         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
23892         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
23893         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
23894         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
23895         HAVE_DECL_TRUNCL.
23896         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
23897         HAVE_DECL_TRUNCL.
23898         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
23899
23900 2008-04-13  Bruno Haible  <bruno@clisp.org>
23901
23902         * lib/unictype.h: Remove trailing comma from enumeration definitions.
23903
23904 2008-04-13  Bruno Haible  <bruno@clisp.org>
23905
23906         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
23907         expression, so as to avoid HP-UX 11 cc compiler bug.
23908
23909 2008-04-13  Bruno Haible  <bruno@clisp.org>
23910
23911         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
23912
23913 2008-04-13  Bruno Haible  <bruno@clisp.org>
23914
23915         * lib/git-merge-changelog.c: Remove empty declaration outside of
23916         functions.
23917
23918 2008-04-13  Bruno Haible  <bruno@clisp.org>
23919
23920         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
23921
23922 2008-04-13  Bruno Haible  <bruno@clisp.org>
23923
23924         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
23925         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
23926         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
23927         also if it exists but lacks definitions of the SHUT_* macros.
23928         * modules/sys_socket (Description): Update.
23929         Reported by Elbert Pol <e.pol@chello.nl>.
23930
23931 2008-04-13  Bruno Haible  <bruno@clisp.org>
23932
23933         * lib/localcharset.c (OS2): Don't redefine if already defined.
23934         Reported by Elbert Pol <e.pol@chello.nl>.
23935
23936 2008-04-13  Bruno Haible  <bruno@clisp.org>
23937
23938         * lib/binary-io.h [__EMX__]: Include <io.h>.
23939         Reported by Elbert Pol <e.pol@chello.nl>.
23940
23941 2008-04-12  Bruno Haible  <bruno@clisp.org>
23942
23943         * lib/fpucw.h: Enable the definitions also for x86_64.
23944         Needed for NetBSD/x86_64.
23945         Reported by Thomas Klausner <tk@giga.or.at>.
23946
23947 2008-04-12  Bruno Haible  <bruno@clisp.org>
23948
23949         * tests/test-strtod.c: Include isnand.h.
23950         (main): Use isnand instead of isnan.
23951         Reported by Jim Meyering.
23952
23953 2008-04-12  Bruno Haible  <bruno@clisp.org>
23954
23955         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
23956         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
23957
23958 2008-04-12  Jim Meyering  <meyering@redhat.com>
23959
23960         * m4/math_h.m4 (gl_MATH_H): Fix typos.
23961
23962 2008-04-12  Bruno Haible  <bruno@clisp.org>
23963
23964         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
23965         Reported by Elbert Pol <e.pol@chello.nl>.
23966
23967 2008-04-12  Eric Blake  <ebb9@byu.net>
23968
23969         Work around Solaris 10 math.h bug.
23970         * m4/math_h.m4 (gl_MATH_H): Check for bug.
23971         (gl_MATH_H_DEFAULTS): Set up default.
23972         * modules/math (Makefile.am): Replace new indicators.
23973         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
23974         * tests/test-math.c (main): Test this.
23975         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
23976         * doc/posix-headers/math.texi (math.h): Mention bug.
23977         Reported by Nelson H. F. Beebe and Jim Meyering.
23978
23979 2008-04-11  Bruno Haible  <bruno@clisp.org>
23980
23981         Adapt to future versions of Apple GCC.
23982         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
23983         Reported by Peter O'Gorman <peter@pogma.com>.
23984
23985 2008-04-11  Bruno Haible  <bruno@clisp.org>
23986
23987         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
23988
23989 2008-04-11  Bruno Haible  <bruno@clisp.org>
23990
23991         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
23992
23993         * modules/getaddrinfo-tests (Makefile.am): Define
23994         test_getaddrinfo_LDADD.
23995
23996 2008-04-11  Bruno Haible  <bruno@clisp.org>
23997
23998         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
23999         (init): Fix syntax error.
24000         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
24001         is declared.
24002
24003 2008-04-11  Bruno Haible  <bruno@clisp.org>
24004
24005         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
24006         * modules/glob (Depends-on): Add stdbool.
24007
24008 2008-04-11  Bruno Haible  <bruno@clisp.org>
24009
24010         * lib/trim.c: Include <string.h>.
24011
24012 2008-04-11  Eric Blake  <ebb9@byu.net>
24013
24014         Avoid compile failure on OS/2.
24015         * lib/regex_internal.h (internal_function): Disable optimization
24016         on OS/2 (__EMX__), where it caused compiler error.
24017         Reported by Elbert Pol.
24018
24019 2008-04-11  Bruno Haible  <bruno@clisp.org>
24020
24021         Flush the standard error stream before aborting. Needed on mingw.
24022         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
24023         * tests/test-array_list.c (ASSERT): Likewise.
24024         * tests/test-array_oset.c (ASSERT): Likewise.
24025         * tests/test-avltree_list.c (ASSERT): Likewise.
24026         * tests/test-avltree_oset.c (ASSERT): Likewise.
24027         * tests/test-avltreehash_list.c (ASSERT): Likewise.
24028         * tests/test-binary-io.c (ASSERT): Likewise.
24029         * tests/test-byteswap.c (ASSERT): Likewise.
24030         * tests/test-c-ctype.c (ASSERT): Likewise.
24031         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
24032         * tests/test-c-strcasestr.c (ASSERT): Likewise.
24033         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
24034         * tests/test-c-strstr.c (ASSERT): Likewise.
24035         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
24036         * tests/test-canonicalize.c (ASSERT): Likewise.
24037         * tests/test-carray_list.c (ASSERT): Likewise.
24038         * tests/test-ceilf1.c (ASSERT): Likewise.
24039         * tests/test-ceilf2.c (ASSERT): Likewise.
24040         * tests/test-ceill.c (ASSERT): Likewise.
24041         * tests/test-count-one-bits.c (ASSERT): Likewise.
24042         * tests/test-fbufmode.c (ASSERT): Likewise.
24043         * tests/test-fflush2.c (ASSERT): Likewise.
24044         * tests/test-floorf1.c (ASSERT): Likewise.
24045         * tests/test-floorf2.c (ASSERT): Likewise.
24046         * tests/test-floorl.c (ASSERT): Likewise.
24047         * tests/test-fopen.c (ASSERT): Likewise.
24048         * tests/test-fpending.c (ASSERT): Likewise.
24049         * tests/test-fprintf-posix.c (ASSERT): Likewise.
24050         * tests/test-fpurge.c (ASSERT): Likewise.
24051         * tests/test-freadable.c (ASSERT): Likewise.
24052         * tests/test-freadahead.c (ASSERT): Likewise.
24053         * tests/test-freading.c (ASSERT): Likewise.
24054         * tests/test-freadptr.c (ASSERT): Likewise.
24055         * tests/test-freadptr2.c (ASSERT): Likewise.
24056         * tests/test-freadseek.c (ASSERT): Likewise.
24057         * tests/test-freopen.c (ASSERT): Likewise.
24058         * tests/test-frexp.c (ASSERT): Likewise.
24059         * tests/test-frexpl.c (ASSERT): Likewise.
24060         * tests/test-fseek.c (ASSERT): Likewise.
24061         * tests/test-fseeko.c (ASSERT): Likewise.
24062         * tests/test-fstrcmp.c (ASSERT): Likewise.
24063         * tests/test-ftell.c (ASSERT): Likewise.
24064         * tests/test-ftello.c (ASSERT): Likewise.
24065         * tests/test-func.c (ASSERT): Likewise.
24066         * tests/test-fwritable.c (ASSERT): Likewise.
24067         * tests/test-fwriting.c (ASSERT): Likewise.
24068         * tests/test-getdelim.c (ASSERT): Likewise.
24069         * tests/test-getline.c (ASSERT): Likewise.
24070         * tests/test-i-ring.c (ASSERT): Likewise.
24071         * tests/test-iconv-utf.c (ASSERT): Likewise.
24072         * tests/test-iconv.c (ASSERT): Likewise.
24073         * tests/test-isfinite.c (ASSERT): Likewise.
24074         * tests/test-isnand.c (ASSERT): Likewise.
24075         * tests/test-isnanf.c (ASSERT): Likewise.
24076         * tests/test-isnanl.h (ASSERT): Likewise.
24077         * tests/test-ldexpl.c (ASSERT): Likewise.
24078         * tests/test-linked_list.c (ASSERT): Likewise.
24079         * tests/test-linkedhash_list.c (ASSERT): Likewise.
24080         * tests/test-localename.c (ASSERT): Likewise.
24081         * tests/test-lseek.c (ASSERT): Likewise.
24082         * tests/test-mbscasecmp.c (ASSERT): Likewise.
24083         * tests/test-mbscasestr1.c (ASSERT): Likewise.
24084         * tests/test-mbscasestr2.c (ASSERT): Likewise.
24085         * tests/test-mbscasestr3.c (ASSERT): Likewise.
24086         * tests/test-mbscasestr4.c (ASSERT): Likewise.
24087         * tests/test-mbschr.c (ASSERT): Likewise.
24088         * tests/test-mbscspn.c (ASSERT): Likewise.
24089         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
24090         * tests/test-mbspbrk.c (ASSERT): Likewise.
24091         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
24092         * tests/test-mbsrchr.c (ASSERT): Likewise.
24093         * tests/test-mbsspn.c (ASSERT): Likewise.
24094         * tests/test-mbsstr1.c (ASSERT): Likewise.
24095         * tests/test-mbsstr2.c (ASSERT): Likewise.
24096         * tests/test-mbsstr3.c (ASSERT): Likewise.
24097         * tests/test-memchr2.c (ASSERT): Likewise.
24098         * tests/test-memmem.c (ASSERT): Likewise.
24099         * tests/test-open.c (ASSERT): Likewise.
24100         * tests/test-printf-frexp.c (ASSERT): Likewise.
24101         * tests/test-printf-frexpl.c (ASSERT): Likewise.
24102         * tests/test-printf-posix.c (ASSERT): Likewise.
24103         * tests/test-quotearg.c (ASSERT): Likewise.
24104         * tests/test-rbtree_list.c (ASSERT): Likewise.
24105         * tests/test-rbtree_oset.c (ASSERT): Likewise.
24106         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
24107         * tests/test-round1.c (ASSERT): Likewise.
24108         * tests/test-roundf1.c (ASSERT): Likewise.
24109         * tests/test-roundl.c (ASSERT): Likewise.
24110         * tests/test-signbit.c (ASSERT): Likewise.
24111         * tests/test-sleep.c (ASSERT): Likewise.
24112         * tests/test-snprintf-posix.c (ASSERT): Likewise.
24113         * tests/test-snprintf.c (ASSERT): Likewise.
24114         * tests/test-sprintf-posix.c (ASSERT): Likewise.
24115         * tests/test-stat-time.c (ASSERT): Likewise.
24116         * tests/test-strcasestr.c (ASSERT): Likewise.
24117         * tests/test-strerror.c (ASSERT): Likewise.
24118         * tests/test-striconv.c (ASSERT): Likewise.
24119         * tests/test-striconveh.c (ASSERT): Likewise.
24120         * tests/test-striconveha.c (ASSERT): Likewise.
24121         * tests/test-strsignal.c (ASSERT): Likewise.
24122         * tests/test-strstr.c (ASSERT): Likewise.
24123         * tests/test-strtod.c (ASSERT): Likewise.
24124         * tests/test-trunc1.c (ASSERT): Likewise.
24125         * tests/test-trunc2.c (ASSERT): Likewise.
24126         * tests/test-truncf1.c (ASSERT): Likewise.
24127         * tests/test-truncf2.c (ASSERT): Likewise.
24128         * tests/test-truncl.c (ASSERT): Likewise.
24129         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
24130         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
24131         * tests/test-vasnprintf.c (ASSERT): Likewise.
24132         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
24133         * tests/test-vasprintf.c (ASSERT): Likewise.
24134         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
24135         * tests/test-vprintf-posix.c (ASSERT): Likewise.
24136         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
24137         * tests/test-vsnprintf.c (ASSERT): Likewise.
24138         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
24139         * tests/test-wcwidth.c (ASSERT): Likewise.
24140         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
24141         * tests/test-xprintf-posix.c (ASSERT): Likewise.
24142         * tests/test-xvasprintf.c (ASSERT): Likewise.
24143         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
24144         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
24145         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
24146         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
24147         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
24148         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
24149         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
24150         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
24151         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
24152         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
24153         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
24154         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
24155         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
24156         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
24157         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
24158         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
24159         * tests/unictype/test-block_list.c (ASSERT): Likewise.
24160         * tests/unictype/test-block_of.c (ASSERT): Likewise.
24161         * tests/unictype/test-block_test.c (ASSERT): Likewise.
24162         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
24163         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
24164         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
24165         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
24166         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
24167         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
24168         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
24169         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
24170         * tests/unictype/test-combining.c (ASSERT): Likewise.
24171         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
24172         * tests/unictype/test-digit.c (ASSERT): Likewise.
24173         * tests/unictype/test-mirror.c (ASSERT): Likewise.
24174         * tests/unictype/test-numeric.c (ASSERT): Likewise.
24175         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
24176         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
24177         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
24178         * tests/unictype/test-scripts.c (ASSERT): Likewise.
24179         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
24180         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
24181         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
24182         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
24183         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
24184         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
24185         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
24186         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
24187         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
24188         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
24189         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
24190         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
24191         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
24192         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
24193         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
24194         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
24195         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
24196         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
24197         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
24198         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
24199         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
24200         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
24201         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
24202         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
24203         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
24204         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
24205         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
24206         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
24207         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
24208         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
24209         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
24210         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
24211         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
24212         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
24213         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
24214         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
24215         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
24216         Reported by Eric Blake.
24217
24218 2008-04-11  Bruno Haible  <bruno@clisp.org>
24219
24220         * lib/wchar.in.h: Tweak comment.
24221
24222 2008-04-11  Bruno Haible  <bruno@clisp.org>
24223
24224         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
24225         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
24226         gl_COMMON.
24227         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
24228
24229 2008-04-11  Bruno Haible  <bruno@clisp.org>
24230
24231         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
24232
24233 2008-04-11  Simon Josefsson  <simon@josefsson.org>
24234
24235         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
24236         of attempting to use non-existing /dev/*random.  Based on patch
24237         from Adam Strzelecki <ono@java.pl> in
24238         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
24239
24240 2008-04-08  Bruno Haible  <bruno@clisp.org>
24241
24242         Add tentative support for emx+gcc.
24243         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
24244         * lib/fpurge.c (fpurge): Likewise.
24245         * lib/freadable.c (freadable): Likewise.
24246         * lib/freadahead.c (freadahead): Likewise.
24247         * lib/freading.c (freading): Likewise.
24248         * lib/freadptr.c (freadptr): Likewise.
24249         * lib/freadseek.c (freadptrinc): Likewise.
24250         * lib/fseeko.c (rpl_fseeko): Likewise.
24251         * lib/fseterr.c (fseterr): Likewise.
24252         * lib/fwritable.c (fwritable): Likewise.
24253         * lib/fwriting.c (fwriting): Likewise.
24254         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
24255
24256 2008-04-09  Eric Blake  <ebb9@byu.net>
24257
24258         Avoid some autoconf warnings.
24259         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
24260         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
24261         * m4/afs.m4 (gl_AFS): Likewise.
24262         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
24263         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
24264         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
24265         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
24266         (gl_INTEGER_TYPE_SUFFIX): Likewise.
24267         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
24268         (AC_CHECK_DECLS_ONCE): Likewise.
24269         Rename file...
24270         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
24271         gnulib-tool requires autoconf 2.59 or better.
24272         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
24273
24274 2008-04-08  Eric Blake  <ebb9@byu.net>
24275
24276         Use 'git describe --match' if present (added in git 1.5.5).
24277         * build-aux/git-version-gen: Limit result to tags that match 'v*'
24278         if possible.
24279
24280 2008-04-08  Bruno Haible  <bruno@clisp.org>
24281
24282         Add tentative support for OpenServer.
24283         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
24284         _ptr, _cnt.
24285         * lib/fpurge.c (fpurge): Likewise.
24286         * lib/freadable.c (freadable): Likewise.
24287         * lib/freadahead.c (freadahead): Likewise.
24288         * lib/freading.c (freading): Likewise.
24289         * lib/freadptr.c (freadptr): Likewise.
24290         * lib/freadseek.c (freadptrinc): Likewise.
24291         * lib/fseeko.c (rpl_fseeko): Likewise.
24292         * lib/fseterr.c (fseterr): Likewise.
24293         * lib/fwritable.c (fwritable): Likewise.
24294         * lib/fwriting.c (fwriting): Likewise.
24295         Reported by Roger Cornelius <rac@tenzing.org> and
24296         Brian K. White <brian@aljex.com>.
24297
24298 2008-04-06  Jim Meyering  <meyering@redhat.com>
24299
24300         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
24301
24302 2008-04-06  Bruno Haible  <bruno@clisp.org>
24303
24304         Avoid possible error with non-ASCII bytes in UTF-8 locales.
24305         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
24306         * tests/test-printf-posix.sh: Likewise.
24307         * tests/test-vfprintf-posix.sh: Likewise.
24308         * tests/test-vprintf-posix.sh: Likewise.
24309         * tests/test-xprintf-posix.sh: Likewise.
24310
24311 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24312
24313         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
24314         hide error from 'ls', needed on OS/2.
24315         Report by Elbert Pol <elbert.pol@gmail.com>.
24316
24317 2008-04-04  Eric Blake  <ebb9@byu.net>
24318
24319         Make test-fseeko.c failures meaningful.
24320         * tests/test-fseeko.c: Print line number on failure.
24321         * tests/test-fseek.c: Likewise.
24322         Reported by Nelson H. F. Beebe.
24323
24324         Improve strtod bug detection check.
24325         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
24326         required for Solaris 10.
24327         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
24328
24329 2008-04-04  Bruno Haible  <bruno@clisp.org>
24330
24331         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
24332         by m4/setenv.m4.
24333
24334 2008-04-03  Eric Blake  <ebb9@byu.net>
24335
24336         Ensure sane .version contents.
24337         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
24338         version string.
24339         * build-aux/git-version-gen: Improve documentation.
24340
24341         Make GNU make output nicer.
24342         * top/GNUmakefile [!_have-Makefile]: Add dependency on
24343         MAKECMDGOALS to enforce message for all command line targets.  Set
24344         srcdir for use in maint.mk.
24345
24346         Another maintainer tweak.
24347         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
24348         a target that regenerates version.
24349
24350 2008-04-03  Jim Meyering  <meyering@redhat.com>
24351
24352         vc-list-files: don't cause coreutils "make po-check" failure
24353         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
24354
24355 2008-04-03  Eric Blake  <ebb9@byu.net>
24356
24357         Allow VPATH usage of vc-list-files.
24358         * build-aux/vc-list-files (scriptversion): Add timestamp.
24359         (options): Add --help, --version, -C.
24360         (CVS): Support installed cvsu.
24361
24362 2008-04-02  Bruno Haible  <bruno@clisp.org>
24363
24364         Avoid some "statement with no effect" warnings from gcc.
24365         * tests/test-wctype.c (main): Explicitly ignore unused values.
24366         Reported by Jim Meyering.
24367
24368 2008-04-02  Jim Meyering  <meyering@redhat.com>
24369
24370         Avoid some warnings from "gcc -Wshadow".
24371         * tests/test-frexp.c (exp): Define to a different identifier.
24372         * tests/test-frexpl.c (exp): Likewise.
24373
24374 2008-04-03  Jim Meyering  <meyering@redhat.com>
24375
24376         bootstrap: remove dangling *.[ch] symlinks from lib
24377         * build-aux/bootstrap [dangling symlink removal]: Move find's
24378         -depth option to precede all others, to avoid a warning.
24379         Remove *.[ch] files too, and from "$source_base" (usually lib/).
24380
24381 2008-04-02  Bruno Haible  <bruno@clisp.org>
24382
24383         Avoid some warnings from "gcc -Wshadow".
24384         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
24385         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
24386         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
24387         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
24388         Reported by Jim Meyering.
24389
24390 2008-04-01  Bruno Haible  <bruno@clisp.org>
24391
24392         Fix test to work on IRIX 6.5 with cc.
24393         * tests/test-math.c (numeric_equal): New function.
24394         (main): Use it.
24395
24396 2008-04-01  Bruno Haible  <bruno@clisp.org>
24397
24398         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
24399
24400 2008-04-01  Bruno Haible  <bruno@clisp.org>
24401
24402         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
24403         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
24404         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
24405         (Depends-on): Remove math.
24406
24407         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
24408         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
24409         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
24410         (Depends-on): Remove math.
24411
24412         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
24413         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
24414         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
24415         (Depends-on): Remove math.
24416         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
24417         (Depends-on): Remove math.
24418
24419         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
24420         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
24421         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
24422         (Depends-on): Remove math.
24423         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
24424         (Depends-on): Remove math.
24425
24426         * tests/test-round1.c: Include nan.h.
24427         (main): Use NaNd instead of NAN.
24428         * modules/round-tests (Files): Add tests/nan.h.
24429
24430         * tests/test-trunc1.c: Include nan.h.
24431         (main): Use NaNd instead of NAN.
24432         * modules/trunc-tests (Files): Add tests/nan.h.
24433
24434         * tests/test-roundf1.c: Include nan.h.
24435         (main): Use NaNf instead of NAN.
24436         * modules/roundf-tests (Files): Add tests/nan.h.
24437
24438         * tests/test-truncf1.c: Include nan.h.
24439         (main): Use NaNf instead of NAN.
24440         * modules/truncf-tests (Files): Add tests/nan.h.
24441
24442         * tests/test-ceilf1.c: Include nan.h.
24443         (main): Use NaNf instead of NAN.
24444         * modules/ceilf-tests (Files): Add tests/nan.h.
24445
24446         * tests/test-floorf1.c: Include nan.h.
24447         (main): Use NaNf instead of NAN.
24448         * modules/floorf-tests (Files): Add tests/nan.h.
24449
24450         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
24451         (main): Use NaNf instead of NAN.
24452         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
24453
24454         * tests/test-isnand.c: Include nan.h instead of <math.h>.
24455         (main): Use NaNd instead of NAN.
24456         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
24457
24458         * tests/test-frexp.c: Include nan.h.
24459         (main): Use NaNd instead of NAN.
24460         * modules/frexp-tests (Files): Add tests/nan.h.
24461
24462         * lib/isnan.c: Don't include <math.h>.
24463         (FUNC): Don't use NAN macro.
24464         * modules/isnand-nolibm (Depends-on): Remove math.
24465         * modules/isnanf-nolibm (Depends-on): Remove math.
24466         * modules/isnanl (Depends-on): Remove math.
24467         * modules/isnanl-nolibm (Depends-on): Remove math.
24468
24469         * tests/nan.h: New file.
24470
24471 2008-04-01  Eric Blake  <ebb9@byu.net>
24472
24473         Fix typos.
24474         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
24475         values to be the right type.
24476
24477         For now, cater to gnulib strtod inaccuracies.
24478         * tests/test-strtod.c (main): Allow 1-ulp error on expected
24479         fractional results.  While not as nice from a QoI perspective, it
24480         is a quicker patch than correctly implementing decimal to binary
24481         rounding.
24482
24483 2008-03-31  Eric Blake  <ebb9@byu.net>
24484
24485         Guarantee a definition of NAN.
24486         * lib/math.in.h (NAN): Define if missing.
24487         * tests/test-math.c (main): Test it.
24488         * doc/posix-headers/math.texi (math.h): Document this.
24489         * lib/isnan.c (rpl_isnand): Use it.
24490         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
24491         * tests/test-floorf1.c (NaN): Likewise.
24492         * tests/test-frexp.c (NaN): Likewise.
24493         * tests/test-isnand.c (NaN): Likewise.
24494         * tests/test-isnanf.c (NaN): Likewise.
24495         * tests/test-round1.c (NaN): Likewise.
24496         * tests/test-roundf1.c (NaN): Likewise.
24497         * tests/test-snprintf-posix.h (NaN): Likewise.
24498         * tests/test-sprintf-posix.h (NaN): Likewise.
24499         * tests/test-trunc1.c (NaN): Likewise.
24500         * tests/test-truncf1.c (NaN): Likewise.
24501         * tests/test-vasnprintf-posix.c (NaN): Likewise.
24502         * tests/test-vasprintf-posix.c (NaN): Likewise.
24503         * modules/isnand-nolibm (Depends-on): Add math.
24504         * modules/isnanf-nolibm (Depends-on): Likewise.
24505         * modules/isnanl (Depends-on): Likewise.
24506         * modules/isnanl-nolibm (Depends-on): Likewise.
24507         * modules/snprintf-posix-tests (Depends-on): Likewise.
24508         * modules/sprintf-posix-tests (Depends-on): Likewise.
24509         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
24510         * modules/vsprintf-posix-tests (Depends-on): Likewise.
24511         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
24512         * modules/vasprintf-posix-tests (Depends-on): Likewise.
24513
24514 2008-03-31  Bruno Haible  <bruno@clisp.org>
24515
24516         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
24517         * doc/posix-functions/strtod.texi: Likewise.
24518
24519 2008-03-31  Bruno Haible  <bruno@clisp.org>
24520
24521         * tests/test-strtod.c (main): Don't use C99 syntax.
24522
24523 2008-03-31  Bruno Haible  <bruno@clisp.org>
24524
24525         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
24526         Reported by Eric Blake.
24527
24528 2008-03-31  Jim Meyering  <meyering@redhat.com>
24529
24530         Don't compare actual signbit return values.
24531         * tests/test-strtod.c (main): Rather, compare only their
24532         zero/non-zero nature.
24533
24534 2008-03-31  Eric Blake  <ebb9@byu.net>
24535
24536         More strtod documentation.
24537         * doc/posix-functions/strtod.texi (strtod): Interpret more test
24538         failures as distinct bugs.
24539
24540 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
24541
24542         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
24543         Problem reported by Erik Benada in
24544         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
24545
24546 2008-03-30  Bruno Haible  <bruno@clisp.org>
24547
24548         * tests/test-strtod.c: Add comments about which assertion fails on which
24549         platform.
24550         * doc/posix-functions/strtod.texi: Add info about many more platforms.
24551
24552 2008-03-30  Eric Blake  <ebb9@byu.net>
24553
24554         Test signbit behavior on zeros.
24555         * tests/test-signbit.c (test_signbitf): Add tests for zero.
24556         (test_signbitd, test_signbitl): Likewise.
24557
24558         More strtod touchups.
24559         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
24560         sign of negative underflow, for now.  Use .5, not .1.
24561         * doc/posix-functions/strtod.texi (strtod): Mention these
24562         limitations.
24563         Reported by Jim Meyering.
24564
24565 2008-03-30  Bruno Haible  <bruno@clisp.org>
24566
24567         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
24568         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
24569
24570 2008-03-30  Bruno Haible  <bruno@clisp.org>
24571
24572         Avoid failure when attempting to return empty iconv results on some
24573         platforms.
24574         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
24575         allocation, don't report ENOMEM when the resulting string is empty.
24576
24577 2008-03-30  Bruno Haible  <bruno@clisp.org>
24578
24579         Fix buffer overrun.
24580         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
24581         Don't consider the width for tmp_length. Check count against tmp_length
24582         before doing the padding. Ensure enough allocation during padding.
24583
24584 2008-03-30  Eric Blake  <ebb9@byu.net>
24585
24586         strtod touchups.
24587         * lib/strtod.c (strtod): Avoid compiler warnings.
24588         Reported by Jim Meyering.
24589
24590 2008-03-30  Bruno Haible  <bruno@clisp.org>
24591
24592         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
24593         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
24594         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
24595         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
24596         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
24597         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
24598         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
24599         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
24600
24601         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
24602         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
24603         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
24604         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
24605         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
24606         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
24607         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
24608         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
24609
24610         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
24611         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
24612         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
24613         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
24614         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
24615         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
24616         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
24617         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
24618
24619         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
24620         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
24621
24622         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
24623         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
24624
24625         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
24626         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
24627
24628         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
24629         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
24630         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
24631
24632         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
24633         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
24634         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
24635
24636         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
24637         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
24638         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
24639
24640         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
24641         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
24642         * modules/vasprintf (Depends-on): Add EOVERFLOW.
24643
24644         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
24645         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
24646         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
24647         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
24648         (Depends-on): Add EOVERFLOW.
24649         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
24650         (Depends-on): Add EOVERFLOW.
24651         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
24652         (Depends-on): Add EOVERFLOW.
24653         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
24654         (Depends-on): Add EOVERFLOW.
24655         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
24656         (Depends-on): Add EOVERFLOW.
24657         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
24658         (Depends-on): Add EOVERFLOW.
24659         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
24660         (Depends-on): Add EOVERFLOW.
24661         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
24662         (Depends-on): Add EOVERFLOW.
24663
24664         * lib/sprintf.c (EOVERFLOW): Remove fallback.
24665         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
24666         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
24667
24668         * lib/snprintf.c (EOVERFLOW): Remove fallback.
24669         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
24670         * modules/snprintf (Depends-on): Add EOVERFLOW.
24671
24672         * lib/poll.c (EOVERFLOW): Remove fallback.
24673         * modules/poll (Depends-on): Add EOVERFLOW.
24674
24675         * lib/getugroups.c (EOVERFLOW): Remove fallback.
24676         * modules/getugroups (Depends-on): Add EOVERFLOW.
24677
24678         * lib/getdelim.c (EOVERFLOW): Remove fallback.
24679         * modules/getdelim (Depends-on): Add EOVERFLOW.
24680
24681         * lib/ftell.c (EOVERFLOW): Remove fallback.
24682         * modules/ftell (Depends-on): Add EOVERFLOW.
24683
24684         * lib/fprintf.c (EOVERFLOW): Remove fallback.
24685         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
24686         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
24687
24688         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
24689
24690         * modules/EOVERFLOW-tests: New file.
24691         * tests/test-EOVERFLOW.c: New file.
24692
24693         * modules/EOVERFLOW: New file.
24694         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
24695
24696 2008-03-30  Bruno Haible  <bruno@clisp.org>
24697
24698         Fix bug introduced on 2007-06-10.
24699         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
24700         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
24701
24702 2008-03-30  Bruno Haible  <bruno@clisp.org>
24703
24704         Improve freadseek's efficiency after ungetc.
24705         * lib/freadseek.c: Include freadahead.h.
24706         (freadptrinc): New function, extracted from freadseek.
24707         (freadseek): Use it in a loop. Use freadahead to determine the number
24708         of loop iterations.
24709         * modules/freadseek (Depends-on): Add freadahead.
24710         (configure.ac): Require AC_C_INLINE.
24711
24712 2008-03-30  Bruno Haible  <bruno@clisp.org>
24713
24714         * lib/freadseek.c (freadseek): Don't ignore the return value of
24715         freadptr.
24716
24717 2008-03-29  Eric Blake  <ebb9@byu.net>
24718
24719         Add hex float support.
24720         * modules/strtod (Depends-on): Add c-ctype.
24721         (Link): Mention POW_LIB.
24722         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
24723         whitespace between 'e' and exponent.
24724         * tests/test-strtod.c (main): Enable hex float tests.
24725         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
24726         now provides.
24727
24728         Document various strtod bugs, with some fixes.
24729         * doc/posix-functions/strtod.texi (strtod): Document bugs with
24730         "-0x", "inf", "nan", and hex constants.
24731         * doc/posix-functions/atof.texi (atof): Likewise.
24732         * modules/stdlib (Makefile.am): Support strtod.
24733         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
24734         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
24735         detect additional strtod bugs.
24736         * lib/stdlib.in.h (rpl_strtod): Add declarations.
24737         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
24738         bool where appropriate.  Parse 'inf' and 'nan'.
24739         * tests/test-strtod.c: New file.
24740         * modules/strtod (Depends-on): Add stdbool, stdlib.
24741         (configure.ac): Turn on module indicator.
24742         * modules/strtod-tests: New module.
24743
24744 2008-03-29  Eric Blake  <ebb9@byu.net>
24745
24746         Fix ftell on mingw.
24747         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
24748         * modules/ftell-tests (Depends-on): Add binary-io.
24749         * modules/ftello-tests (Depends-on): Likewise.
24750         * tests/test-ftell.c (main): Enhance test to cover behavior after
24751         ungetc.  Enforce binary mode.
24752         * tests/test-ftello.c (main): Likewise.
24753
24754         Pass test-freadseek on cygwin.
24755         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
24756         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
24757         ungetc buffer.
24758
24759         * tests/test-fflush2.c (main): Fix typo.
24760
24761 2008-03-29  Bruno Haible  <bruno@clisp.org>
24762
24763         * tests/test-fflush2.c (main): Temporarily disable the contents of
24764         this test.
24765         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
24766         Reported by Eric Blake.
24767
24768 2008-03-28  Simon Josefsson  <simon@josefsson.org>
24769
24770         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
24771         (GC_SHA224_DIGEST_SIZE): Add.
24772
24773         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
24774         (gc_hash_digest_length): Likewise.
24775         (gc_hash_buffer): Likewise.
24776
24777 2008-03-25  Bruno Haible  <bruno@clisp.org>
24778
24779         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
24780         detail which gettext release to use.
24781         Reported by Simon Josefsson.
24782
24783 2008-03-26  Jim Meyering  <meyering@redhat.com>
24784
24785         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
24786         * modules/gnumakefile (clean-GNUmakefile): Also, use
24787         test ... && ... || : syntax rather than if-then ... fi.
24788
24789         gnumakefile: Don't double-quote-expand $(VPATH) value.
24790         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
24791
24792 2008-03-24  Eric Blake  <ebb9@byu.net>
24793
24794         Alter GNUmakefile to install into top directory.
24795         * modules/maintainer-makefile: Split, and add dependency...
24796         * modules/gnumakefile: to this new module.
24797         * build-aux/GNUmakefile: Move...
24798         * top/GNUmakefile: ...here.
24799         * build-aux/maint.mk: Move...
24800         * top/maint.mk: ...here.
24801         * MODULES.html.sh (Support for maintaining...): Document new
24802         module.
24803
24804 2008-03-23  Bruno Haible  <bruno@clisp.org>
24805
24806         * gnulib-tool: New options --vc-files, --no-vc-files.
24807         (func_usage): Document them.
24808         (vc_files): New variable.
24809         (func_import): Consider vc_files.
24810         (func_create_testdir): Set vc_files to empty.
24811         Suggested by Jim Meyering and Karl Berry.
24812
24813 2008-03-23  Bruno Haible  <bruno@clisp.org>
24814
24815         Fix regex compilation error on HP-UX 11.
24816         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
24817         * modules/regex (Files): Add m4/mbstate_t.m4.
24818         Reported by Ton Voon <ton.voon@altinity.com>.
24819
24820 2008-03-23  Bruno Haible  <bruno@clisp.org>
24821
24822         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
24823
24824 2008-03-23  Eric Blake  <ebb9@byu.net>
24825             Bruno Haible  <bruno@clisp.org>
24826
24827         Install files from top/ in the destination directory.
24828         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
24829         augmentation also for the files from top/.
24830         (func_import, func_create_testdir): Rewrite file names:
24831         top/filename -> filename.
24832
24833 2008-03-23  Bruno Haible  <bruno@clisp.org>
24834
24835         Tweak "gnulib --version" output.
24836         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
24837
24838 2008-03-23  Bruno Haible  <bruno@clisp.org>
24839
24840         Tweak "gnulib --version" output.
24841         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
24842         rather than contents of ChangeLog, when possible.
24843
24844 2008-03-21  Eric Blake  <ebb9@byu.net>
24845
24846         More --version tweaks.
24847         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
24848         date of last ChangeLog entry.
24849
24850 2008-03-21  Jim Meyering  <meyering@redhat.com>
24851
24852         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
24853
24854 2008-03-20  Eric Blake  <ebb9@byu.net>
24855
24856         VPATH fix.
24857         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
24858
24859 2008-03-20  Simon Josefsson  <simon@josefsson.org>
24860
24861         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
24862         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
24863
24864 2008-03-20  Eric Blake  <ebb9@byu.net>
24865
24866         Sync GNUmakefile with coreutils.
24867         * build-aux/GNUmakefile (have-Makefile): Rename...
24868         (_have-Makefile): ...to this, for namespace consideration.
24869         (GNUmakefile.cfg): Include, if present.
24870         (_autoreconf): Define a default.
24871         (_is-dist-target): New rule for rebuilds to pick up intra-release
24872         version.
24873         (maint-cfg.mk): Rename...
24874         (cfg.mk): ...to this.
24875
24876 2008-03-18  Jim Meyering  <meyering@redhat.com>
24877
24878         New script and module: mktempd
24879         * MODULES.html.sh (maint+release support): Add mktempd.
24880         * build-aux/mktempd: New file.
24881         * modules/mktempd: New file.
24882
24883 2008-03-15  Jim Meyering  <meyering@redhat.com>
24884
24885         Undo last change.
24886         * lib/sha1.c, lib/md5.c: 63 != ~63.
24887         Reported by Andreas Schwab.
24888
24889         sha1.c, md5.c: Hoist a redundant expression.
24890         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
24891         "ctx->buflen" only once, before calling *_process_block.
24892         * lib/md5.c (md5_process_bytes): Likewise.
24893
24894 2008-03-14  Eric Blake  <ebb9@byu.net>
24895
24896         Bump copyright year in files generated by gnulib-tool.
24897         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
24898         gnulib-tool, rather than hard-coding it.
24899
24900         Fix 'gnulib-tool --version' output to work with git.
24901         * gnulib-tool (func_gnulib_dir): New function, extracted from...
24902         (startup): ...here.
24903         (func_version): Use it to invoke git-version-gen, rather than
24904         relying on CVS keyword expansion.  Modernize wording.
24905         (cvsdatestamp, last_checkin_date, version): Kill unused
24906         variables.
24907
24908 2008-03-12  Jim Meyering  <meyering@redhat.com>
24909
24910         Recognize optional cast of the argument to free.
24911         * build-aux/useless-if-before-free: Update regexps.
24912
24913         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
24914
24915 2008-03-11  Bruno Haible  <bruno@clisp.org>
24916
24917         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
24918         by a single package.
24919         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
24920         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
24921         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
24922         Reported by Sam Steingold <sds@gnu.org>.
24923
24924 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24925
24926         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
24927         repositories.
24928
24929 2008-03-11  Bruno Haible  <bruno@clisp.org>
24930
24931         Avoid conflicts between local macro definitions.
24932         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
24933         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
24934
24935 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
24936             Bruno Haible  <bruno@clisp.org>
24937
24938         Make va_copy work with some version of xlc on AIX 5.1.
24939         * lib/stdarg.in.h: New file.
24940         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
24941         On AIX, use a <stdarg.h> file substitute.
24942         * modules/stdarg (Files): Add lib/stdarg.in.h.
24943         (Depends-on): Add include_next.
24944         (Makefile.am): Build a stdarg.h substitute if requested.
24945         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
24946
24947 2008-03-10  Bruno Haible  <bruno@clisp.org>
24948
24949         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
24950         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
24951         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
24952
24953 2008-03-10  Bruno Haible  <bruno@clisp.org>
24954
24955         * modules/stdlib (Depends-on): Add include_next, remove
24956         absolute-header.
24957
24958 2008-03-09  Bruno Haible  <bruno@clisp.org>
24959
24960         * lib/freadahead.h (freadahead): Document more precisely.
24961         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
24962         the sum of both buffer sizes.
24963         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
24964         * NEWS: Document the change.
24965
24966 2008-03-09  Bruno Haible  <bruno@clisp.org>
24967
24968         Extend freadptr to return also the buffer size.
24969         * lib/freadptr.h (freadptr): Add sizep argument.
24970         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
24971         (freadptr): Add sizep argument. Determine buffer size like freadahead
24972         does.
24973         * tests/test-freadptr.c: Don't include freadahead.h.
24974         (main): Adapt for new calling convention of freadptr.
24975         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
24976         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
24977         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
24978         tests/test-freadptr2.sh.
24979         (Depends): Remove freadahead.
24980         (TESTS): Add test-freadptr2.sh.
24981         (check_PROGRAMS): Add test-freadptr2.
24982
24983 2008-03-09  Bruno Haible  <bruno@clisp.org>
24984
24985         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
24986         Report and solution by Simon Josefsson.
24987
24988 2008-03-06  Bruno Haible  <bruno@clisp.org>
24989
24990         Make fflush after ungetc work on BSD platforms.
24991         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
24992         * tests/test-fflush2.c: New file.
24993         * tests/test-fflush2.sh: New file.
24994         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
24995         tests/test-fflush2.c.
24996         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
24997         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
24998
24999 2008-03-06  Eric Blake  <ebb9@byu.net>
25000
25001         Likewise for ftello.
25002         * modules/ftello (Dependencies): Add extensions.
25003         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
25004
25005 2008-03-06  Bruno Haible  <bruno@clisp.org>
25006
25007         * modules/fseeko (Dependencies): Add extensions.
25008         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
25009         Needed on glibc systems.
25010
25011 2008-03-06  Bruno Haible  <bruno@clisp.org>
25012
25013         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
25014         email address.
25015         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
25016
25017 2008-03-06  Bruno Haible  <bruno@clisp.org>
25018
25019         * users.txt: Add libgnupdf.
25020
25021 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25022
25023         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
25024         (Header File Substitutes, Function Substitutes,
25025         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
25026         (Build robot for gnulib): Fix typo.
25027
25028 2008-03-06  Bruno Haible  <bruno@clisp.org>
25029
25030         * doc/gnulib-tool.texi (VCS Issues): Small updates.
25031         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
25032
25033 2008-03-06  Bruno Haible  <bruno@clisp.org>
25034
25035         * doc/func.texi: New file, extracted from doc/gnulib.texi.
25036         * doc/gnulib.texi: Include it.
25037
25038 2008-03-06  Simon Josefsson  <simon@josefsson.org>
25039
25040         * modules/func (License): Change license to unlimited; there was
25041         no LGPL parts in the module anyway.
25042
25043 2008-03-06  Simon Josefsson  <simon@josefsson.org>
25044
25045         * modules/__func__: Renamed to modules/func.
25046         * modules/__func__-tests: Renamed to modules/func-tests.
25047         * tests/test-__func__.c: Renamed to tests/test-func.c.
25048         * m4/__func__.m4: Renamed to m4/func.m4.
25049         * doc/gnulib.texi (__func__): Section renamed to func.
25050         Suggested by Eric Blake <ebb9@byu.net>.
25051
25052 2008-03-06  Simon Josefsson  <simon@josefsson.org>
25053
25054         * doc/gnulib.texi (__func__): Use C99 terminology when talking
25055         about __func__.  Make example self-contained.  Suggested by Eric
25056         Blake <ebb9@byu.net>.
25057
25058         * tests/test-__func__.c (main): Avoid extraneous () around __func.
25059         Suggested by Eric Blake <ebb9@byu.net>.
25060
25061 2008-03-06  Simon Josefsson  <simon@josefsson.org>
25062
25063         * modules/__func__: New file.
25064         * modules/__func__-tests: New file.
25065         * tests/test-__func__.c: New file.
25066         * m4/__func__.m4: New file.
25067         * doc/gnulib.texi (__func__): Document __func__ module.
25068
25069 2008-03-05  Simon Josefsson  <simon@josefsson.org>
25070
25071         * modules/byteswap (License): Re-license as LGPLv2+.
25072
25073 2008-03-05  Simon Josefsson  <simon@josefsson.org>
25074
25075         * doc/Makefile: Add pdf target.
25076
25077 2008-03-05  Simon Josefsson  <simon@josefsson.org>
25078
25079         * modules/inline (License): Use 'unlimited', since there are only
25080         *.m4 files in this module.
25081
25082 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
25083             Bruno Haible  <bruno@clisp.org>
25084
25085         Add support for HP C 7.1 on OpenVMS 8.3.
25086         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
25087
25088 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
25089
25090         Update VMS specifics.
25091         * lib/getopt.c [VMS]: Remove include of unixlib.h.
25092
25093 2008-03-02  Jim Meyering  <meyering@redhat.com>
25094
25095         Remove the last dependency on the "free" module.
25096         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
25097         Reported by Bob Proulx.
25098
25099         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
25100
25101         Remove useless "if" tests before free.  Deprecate "free" module.
25102         * doc/posix-functions/free.texi: Mention that this
25103         module is no longer useful.
25104         * modules/free (Notice): Say this module is obsolete.
25105         * modules/readutmp (Depends-on): Remove free.
25106         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
25107         * lib/putenv.c (putenv): Likewise.
25108         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
25109         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
25110         * tests/test-c-strcasestr.c (main): Likewise.
25111         * tests/test-c-strstr.c (main): Likewise.
25112         * tests/test-mbscasestr1.c (main): Likewise.
25113         * tests/test-mbscasestr2.c (main): Likewise.
25114         * tests/test-mbsstr1.c (main): Likewise.
25115         * tests/test-mbsstr2.c (main): Likewise.
25116         * tests/test-memmem.c (main): Likewise.
25117         * tests/test-strcasestr.c (main): Likewise.
25118         * tests/test-striconv.c (main): Likewise.
25119         * tests/test-striconveh.c (main): Likewise.
25120         * tests/test-striconveha.c (main): Likewise.
25121         * tests/test-strstr.c (main): Likewise.
25122
25123         * build-aux/git-version-gen: Adjust a comment and the Usage string.
25124
25125         bootstrap: sync from coreutils again
25126         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
25127
25128 2008-03-01  Jim Meyering  <meyering@redhat.com>
25129
25130         bootstrap: sync from coreutils
25131         * build-aux/bootstrap (update_po_files): Copy a .po file into place
25132         also when the target doesn't exist.
25133
25134 2008-03-01  Eric Blake  <ebb9@byu.net>
25135
25136         Fix bugs in last patch.
25137         * lib/memchr2.c (memchr2): Fix typo.
25138         * tests/test-memchr2.c: Test previous bug, and don't use GNU
25139         extension.
25140         Reported by Bruce Korb.
25141
25142         New module 'memchr2'.
25143         * modules/memchr2: New file.
25144         * modules/memchr2-tests: Likewise.
25145         * lib/memchr2.h: Likewise.
25146         * lib/memchr2.c: Likewise, based on memchr.c.
25147         * tests/test-memchr2.c: New test.
25148         * MODULES.html.sh (String handling): Add memchr2.
25149
25150 2008-02-29  Bruno Haible  <bruno@clisp.org>
25151
25152         * modules/freadseek-tests: New file.
25153         * tests/test-freadseek.sh: New file.
25154         * tests/test-freadseek.c: New file.
25155
25156         New module 'freadseek'.
25157         * modules/freadseek: New file.
25158         * lib/freadseek.h: New file.
25159         * lib/freadseek.c: New file.
25160         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
25161
25162 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
25163
25164         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
25165         wydawca.
25166
25167         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
25168         program_invocation_name and program_invocation_short_name are
25169         present.
25170
25171 2008-02-28  Bruno Haible  <bruno@clisp.org>
25172
25173         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
25174         * tests/test-freadptr.sh: Also test non-seekable stdin.
25175
25176 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
25177
25178         * build-aux/bootstrap (source_base, m4_base)
25179         (doc_base, tests_base): New variables.
25180         (gnulib_tool_options): Do not hardcode base directories, use
25181         the above variables instead.
25182
25183 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
25184
25185         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
25186
25187 2008-02-28  Bruno Haible  <bruno@clisp.org>
25188
25189         * modules/freadptr-tests: New file.
25190         * tests/test-freadptr.sh: New file.
25191         * tests/test-freadptr.c: New file.
25192
25193         New module 'freadptr'.
25194         * modules/freadptr: New file.
25195         * lib/freadptr.h: New file.
25196         * lib/freadptr.c: New file.
25197         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
25198
25199 2008-02-26  Karl Berry  <karl@freefriends.org>
25200
25201         Sync from Libtool:
25202         * libltdl/argz.c (argz_add, argz_count): New functions.
25203         * libltdl/argz.in.h: Declare them.
25204         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
25205
25206 2008-02-22  Bruno Haible  <bruno@clisp.org>
25207
25208         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
25209         is a pointer type.  Needed for HP-UX 10.
25210         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
25211         * doc/posix-functions/gmtime_r.texi: Likewise.
25212         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
25213
25214 2008-02-24  Bruno Haible  <bruno@clisp.org>
25215
25216         * modules/environ-tests: New file.
25217         * tests/test-environ.c: New file.
25218
25219         New module 'environ'.
25220         * modules/environ: New file.
25221         * lib/unistd.in.h (environ): New declaration.
25222         * m4/environ.m4: New file.
25223         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
25224         after use.
25225         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
25226         HAVE_DECL_ENVIRON.
25227         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
25228         HAVE_DECL_ENVIRON.
25229         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
25230         wrong claim that 'environ' is missing on some systems.
25231         * modules/execute (Depends-on): Add environ.
25232         * lib/execute.c (environ): Remove fallback declaration.
25233         * modules/pipe (Depends-on): Add environ.
25234         * lib/pipe.c (environ): Remove fallback declaration.
25235         * modules/setenv (Depends-on): Add environ.
25236         * lib/setenv.c (environ): Remove fallback declaration.
25237         * modules/unsetenv (Depends-on): Add environ.
25238         * lib/unsetenv.c (environ): Remove fallback declaration.
25239         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
25240         m4/environ.m4.
25241         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
25242         (gl_PREREQ_UNSETENV): Likewise.
25243
25244 2008-02-24  Bruno Haible  <bruno@clisp.org>
25245
25246         * doc/posix-functions/environ.texi: Document the MacOS X problem.
25247
25248 2008-02-20  Bob Proulx  <bob@proulx.com>
25249
25250         Enable use of older two part flavor 'git describe'.
25251         * build-aux/git-version-gen: If using the older two part flavor of
25252         git version then recreate the third part now present in the
25253         newer three part flavor of git describe.
25254
25255 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
25256
25257         * lib/fts.c (fts_build): Typo correction to comment.
25258
25259 2008-02-17  Bruno Haible  <bruno@clisp.org>
25260
25261         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
25262         generating no-op conflicts.
25263
25264 2008-02-17  Bruno Haible  <bruno@clisp.org>
25265
25266         Speed up by 10%.
25267         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
25268         result_entries, rather than an index-based loop.
25269
25270 2008-02-17  Bruno Haible  <bruno@clisp.org>
25271
25272         Speed up by 25%.
25273         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
25274         'hashcode_cached'.
25275         (entry_create): New function.
25276         (entry_hashcode): Use the cached hashcode if possible.
25277         (read_changelog_file, try_split_merged_entry): Use entry_create.
25278
25279 2008-02-17  Bruno Haible  <bruno@clisp.org>
25280
25281         Speed up from O(n^2) to O(n) for long ChangeLog files.
25282         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
25283         (read_changelog_file): Change implementation of entries_reversed list
25284         to rbtreehash.
25285         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
25286
25287 2008-02-17  Bruno Haible  <bruno@clisp.org>
25288
25289         New option --split-merged-entry.
25290         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
25291         (find_paragraph_end, try_split_merged_entry): New functions.
25292         (long_options): Add option --split-merged-entry.
25293         (usage): Document option --split-merged-entry.
25294         (main): Implement option --split-merged-entry.
25295         Reported by Eric Blake.
25296
25297 2008-02-17  Bruno Haible  <bruno@clisp.org>
25298
25299         * lib/git-merge-changelog.c: Include c-strstr.h.
25300         (main): Support the "git pull --rebase" situation.
25301         * modules/git-merge-changelog (Depends-on): Add c-strstr.
25302         Reported by Eric Blake.
25303
25304 2008-02-16  Eric Blake  <ebb9@byu.net>
25305
25306         Avoid doubling \ in common case of "c-maybe" quoting style.
25307         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
25308         eliding outer quotes.
25309         * lib/quotearg.h: Document this.
25310         * tests/test-quotearg.c (result_strings, inputs, results_g)
25311         (flag_results, locale_results): Test it by adding a new string to
25312         each test group.
25313         (compare_strings): Test new string.
25314
25315 2008-02-13  Eric Blake  <ebb9@byu.net>
25316
25317         Avoid trigraph quoting in default output.
25318         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
25319         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
25320         unless explicitly requested.
25321         * tests/test-quotearg.c (flag_results, main): Add additional tests.
25322
25323 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
25324
25325         Don't rely on signed integer overflowing to negative value.
25326         * lib/getugroups.c (getugroups): Include <limits.h>.
25327         Instead, compare against INT_MAX, and increment only if the test passes.
25328
25329 2008-02-13  Jim Meyering  <meyering@redhat.com>
25330         and Eric Blake  <ebb9@byu.net>
25331
25332         Avoid shadowing warning and compile errors on Linux.
25333         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
25334         forwarding macros on Linux.
25335         (dcgettext): Define a stub, for Linux.
25336         (results_g, main): Avoid warnings.
25337
25338 2008-02-12  Eric Blake  <ebb9@byu.net>
25339
25340         Silence warning in last patch.
25341         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
25342
25343         Quotearg part 4: add tests, fix c-maybe colon quoting.
25344         * lib/quotearg.h: Improve documentation.
25345         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
25346         escapes when adding outer quotes.  When quoting trigraphs, use
25347         valid C notation.  When quoting NUL, omit extra characters if next
25348         character is not digit.  Alter prototype.
25349         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
25350         callers.
25351         * modules/quotearg-tests: New module.
25352         * tests/test-quotearg.c: New test.
25353
25354 2008-02-07  Eric Blake  <ebb9@byu.net>
25355
25356         Quotearg part 3: add flag to control outer quote elision.
25357         * lib/quotearg.h (c_maybe_quoting_style): New style.
25358         (enum quoting_flags): Better documentation of flags.
25359         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
25360         c-maybe style.
25361         (quotearg_buffer_restyled): Handle new flag to elide outer
25362         quotes.
25363
25364         Quotearg part 2: add flag that can control NUL elision.
25365         * lib/quotearg.h (set_quoting_flags): New prototype.
25366         * lib/quotearg.c (struct quoting_options): Add flag field.
25367         (set_quoting_flags): New function.
25368         (quotearg_buffer_restyled): Add flags parameter.
25369         (quotearg_alloc_mem): Set the flag if length cannot be returned.
25370         (quotearg_n_options): Set the flag, since length cannot be
25371         returned.
25372         (quoting_options_from_style): Default flags correctly.
25373
25374         Quotearg part 1: more wrappers, restore quotearg_char state.
25375         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
25376         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
25377         (quotearg_colon_mem): New wrappers.
25378         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
25379         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
25380         functions.
25381         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
25382         (quotearg_colon_mem): New functions.
25383
25384 2008-02-11  Bruno Haible  <bruno@clisp.org>
25385
25386         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
25387         library in the current directory: it does not work with parallel make.
25388         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25389
25390 2008-02-11  Bruno Haible  <bruno@clisp.org>
25391
25392         * .gitattributes: New file.
25393
25394 2008-02-11  Jim Meyering  <meyering@redhat.com>
25395
25396         useless-if-before-free: Fix reversed exit values.
25397         * build-aux/useless-if-before-free: Use correct values
25398         for EXIT_MATCH and EXIT_NO_MATCH.
25399
25400         * build-aux/useless-if-before-free: Close stdout carefully.
25401
25402 2008-02-10  Bruno Haible  <bruno@clisp.org>
25403
25404         New module 'git-merge-changelog'.
25405         * modules/git-merge-changelog: New file.
25406         * lib/git-merge-changelog.c: New file.
25407
25408 2008-02-10  Jim Meyering  <meyering@redhat.com>
25409
25410         useless-if-before-free: New option: --list (-l).
25411
25412         useless-if-before-free: Don't exit immediately upon open failure.
25413         * build-aux/useless-if-before-free: Exit 2 for errors.
25414         Upon failure to open a file, don't exit immediately.
25415         Rather, just warn and continue with any remaining files.
25416
25417 2008-02-10  Bruno Haible  <bruno@clisp.org>
25418
25419         New abstract list operation 'node_set_value'.
25420         * lib/gl_list.h (gl_list_node_set_value): New function.
25421         (struct gl_list_implementation): New field node_set_value.
25422         * lib/gl_list.c (gl_list_node_set_value): New function.
25423         * lib/gl_array_list.c (gl_array_node_set_value): New function.
25424         (gl_array_list_implementation): Update.
25425         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
25426         (gl_carray_list_implementation): Update.
25427         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
25428         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
25429         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
25430         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
25431         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
25432         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
25433         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
25434         Update.
25435         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
25436         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
25437         (gl_sublist_list_implementation): Update.
25438
25439 2008-02-10  Bruno Haible  <bruno@clisp.org>
25440
25441         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
25442         Needed when ELEMENT is #defined to 'some_type *'.
25443
25444 2008-02-10  Jim Meyering  <meyering@redhat.com>
25445
25446         New script and module: useless-if-before-free
25447         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
25448         * build-aux/useless-if-before-free: New file.
25449         * modules/useless-if-before-free: New file.
25450
25451         * build-aux/gitlog-to-changelog: Use committer date, not author date.
25452
25453         xstrtol_error: Fix typo.
25454         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
25455         s/exit_failure/exit_status/.
25456
25457 2008-02-09  Jim Meyering  <meyering@redhat.com>
25458
25459         New script and module: gitlog-to-changelog
25460         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
25461         * modules/gitlog-to-changelog: New file.
25462         * build-aux/gitlog-to-changelog: New file.
25463
25464 2008-02-08  Jim Meyering  <meyering@redhat.com>
25465
25466         Avoid two "parameter unused" warnings.
25467         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
25468         Mark "st" as used.
25469
25470         Use "git COMMAND", not "git-COMMAND".
25471         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
25472         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
25473         * build-aux/git-version-gen: Use "git status", not "git-status".
25474
25475 2008-02-07  Bruno Haible  <bruno@clisp.org>
25476
25477         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
25478         Avoids a crash on Windows Vista.
25479         Reported by Adam Strzelecki <ono@java.pl> via
25480         Simon Josefsson <simon@josefsson.org>.
25481
25482 2008-02-06  Bruno Haible  <bruno@clisp.org>
25483
25484         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
25485         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
25486         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
25487         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
25488         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
25489         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
25490         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
25491         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
25492         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
25493         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
25494         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
25495         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
25496         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
25497         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25498         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
25499         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
25500         left-adjust flag.
25501         * tests/test-snprintf-posix.h (test_function): Likewise.
25502         * tests/test-sprintf-posix.h (test_function): Likewise.
25503         * tests/test-vasprintf-posix.c (test_function): Likewise.
25504         * doc/posix-functions/fprintf.texi: Update.
25505         * doc/posix-functions/printf.texi: Update.
25506         * doc/posix-functions/snprintf.texi: Update.
25507         * doc/posix-functions/sprintf.texi: Update.
25508         * doc/posix-functions/vfprintf.texi: Update.
25509         * doc/posix-functions/vprintf.texi: Update.
25510         * doc/posix-functions/vsnprintf.texi: Update.
25511         * doc/posix-functions/vsprintf.texi: Update.
25512         Reported by Peter Fales <psfales@alcatel-lucent.com>.
25513
25514 2008-02-06  Bruno Haible  <bruno@clisp.org>
25515
25516         Fix bug introduced on 2008-01-26.
25517         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
25518
25519 2008-02-06  Bruno Haible  <bruno@clisp.org>
25520
25521         Fix bug introduced on 2007-06-10.
25522         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
25523         !NEED_PRINTF_FLAG_ZERO.
25524
25525 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
25526
25527         getloadavg: use libperfstat on AIX5
25528         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
25529
25530 2008-02-03  Bruno Haible  <bruno@clisp.org>
25531
25532         * lib/diffseq.h: Add comments about required #includes.
25533         Reported by Michael Biggs <gnulib@doubleplum.net>.
25534
25535 2008-02-01  Bruno Haible  <bruno@clisp.org>
25536
25537         * users.txt: Add gnuit.
25538
25539 2008-01-31  Bruno Haible  <bruno@clisp.org>
25540
25541         * lib/md4.c (set_uint32): Mark as inline.
25542         * lib/md5.c (set_uint32): Likewise.
25543         * lib/sha1.c (set_uint32): Likewise.
25544         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
25545         * m4/md5.m4 (gl_MD5): Likewise.
25546         * m4/sha1.m4 (gl_SHA1): Likewise.
25547
25548 2008-01-31  Jim Meyering  <meyering@redhat.com>
25549
25550         Use "sizeof VAR", rather than a literal "4".
25551         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
25552         * lib/md4.c (md4_read_ctx): Likewise.
25553         * lib/sha1.c (sha1_read_ctx): Likewise.
25554
25555 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25556
25557         * tests/test-sha1.c: New file, based on test-md5.c.
25558
25559         * modules/crypto/sha1-tests: New file.
25560
25561 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25562
25563         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
25564
25565 2008-01-31  Jim Meyering  <meyering@redhat.com>
25566
25567         Prefer "sizeof v" over the equivalent "4".
25568         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
25569         * lib/md5.c (set_uint32): Likewise.
25570         * lib/sha1.c (set_uint32): Likewise.
25571
25572 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25573
25574         * lib/sha1.c (set_uint32): Mark function as static.
25575
25576 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25577
25578         md2: clarify comments to say that alignment is not required.
25579         * lib/md2.h: Remove warning about alignment in comment.
25580         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
25581         never been required.
25582
25583 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25584
25585         md4: adapt alignment constraint fix from sha1.
25586         * lib/md4.c (set_uint32): New function, from sha1.c
25587         (md4_read_ctx): Use it.
25588         (md4_finish_ctx): Doc fix.
25589         * lib/md4.h: Doc fix.
25590
25591 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25592
25593         md5: adapt alignment constraint fix from sha1.
25594         * lib/md5.c (set_uint32): New function, from sha1.c
25595         (md5_read_ctx): Use it.
25596         (md5_finish_ctx): Doc fix.
25597         * lib/md5.h: Doc fix.
25598
25599 2008-01-30  Peter Palfrader  <weasel@debian.org>
25600
25601         sha1: remove the result buffer alignment constraint
25602         * lib/sha1.c (set_uint32): New function.
25603         (sha1_read_ctx): Rewrite to remove the result buffer alignment
25604         constraint.
25605         (sha1_finish_ctx): Remove comment warning about alignment constraint.
25606         * lib/sha1.h: Likewise.
25607
25608 2008-01-30  Andreas Schwab  <schwab@suse.de>
25609             Bruno Haible  <bruno@clisp.org>
25610
25611         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
25612         correct definition of LDBL_MIN_EXP.
25613
25614 2008-01-30  Karl Berry  <karl@gnu.org>
25615
25616         * config/srclist-update: try to preserve x bit on updates.
25617         * config/srclistvars.sh: update for karl.
25618
25619 2008-01-29  Jim Meyering  <meyering@redhat.com>
25620
25621         vasnprintf.c: Avoid warning about unused label
25622         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
25623         "overflow" label definition and associated code with the
25624         same cpp condition that guards the sole use of that label.
25625
25626 2008-01-26  Bruno Haible  <bruno@clisp.org>
25627
25628         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
25629         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
25630         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
25631         * lib/isnanl-nolibm.h (isnanl): Likewise.
25632         Reported by Paul Eggert <eggert@cs.ucla.edu>.
25633
25634 2008-01-26  Bruno Haible  <bruno@clisp.org>
25635
25636         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
25637         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
25638
25639 2008-01-26  Bruno Haible  <bruno@clisp.org>
25640
25641         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
25642         GCC >= 4.0 built-in.
25643         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
25644
25645 2008-01-26  Bruno Haible  <bruno@clisp.org>
25646
25647         Rename isnan, applicable to 'double' only, to isnand.
25648         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
25649         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
25650         (configure.ac): Update.
25651         (Include): Replace "isnan.h" with "isnand.h".
25652         * m4/isnand.m4: Renamed from m4/isnan.m4.
25653         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
25654         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
25655         instead of isnan.c.
25656         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
25657         instead of HAVE_ISNAN_IN_LIBC.
25658         (isnand): Renamed from isnan.
25659         * lib/isnand.c: New file.
25660         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
25661         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
25662         (Makefile.am): Update.
25663         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
25664         Include isnand.h instead of isnan.h.
25665         (main): Test isnand instead of isnan.
25666         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
25667         isnan-nolibm.
25668         * modules/frexp (Depends-on): Likewise.
25669         * modules/frexp-tests (Depends-on): Likewise.
25670         * modules/frexp-nolibm (Depends-on): Likewise.
25671         * modules/frexp-nolibm-tests (Depends-on): Likewise.
25672         * modules/isfinite (Depends-on): Likewise.
25673         * modules/round-tests (Depends-on): Likewise.
25674         * modules/signbit (Depends-on): Likewise.
25675         * modules/signbit-tests (Depends-on): Likewise.
25676         * modules/snprintf-posix (Depends-on): Likewise.
25677         * modules/sprintf-posix (Depends-on): Likewise.
25678         * modules/trunc-tests (Depends-on): Likewise.
25679         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
25680         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25681         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25682         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25683         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25684         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25685         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25686         * modules/vasnprintf-posix (Depends-on): Likewise.
25687         * modules/vasprintf-posix (Depends-on): Likewise.
25688         * modules/vfprintf-posix (Depends-on): Likewise.
25689         * modules/vsnprintf-posix (Depends-on): Likewise.
25690         * modules/vsprintf-posix (Depends-on): Likewise.
25691         * lib/frexp.c: Include isnand.h instead of isnan.h.
25692         (ISNAN): Set to isnand instead of isnan.
25693         * lib/isfinite.c: Include isnand.h instead of isnan.h.
25694         (gl_isfinited): Use isnand instead of isnan.
25695         * lib/signbitd.c: Include isnand.h instead of isnan.h.
25696         (gl_signbitd): Use isnand instead of isnan.
25697         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
25698         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
25699         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
25700         (main): Use isnand instead of isnan.
25701         * tests/test-round1.c: Include isnand.h.
25702         (main): Use isnand instead of isnan.
25703         * tests/test-round2.c: Include isnand.h instead of isnan.h.
25704         (ISNAN): Set to isnand instead of isnan.
25705         * tests/test-trunc1.c: Include isnand.h.
25706         (main): Use isnand instead of isnan.
25707         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
25708         (equal): Use isnand instead of isnan.
25709         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
25710         isnand-nolibm.
25711         * NEWS: Mention the change.
25712
25713 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
25714             Bruno Haible  <bruno@clisp.org>
25715
25716         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
25717         the GCC builtins for signbits are present and set
25718         REPLACE_SIGNBIT_USING_GCC if so.
25719         * lib/math.in.h (signbit): Define using GCC builtins if
25720         REPLACE_SIGNBIT_USING_GCC is set.
25721         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
25722         REPLACE_SIGNBIT_USING_GCC.
25723         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
25724
25725 2008-01-25  Jim Meyering  <meyering@redhat.com>
25726
25727         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
25728         * lib/poll.c: Include <config.h>, not "config.h".
25729         * tests/test-getaddrinfo.c: Likewise.
25730
25731 2008-01-25  Simon Josefsson  <simon@josefsson.org>
25732
25733         * modules/sockets-tests: New file.
25734
25735 2008-01-24  Simon Josefsson  <simon@josefsson.org>
25736
25737         * modules/sockets: New module, can be used to call WSA_Startup and
25738         WSA_Cleanup when needed.
25739
25740         * lib/sockets.h, lib/sockets.c: New files.
25741
25742         * m4/sockets.m4: New file.
25743
25744         * tests/test-sockets.c: New file.
25745
25746 2008-01-19  Bruno Haible  <bruno@clisp.org>
25747
25748         * doc/posix-headers: Renamed from doc/headers.
25749         * doc/posix-functions: Renamed from doc/functions.
25750         * doc/gnulib.texi: Update.
25751
25752 2008-01-19  Bruno Haible  <bruno@clisp.org>
25753
25754         * doc/glibc-functions/strcasestr.texi: Include contents of
25755         doc/functions/strcasestr.texi, fixing the list of platforms.
25756         * doc/functions/strcasestr.texi: Remove file.
25757
25758 2008-01-19  Bruno Haible  <bruno@clisp.org>
25759
25760         * doc/glibc-functions/memmem.texi: Include contents of
25761         doc/functions/memmem.texi.
25762         * doc/functions/memmem.texi: Remove file.
25763
25764 2008-01-18  Bruno Haible  <bruno@clisp.org>
25765
25766         * doc/glibc-functions/*.texi: New files.
25767         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
25768         to use the new files.
25769
25770 2008-01-17  Bruno Haible  <bruno@clisp.org>
25771
25772         * tests/test-gethostname.c (main): Fix printf statement.
25773
25774 2008-01-17  Simon Josefsson  <simon@josefsson.org>
25775
25776         * modules/gethostname-tests: New file.
25777
25778         * tests/test-gethostname.c: New file.
25779
25780 2008-01-17  Simon Josefsson  <simon@josefsson.org>
25781
25782         * lib/gethostname.c: Include string.h unconditionally, strncpy is
25783         used by the UNAME case.  Reported by Bruno Haible
25784         <bruno@clisp.org>.
25785
25786 2008-01-17  Eric Blake  <ebb9@byu.net>
25787
25788         Convert c-strcasestr to be more efficient.
25789         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
25790         (Depends-on): Add c-strcase, remove malloca, strnlen.
25791         * tests/test-c-strcasestr.c (main): Enhance test.
25792         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
25793
25794 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
25795
25796         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
25797         Use it in creating po/Makevars.
25798
25799 2008-01-15  Simon Josefsson  <simon@josefsson.org>
25800
25801         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
25802         Applications that requires it should initialize libgcrypt
25803         manually.
25804
25805 2008-01-16  Simon Josefsson  <simon@josefsson.org>
25806
25807         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
25808
25809 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
25810
25811         Fix problem with getdate on mingw32 reported by Simon Josefsson
25812         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
25813         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
25814         tzname", when deciding whether to declare tzname.
25815         * lib/strftime.c (tzname): Likewise.
25816
25817 2008-01-15  Bruno Haible  <bruno@clisp.org>
25818
25819         Work around a MacOS X 10.5 bug in frexpl().
25820         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
25821         * doc/functions/frexpl.texi: Document the bug.
25822         Reported by Elias Pipping <pipping@gentoo.org>.
25823
25824 2008-01-14  Eric Blake  <ebb9@byu.net>
25825
25826         Touch up previous patch.
25827         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
25828         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
25829
25830         Convert strcasestr module to use Two-Way algorithm.
25831         * modules/strcasestr-simple: New module, based on the old
25832         strcasestr, but with Two-Way rather than KMP.
25833         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
25834         * lib/string.in.h (rpl_strcasestr): Declare.
25835         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
25836         performance.
25837         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
25838         * modules/string (Makefile.am): Support strcasestr.
25839         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
25840         * modules/strcasestr-tests (Depends-on): Check for alarm.
25841         * tests/test-strcasestr.c: Augment test.
25842         * lib/str-two-way.h: Clean up stray macro.
25843         * NEWS: Document new module.
25844         * MODULES.html.sh (string handling): Likewise.
25845         * doc/functions/strcasestr.texi: New file.
25846         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
25847         here, since it is not a POSIX function.
25848
25849 2008-01-14  Colin Watson  <cjwatson@debian.org>
25850             Bruno Haible  <bruno@clisp.org>
25851
25852         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
25853         works fine; if not, set REPLACE_STRSIGNAL.
25854         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
25855         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25856         REPLACE_STRSIGNAL.
25857         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
25858         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
25859         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
25860
25861 2008-01-14  Bruno Haible  <bruno@clisp.org>
25862
25863         * modules/strsignal (Include): Change to <string.h>.
25864
25865 2008-01-14  Colin Watson  <cjwatson@debian.org>
25866
25867         * modules/argp (Notice): Add a notice recommending to change
25868         XGETTEXT_OPTIONS.
25869         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
25870
25871 2008-01-13  Colin Watson  <cjwatson@debian.org>
25872
25873         * modules/strsignal-tests: New file.
25874         * tests/test-strsignal.c: New file.
25875
25876         * lib/strsignal.c: New file, from glibc with modifications.
25877         * lib/siglist.h: New file, from glibc with modifications.
25878         * lib/string.in.h (strsignal): New declaration.
25879         * m4/strsignal.m4: New file.
25880         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25881         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
25882         * modules/strsignal: New file.
25883         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
25884         HAVE_DECL_STRSIGNAL.
25885
25886 2008-01-13  Bruno Haible  <bruno@clisp.org>
25887
25888         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
25889         locale encoding is not ASCII. Needed for OpenBSD 4.0.
25890         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
25891         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25892
25893 2008-01-13  Bruno Haible  <bruno@clisp.org>
25894
25895         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
25896         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
25897         * lib/argp.h (__attribute__): Likewise.
25898         * lib/c-stack.c (__attribute__): Likewise.
25899         * lib/error.h (__attribute__): Likewise.
25900         * lib/fts.c (__attribute__): Likewise.
25901         * lib/openat.h (__attribute__): Likewise.
25902         * lib/stdio.in.h (__attribute__): Likewise.
25903         * lib/string.in.h (__attribute__): Likewise.
25904         * lib/utimens.c (__attribute__): Likewise.
25905         * lib/vasnprintf.h (__attribute__): Likewise.
25906         * lib/xalloc.h (__attribute__): Likewise.
25907         * lib/xprintf.h (__attribute__): Likewise.
25908         * lib/xstrtol.h (__attribute__): Likewise.
25909         * lib/xvasprintf.h (__attribute__): Likewise.
25910
25911 2008-01-12  Bruno Haible  <bruno@clisp.org>
25912
25913         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
25914         * doc/glibc-headers/a.out.texi: New file.
25915         * doc/glibc-headers/aliases.texi: New file.
25916         * doc/glibc-headers/alloca.texi: New file.
25917         * doc/glibc-headers/ar.texi: New file.
25918         * doc/glibc-headers/argp.texi: New file.
25919         * doc/glibc-headers/argz.texi: New file.
25920         * doc/glibc-headers/byteswap.texi: New file.
25921         * doc/glibc-headers/crypt.texi: New file.
25922         * doc/glibc-headers/endian.texi: New file.
25923         * doc/glibc-headers/envz.texi: New file.
25924         * doc/glibc-headers/err.texi: New file.
25925         * doc/glibc-headers/error.texi: New file.
25926         * doc/glibc-headers/execinfo.texi: New file.
25927         * doc/glibc-headers/fpu_control.texi: New file.
25928         * doc/glibc-headers/fstab.texi: New file.
25929         * doc/glibc-headers/fts.texi: New file.
25930         * doc/glibc-headers/getopt.texi: New file.
25931         * doc/glibc-headers/ieee754.texi: New file.
25932         * doc/glibc-headers/ifaddrs.texi: New file.
25933         * doc/glibc-headers/libintl.texi: New file.
25934         * doc/glibc-headers/mcheck.texi: New file.
25935         * doc/glibc-headers/mntent.texi: New file.
25936         * doc/glibc-headers/obstack.texi: New file.
25937         * doc/glibc-headers/paths.texi: New file.
25938         * doc/glibc-headers/printf.texi: New file.
25939         * doc/glibc-headers/pty.texi: New file.
25940         * doc/glibc-headers/resolv.texi: New file.
25941         * doc/glibc-headers/shadow.texi: New file.
25942         * doc/glibc-headers/sysexits.texi: New file.
25943         * doc/glibc-headers/ttyent.texi: New file.
25944
25945 2008-01-12  Jim Meyering  <meyering@redhat.com>
25946
25947         announce-gen: emit Gnulib's git-based version string.
25948         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
25949         New option --gnulib-version=V, where V is expected to be
25950         the output of running git describe in the gnulib directory.
25951         (get_tool_versions): Request feedback on xdelta.  I suspect it's
25952         not useful, and plan to stop publishing an xdelta file with each
25953         coreutils release.
25954
25955         * build-aux/announce-gen: Also check for lzma-compressed files.
25956
25957 2008-01-11  Bruno Haible  <bruno@clisp.org>
25958
25959         * tests/test-memmem.c (main): Increase maximum allowed time.
25960         * tests/test-strstr.c (main): Likewise.
25961
25962 2008-01-11  Bruno Haible  <bruno@clisp.org>
25963
25964         * doc/functions/memmem.texi: Add more precisions about platforms.
25965         * doc/functions/strstr.texi: Likewise.
25966
25967 2008-01-10  Eric Blake  <ebb9@byu.net>
25968
25969         * m4/strstr.m4: Delete cruft from copy-n-paste.
25970         Reported by Bruno Haible.
25971
25972 2008-01-10  Bruno Haible  <bruno@clisp.org>
25973
25974         Make c-strstr rely on strstr.
25975         * lib/c-strstr.c: Don't include str-kmp.h.
25976         (c_strstr): Define in terms of strstr.
25977         * modules/c-strstr (Files): Remove lib/str-kmp.h.
25978         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
25979
25980 2008-01-10  Bruno Haible  <bruno@clisp.org>
25981
25982         * doc/gnulib.texi (String Functions in C Locale): New section.
25983         * doc/c-ctype.texi: New file.
25984         * doc/c-strcase.texi: New file.
25985         * doc/c-strcaseeq.texi: New file.
25986         * doc/c-strcasestr.texi: New file.
25987         * doc/c-strstr.texi: New file.
25988         * doc/c-strtod.texi: New file.
25989         * doc/c-strtold.texi: New file.
25990
25991 2008-01-10  Eric Blake  <ebb9@byu.net>
25992
25993         * lib/relocatable.h: Fix a comment.
25994
25995 2008-01-10  Eric Blake  <ebb9@byu.net>
25996
25997         Share two-way algorithm.
25998         * lib/str-two-way.h: New file, merged from...
25999         * lib/memmem.c: ...here...
26000         * lib/strstr.c: ...and here.
26001         * modules/memmem (Files): Use it.
26002         * modules/strstr (Files): Likewise.
26003
26004         Avoid quadratic strstr implementations.
26005         * lib/strstr.c: New file.
26006         * m4/strstr.m4: Likewise.
26007         * modules/strstr: Likewise.
26008         * modules/strstr-tests: Likewise.
26009         * tests/test-strstr.c: Likewise.
26010         * lib/string.in.h (rpl_strstr): Declare.
26011         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
26012         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
26013         * modules/string (Makefile.am): Likewise.
26014         * MODULES.html.sh (string handling): Mention new module.
26015         * doc/functions/strstr.texi (strstr): Document the bug.
26016
26017 2008-01-10  Bruno Haible  <bruno@clisp.org>
26018
26019         * lib/relocatable.h (relocate): State whether result is freshly
26020         allocated or not.
26021         * lib/relocatable.c (relocate): Return a freshly allocated string
26022         instead of a pointer to a privately held string.
26023         Reported by Sylvain Beucler <beuc@gnu.org>.
26024
26025 2008-01-10  Colin Watson  <cjwatson@debian.org>
26026
26027         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
26028         s/S_ISNLK/S_ISLNK/.
26029
26030 2008-01-09  Bruno Haible  <bruno@clisp.org>
26031
26032         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
26033         and other files.
26034         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
26035         if it's only a guess.
26036         * modules/memmem: Simplify by depending on memmem-simple.
26037
26038 2008-01-09  Bruno Haible  <bruno@clisp.org>
26039
26040         Work around OpenBSD 4.0 tdelete() bug.
26041         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
26042         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
26043         macros and don't redefine the enum values.
26044         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
26045         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
26046         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
26047
26048 2008-01-09  Bruno Haible  <bruno@clisp.org>
26049
26050         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
26051         (main): Don't perform the tests if setlocale did not install a UTF-8
26052         locale. Needed on OpenBSD 4.0.
26053         * modules/wcwidth-tests (Depends-on): Add localcharset.
26054
26055 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
26056
26057         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
26058         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
26059         * NEWS: announce this.
26060         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
26061
26062 2008-01-09  Simon Josefsson  <simon@josefsson.org>
26063         and Eric Blake  <ebb9@byu.net>
26064
26065         Add memmem-simple module.
26066         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
26067         (gl_FUNC_MEMMEM): Separate performance from presence checks.
26068         * modules/memmem-simple: New file.
26069         * modules/memmem (Description): Tweak.
26070         * MODULES.html.sh (string handling): Mention new module.
26071         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
26072         addressed by memmem-simple.
26073         * NEWS: Document the difference.
26074
26075 2008-01-09  Eric Blake  <ebb9@byu.net>
26076
26077         Give gcc some memmem optimization hints.
26078         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
26079         (strcasestr): Declare as pure.
26080         * modules/memmem (Maintainer): Claim my implementation.
26081
26082 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26083
26084         Support AIX 6.1 and higher.
26085         * build-aux/config.libpath: Likewise.
26086         * build-aux/config.rpath: Likewise.
26087
26088 2008-01-08  Jim Meyering  <meyering@redhat.com>
26089             Bruno Haible  <bruno@clisp.org>
26090
26091         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
26092         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
26093         Reported by Peter Fales in
26094         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
26095
26096 2008-01-08  Bruno Haible  <bruno@clisp.org>
26097
26098         * modules/unictype/category-of (Depends-on): Add
26099         unictype/category-none.
26100         * modules/unictype/category-and-tests (Depends-on): Add
26101         unictype/category-{L,N,Lu,Nd}.
26102         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
26103         * modules/unictype/category-or-tests (Depends-on): Add
26104         unictype/category-{L,N}.
26105         * modules/unictype/category-name-tests (Depends-on): Add
26106         unictype/category-{Z,Nl}.
26107         Reported by Simon Josefsson.
26108
26109 2008-01-08  Bruno Haible  <bruno@clisp.org>
26110
26111         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
26112         convention better.
26113         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
26114         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
26115         Reported by Peter Miller <millerp@canb.auug.org.au>.
26116
26117 2008-01-08  Eric Blake  <ebb9@byu.net>
26118
26119         Rewrite memmem to guarantee linear complexity without malloc.
26120         * lib/memmem.c (memmem): Use Two-Way rather than
26121         Knuth-Morris-Pratt, to allow O(1) space usage.
26122         (critical_factorization, two_way_short_needle)
26123         (two_way_long_needle): New functions.
26124         (knuth_morris_pratt): Delete.
26125         * modules/memmem (Depends-on): No longer need malloca or stdbool.
26126         Add stdint.
26127         * tests/test-memmem.c (main): Add tests for periodic needle and
26128         sublinear performance.
26129         * doc/functions/memmem.texi (memmem): Document other deficiencies
26130         in cygwin and older glibc.
26131
26132 2008-01-08  Bruno Haible  <bruno@clisp.org>
26133
26134         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
26135         augmentation.
26136
26137 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
26138
26139         Add a configure time option: --disable-acl.
26140         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
26141         AC_ARG_ENABLE(acl).
26142
26143 2008-01-06  Simon Josefsson  <simon@josefsson.org>
26144
26145         * tests/test-localename.c: Don't include obsolete "setenv.h".
26146
26147         * modules/localename-tests (Depends-on): Need unsetenv.
26148
26149 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26150
26151         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
26152
26153 2008-01-06  Colin Watson  <cjwatson@debian.org>
26154
26155         * users.txt: Add man-db.
26156
26157 2008-01-07  Bruno Haible  <bruno@clisp.org>
26158
26159         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
26160         previous section name.
26161
26162 2008-01-07  Bruno Haible  <bruno@clisp.org>
26163
26164         * lib/progname.c (set_program_name): Don't strip off a leading
26165         "lt-" prefix outside a .libs directory.
26166         Suggested by Paul Eggert.
26167
26168 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
26169             Bruno Haible  <bruno@clisp.org>
26170
26171         Improve memory cleanup in 'relocatable' module.
26172         * lib/relocatable.h (compute_curr_prefix): Change return type to
26173         'char *'.
26174         * lib/relocatable.c (compute_curr_prefix): Change return type to
26175         'char *'. Free curr_installdir after use.
26176         (relocate): Free curr_prefix_better after use.
26177         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
26178
26179 2008-01-01  Bruno Haible  <bruno@clisp.org>
26180
26181         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
26182         failure on older glibc systems.
26183         Reported by Peter Fales <psfales@alcatel-lucent.com>.
26184
26185 2008-01-05  Eric Blake  <ebb9@byu.net>
26186
26187         Avoid quadratic system memmem.
26188         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
26189         Reported by Ralf Wildenhues.
26190
26191         Fix memmem test for mingw.
26192         * modules/memmem-tests (configure.ac): Check for alarm.
26193         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
26194         it.
26195         * doc/functions/memmem.texi: New file.
26196         * doc/gnulib.texi (Function Substitutes): Add memmem.
26197         Reported by Bruno Haible.
26198
26199 2008-01-04  Bruno Haible  <bruno@clisp.org>
26200
26201         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
26202         Require gl_HEADER_STRINGS_H_DEFAULTS, not
26203         gl_HEADER_STRING_H_DEFAULTS.
26204
26205 2008-01-04  Eric Blake  <ebb9@byu.net>
26206
26207         Shorten duration of memmem test.
26208         * tests/test-memmem.c (main): Use alarm to declare failure if test
26209         is taking too long.
26210         Reported by Ralf Wildenhues.
26211
26212 2007-12-21  Simon Josefsson  <simon@josefsson.org>
26213
26214         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
26215         string, needed by strerror.
26216
26217 2008-01-03  Colin Watson  <cjwatson@debian.org>
26218             Bruno Haible  <bruno@clisp.org>
26219
26220         * doc/gnulib-tool.texi (Localization): New section.
26221
26222 2008-01-02  Bruno Haible  <bruno@clisp.org>
26223
26224         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
26225         variables to 'unsigned char *' type.
26226         Reported by Paul Eggert.
26227
26228 2008-01-02  Jim Meyering  <jim@meyering.net>
26229
26230         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
26231
26232 2007-12-31  Jim Meyering  <jim@meyering.net>
26233
26234         Avoid use of private FTS type name.
26235         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
26236
26237 2007-12-30  Karl Berry  <karl@gnu.org>
26238
26239         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
26240         work around defect in Texinfo and/or the standalone Info browser.
26241
26242 2007-12-30  Bruno Haible  <bruno@clisp.org>
26243
26244         Unify 5 copies of the KMP code.
26245         * lib/str-kmp.h: New file.
26246         * lib/c-strcasestr.c: Include str-kmp.h.
26247         (knuth_morris_pratt): Remove function.
26248         (c_strcasestr): Update.
26249         * lib/c-strstr.c: Include str-kmp.h.
26250         (knuth_morris_pratt): Remove function.
26251         (c_strcasestr): Update.
26252         * lib/mbscasestr.c: Include str-kmp.h.
26253         (knuth_morris_pratt_unibyte): Remove function.
26254         * lib/mbsstr.c: Include str-kmp.h.
26255         (knuth_morris_pratt_unibyte): Remove function.
26256         * lib/strcasestr.c: Include str-kmp.h.
26257         (knuth_morris_pratt): Remove function.
26258         (strcasestr): Update.
26259         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
26260         * modules/c-strstr (Files): Likewise.
26261         * modules/mbscasestr (Files): Likewise.
26262         * modules/mbsstr (Files): Likewise.
26263         * modules/strcasestr (Files): Likewise.
26264         Suggested by Paul Eggert.
26265
26266 2007-12-30  Bruno Haible  <bruno@clisp.org>
26267
26268         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
26269         defined.
26270
26271 2007-12-30  Bruno Haible  <bruno@clisp.org>
26272
26273         * lib/xmalloca.h: Include xalloc.h.
26274         (xnmalloca): New macro.
26275
26276 2007-12-30  Bruno Haible  <bruno@clisp.org>
26277
26278         * lib/malloca.h (nmalloca): New macro.
26279         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
26280         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
26281         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
26282         knuth_morris_pratt_multibyte): Likewise.
26283         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
26284         knuth_morris_pratt_multibyte): Likewise.
26285         * lib/memmem.c (knuth_morris_pratt): Likewise.
26286         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
26287
26288 2007-12-25  Bruno Haible  <bruno@clisp.org>
26289
26290         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
26291         * lib/glob.c: Don't include openat.h.
26292         (link_exists2_p): Add back the code that deals with the
26293         !GLOB_ALTDIRFUNC case.
26294         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
26295         let it do the filename concatenation.
26296         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
26297         * modules/glob (Depends-on): Remove openat.
26298
26299 2007-12-31  Bruno Haible  <bruno@clisp.org>
26300
26301         * modules/dirfd (License): Change to LGPLv2+.
26302         Approved by Jim Meyering.
26303
26304 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26305
26306         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
26307         when multiplying M by sizeof (size_t).
26308
26309 2007-12-10  Martin Lambers  <marlam@marlam.de>
26310
26311         Override getpagesize on mingw.
26312         * lib/getpagesize.c: New file.
26313         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
26314         * modules/getpagesize (Files): Add lib/getpagesize.c.
26315         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
26316         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26317         REPLACE_GETPAGESIZE.
26318         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
26319
26320 2007-12-25  Bruno Haible  <bruno@clisp.org>
26321
26322         * modules/localcharset (Notice): New field.
26323         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
26324         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
26325
26326 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26327             Bruno Haible  <bruno@clisp.org>
26328
26329         Avoid using the syntax symbol() in formatted documentation.
26330         * MODULES.html.sh (func_module): When replacing symbol() with a
26331         hyperlink, remove the parentheses. Show an error if some remain.
26332         Recognize and render the '...' syntax.
26333         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
26334         Rework. Add paragraph about GCC's inlining.
26335         * doc/alloca.texi: Likewise.
26336         * doc/error.texi: Remove parentheses from symbol reference.
26337         * doc/gnulib-intro.texi: Likewise.
26338         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
26339         * modules/fnmatch (Description): Reword to say "the ... function".
26340         * modules/full-read (Description): Likewise.
26341         * modules/full-write (Description): Likewise.
26342         * modules/safe-read (Description): Likewise.
26343         * modules/safe-write (Description): Likewise.
26344         * modules/strchrnul (Description): Likewise.
26345         * modules/trim (Description): Likewise.
26346         * modules/error (Description): Remove parentheses from symbol
26347         references.
26348         * modules/verror (Description): Likewise.
26349         Reported by Karl Berry.
26350
26351 2007-12-25  Bruno Haible  <bruno@clisp.org>
26352
26353         Fixup after 2007-10-16 commit.
26354         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
26355
26356 2007-12-24  Bruno Haible  <bruno@clisp.org>
26357
26358         Make --enable-relocatable work with DESTDIR.
26359         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
26360         to compute installdir from destprog.
26361         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
26362         also set the RELOC_DESTDIR variable.
26363         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
26364
26365 2007-12-24  Bruno Haible  <bruno@clisp.org>
26366
26367         Fix link error due to xalloc_die().
26368         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
26369         of xreadlink.
26370         * lib/relocwrapper.c: Update comments.
26371         * build-aux/install-reloc: Remove xreadlink.c from file list.
26372         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
26373         xreadlink.c.
26374         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
26375
26376 2007-12-24  Bruno Haible  <bruno@clisp.org>
26377
26378         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
26379         * lib/setenv.h: Remove file.
26380         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
26381         lib/setenv.h.
26382         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
26383         (Depends-on): Add stdlib.
26384         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
26385         gl_FUNC_UNSETENV.
26386         (Include): Replace setenv.h with <stdlib.h>.
26387         * modules/unsetenv: New file.
26388         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
26389         * lib/unsetenv.c: Include <stdlib.h> first.
26390         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
26391         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
26392         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
26393         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
26394         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
26395         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
26396         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
26397         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
26398         * doc/functions/unsetenv.texi: Update.
26399         * modules/xsetenv (Depends-on): Add unsetenv.
26400         * modules/getdate (Depends-on): Likewise.
26401         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
26402         * lib/xsetenv.c: Don't include setenv.h.
26403         * lib/getdate.y: Likewise.
26404         * lib/relocwrapper.c: Likewise.
26405         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
26406         (Depends-on): Add stdlib.
26407         * NEWS: Mention the changes.
26408         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
26409
26410 2007-12-23  Bruno Haible  <bruno@clisp.org>
26411
26412         * lib/memmem.c (memmem): Use lowercase variable names. Tab
26413         indentation.
26414
26415 2007-12-23  Bruno Haible  <bruno@clisp.org>
26416
26417         * lib/c-strcasestr.c: Add more comments.
26418         * lib/c-strstr.c: Likewise.
26419         * lib/mbscasestr.c: Likewise.
26420         * lib/mbsstr.c: Likewise.
26421         * lib/strcasestr.c: Likewise.
26422         * lib/memmem.c: Likewise.
26423
26424 2007-12-23  Bruno Haible  <bruno@clisp.org>
26425
26426         * tests/test-memmem.c: Include <string.h> first.
26427
26428 2007-12-22  Bruno Haible  <bruno@clisp.org>
26429
26430         * gnulib-tool (func_create_testdir): Change $auxdir while generating
26431         the contents of $testsbase.
26432         Reported by Ralf Wildenhues.
26433
26434 2007-12-22  Bruno Haible  <bruno@clisp.org>
26435
26436         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
26437         two variables local_ldadd_before, local_ldadd_last.
26438
26439 2007-12-20  Eric Blake  <ebb9@byu.net>
26440
26441         Work around circular library issue when cross-compiling.
26442         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
26443         that progname.o does not need to pull in rpl_memcmp.
26444
26445 2007-12-19  Eric Blake  <ebb9@byu.net>
26446
26447         Fix memmem to avoid O(n^2) worst-case complexity.
26448         * lib/memmem.c (knuth_morris_pratt): New function.
26449         (memmem): Use it if first few naive iterations fail.
26450         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
26451         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
26452         * modules/memchr (License): Likewise.
26453         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
26454         malloca.
26455         * tests/test-memmem.c: Rewrite, borrowing ideas from
26456         test-mbsstr1.c; the old version wouldn't even compile!
26457         * modules/memmem-tests: New file.
26458         * lib/string.in.h (rpl_memmem): Add declaration.
26459         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
26460         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
26461         REPLACE_MEMMEM.
26462
26463 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26464
26465         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
26466         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
26467         before any system include files, and undef after them all.  This
26468         should fix a problem on VMS reported by John E. Malmberg in
26469         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
26470
26471 2007-12-17  Eric Blake  <ebb9@byu.net>
26472
26473         Revert addition of verify, for BSD/OS.
26474         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
26475         can't handle large files, for the sake of obsolete platforms.
26476         * modules/fseeko (Depends-on): Remove verify.
26477         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
26478         * doc/functions/ftello.texi (ftello): Likewise.
26479         * doc/functions/fgetpos.texi (fgetpos): Likewise.
26480         Reported by Larry Jones.
26481
26482 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
26483
26484         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
26485         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
26486
26487 2007-12-17  Jim Meyering  <meyering@redhat.com>
26488
26489         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
26490         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
26491         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
26492         * modules/getcwd (Depends-on): Add openat.
26493         Reported by Petr Salinger.
26494
26495 2007-12-17  Bruno Haible  <bruno@clisp.org>
26496
26497         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
26498         avoid a segmentation fault of the configure test on x86_64 systems.
26499
26500 2007-12-15  Jim Meyering  <meyering@redhat.com>
26501
26502         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
26503
26504 2007-12-13  Eric Blake  <ebb9@byu.net>
26505
26506         Another fseek test.
26507         * tests/test-fseek.c (main): Also test ungetc handling.
26508         * tests/test-fseeko.c (main): Likewise.
26509         * modules/fseeko (Depends-on): Add verify.
26510         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
26511         large.
26512         Reported by Larry Jones.
26513
26514         Fix fseeko on mingw.
26515         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
26516         seek.
26517
26518         Beef up fseek tests.
26519         * tests/test-fseek.c (main): Also test eof handling.
26520         * tests/test-fseeko.c (main): Likewise.
26521         Reported by Larry Jones.
26522
26523 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
26524
26525         Fix fseeko on BSD-based platforms.
26526         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
26527         successful seek.
26528
26529 2007-12-12  Eric Blake  <ebb9@byu.net>
26530
26531         Allow circular dependency of separate libtests.a
26532         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
26533         when use_libtests.
26534
26535 2007-12-11  Eric Blake  <ebb9@byu.net>
26536
26537         Fix bug with -0.0L in previous patch.
26538         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
26539         * tests/test-isnan.c (main): Also test on zeroes.
26540         * tests/test-isnanf.c (main): Likewise.
26541         * tests/test-isnanl.h (main): Likewise.
26542
26543         Detect pseudo-denormals on x86 even when cross-compiling.
26544         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
26545         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
26546         invalid bit patterns that happen to satisfy ==.
26547
26548         Avoid link failures with separate libtests.a.
26549         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
26550         last, to satisfy circular dependencies.
26551
26552 2007-12-11  Eric Blake  <ebb9@byu.net>
26553         and Bruno Haible  <bruno@clisp.org>
26554
26555         Fix OpenBSD 4.0 <float.h> handling of long double.
26556         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
26557         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
26558         * doc/headers/float.texi (float.h): Document OpenBSD bug.
26559
26560 2007-12-11  Jim Meyering  <meyering@redhat.com>
26561
26562         * users.txt: Add libvirt.
26563
26564         Support versions of autoconf prior to 2.59c.
26565         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
26566         if it is not already defined.
26567
26568 2007-12-09  Bruno Haible  <bruno@clisp.org>
26569
26570         Let 'gnulib-tool --import' collect sources needed for the tests in
26571         tests/ rather than in lib/.
26572         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
26573         argument. If true, add rules to generate libtests.a, and put libtests.a
26574         into $(LDADD). Consider source files in subdirectories and set
26575         uses_subdirs.
26576         (func_emit_initmacro_start, func_emit_initmacro_end,
26577         func_emit_initmacro_done): Pass all arguments explicitly.
26578         (func_import): Determine two module lists main_modules,
26579         testsrelated_modules. Determine use_libtests. Determine two variables
26580         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
26581         instead of just sed_transform_lib_file. Determine two variables
26582         main_files and testsrelated_files. Compute 'files' as the union of
26583         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
26584         func_add_or_update. In the generated gnulib-comp.m4, collect the
26585         object files for tests/ in different variables than those for lib/.
26586         Substitute LIBTESTS_LIBDEPS.
26587         (func_create_testdir): Combine the uses_subdirs results from
26588         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
26589
26590 2007-12-09  Bruno Haible  <bruno@clisp.org>
26591
26592         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
26593         the build-aux directory.
26594
26595 2007-12-09  Bruno Haible  <bruno@clisp.org>
26596
26597         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
26598         introduced on 2006-09-09.
26599
26600 2007-12-07  Jim Meyering  <meyering@redhat.com>
26601
26602         Let these macros work also with autoconf-2.59.
26603         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
26604         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
26605         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
26606
26607 2007-12-06  Jim Meyering  <meyering@redhat.com>
26608
26609         Avoid a configure-time syntax error in gl_FUNC_ACL.
26610         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
26611         function in each branch, before testing the cache variable.
26612
26613 2007-12-04  Eric Blake  <ebb9@byu.net>
26614
26615         Make scripts executable.
26616         * build-aux/config.guess: Add execute permissions.
26617         * build-aux/config.sub: Likewise.
26618         * build-aux/gendocs.sh: Likewise.
26619
26620         Fix frexp on mingw.
26621         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
26622         cross-compiling.
26623         * doc/functions/frexp.texi (frexp): Document the bug.
26624
26625         Make cygwin fseeko check more reliable.
26626         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
26627         version numbers, rather than unrelated feature check.
26628         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
26629         * doc/functions/ftello.texi (ftello): Likewise.
26630         Reported by Bruno Haible.
26631
26632         * m4/strerror.m4: Bump version number.
26633
26634 2007-12-03  Bruno Haible  <bruno@clisp.org>
26635
26636         * doc/functions/mprotect.texi: Mention the mingw problem.
26637
26638 2007-12-03  Eric Blake  <ebb9@byu.net>
26639
26640         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
26641         REPLACE_STRERROR is initialized before this macro.
26642
26643 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
26644
26645         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
26646         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
26647         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
26648         put -lsec in even for programs other than 'ls'.  This fixes a problem
26649         for gettext reported by Bruno Haible in
26650         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
26651         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
26652         Add support for Solaris 10.  This isn't efficient, but should get the
26653         job done for now.
26654
26655 2007-12-03  James Youngman  <jay@gnu.org>
26656
26657         * doc/regexprops-generic.texi: change "an close-group" to "a
26658         close-group" and "illegal" to "not allowed".
26659
26660 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26661
26662         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
26663         pr_byname.h. Needed for the rare case when the maintainer has done
26664         "make maintainer-clean" in the source directory and then attempts a
26665         build outside the source directory.
26666         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
26667         scripts_byname.h.
26668
26669 2007-12-02  Martin Lambers <marlam@marlam.de>
26670             Bruno Haible  <bruno@clisp.org>
26671
26672         * lib/getpagesize.h: Remove file.
26673         * lib/unistd.in.h: Include declaration of getpagesize here.
26674         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
26675         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
26676         HAVE_SYS_PARAM_H.
26677         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
26678         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
26679         * modules/getpagesize (Files): Remove lib/getpagesize.h.
26680         (Depends-on): Add unistd.
26681         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26682         (Include): Use <unistd.h> instead of getpagesize.h.
26683         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
26684         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
26685         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
26686         gl_GETPAGESIZE invocation, already handled by module dependency.
26687         * lib/pagealign_alloc.c: Don't include getpagesize.h.
26688
26689 2007-12-02  Bruno Haible  <bruno@clisp.org>
26690
26691         * modules/strings-tests: New file.
26692         * tests/test-strings.c: New file.
26693
26694         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
26695         * lib/strings.in.h: New file.
26696         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
26697         * m4/strings_h.m4: New file.
26698         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
26699         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
26700         * modules/strings: New file.
26701         * modules/string (Makefile.am): Update.
26702         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
26703         Reported by Karl Berry.
26704
26705 2007-12-01  Eric Blake  <ebb9@byu.net>
26706
26707         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
26708         accomodate fix in cygwin 1.5.25.
26709
26710 2007-12-01  Jim Meyering  <meyering@redhat.com>
26711
26712         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
26713         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
26714         that would inhibit utf8-optimization of a regexp containing line-
26715         or buffer-anchors, e.g., `^', `$'.
26716
26717 2007-11-30  Bruno Haible  <bruno@clisp.org>
26718
26719         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
26720         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
26721         glthread_recursive_lock_init.
26722         * lib/lock.c (glthread_recursive_lock_init)
26723         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
26724         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
26725
26726 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
26727
26728         New function qset_acl, like set_acl but with syscall semantics.
26729         * lib/acl.h (qset_acl): New decl.
26730         * lib/acl.c (qset_acl): New function.
26731         (set_acl): Use new function.  Use more-consistent diagnostics.
26732
26733 2007-11-28  Jim Meyering  <meyering@redhat.com>
26734
26735         * modules/physmem (License): Change from GPL to LGPLv2+.
26736
26737 2007-11-26  Bruno Haible  <bruno@clisp.org>
26738
26739         * lib/vasnprintf.c (decode_long_double): Don't abort if the
26740         'long double' type has excess precision.
26741         Reported by Jim Meyering in
26742         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
26743
26744 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26745
26746         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
26747         Sync from <http://gnu.org/licenses>.
26748         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
26749         with license text from same location.
26750         * doc/maintain.texi, doc/standards.texi:  Sync from
26751         <http://savannah.gnu.org/projects/gnustandards>.
26752
26753 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
26754         and Jim Meyering  <meyering@redhat.com>
26755
26756         Adjust getdate' grammar to accept a slightly more regular language.
26757         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
26758         Before, the former was rejected.
26759         * lib/getdate.y (digits_to_date_time): New function, factored
26760         out of ...
26761         (number): ...here.  Just call digits_to_date_time.
26762         (hybrid): New non-terminal to handle an <unsigned number,
26763         signed relative offset> sequence consistently.
26764
26765 2007-11-18  Jim Meyering  <meyering@redhat.com>
26766
26767         Pull my changes from coreutils:
26768         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
26769         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
26770         use of $gnulib_tool_option_extras, so that it's separated from the
26771         preceding argument.
26772
26773         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
26774         * build-aux/bootstrap (cp_mark_as_generated): Create any required
26775         parent destination directories before copying a file into place.
26776
26777 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
26778
26779         bootstrap: work also with 4-argument variant of AC_INIT
26780         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
26781
26782 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26783
26784         Port test-getaddrinfo to Solaris.
26785         Problem reported by Bruno Haible in
26786         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
26787         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
26788         explanation of setting 'hints'.
26789         Don't reject an implementation merely because it returns EAI_SERVICE.
26790         (EAI_SERVICE): Define to 0 if not defined.
26791
26792 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
26793
26794         The license of gnu-make and posix-shell is now "GPLed build tool".
26795         * modules/gnu-make (License): Likewise.
26796         * modules/posix-shell (License): Likewise.
26797
26798         New module posix-shell, for determining a POSIX shell
26799         or perhaps something that is close enough to a POSIX shell.
26800         * m4/posix-shell.m4: New file.
26801         * modules/posix-shell: New file.
26802
26803         * MODULES.html.sh: Mention new module.
26804
26805         New module gnu-make, for determining whether we're using GNU Make.
26806         * m4/gnu-make.m4: New file.
26807         * modules/gnu-make: New file.
26808         * MODULES.html.sh: Mention new module.
26809
26810 2007-11-14  Jim Meyering  <meyering@redhat.com>
26811
26812         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
26813         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
26814         use this macro to create a function _definition_.
26815         Remove useless "#undef ARGMATCH_DIE".
26816
26817 2007-11-14  Bruno Haible  <bruno@clisp.org>
26818
26819         * lib/config.charset: Update for OpenBSD 4.1.
26820         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
26821
26822 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
26823
26824         Document 64-bit #if problems in stdint.texi.
26825         * doc/headers/stdint.texi (stdint.h): Mention problems with
26826         64-bit-#if, and how to work around them.
26827
26828         Don't insist on 'long long int' support in the preprocessor.  It
26829         breaks too many things.  For example, PRIdMAX still uses a 'long
26830         long int' format with the latest Sun compiler, even though
26831         HAVE_LONG_LONG_INT isn't defined due to that compiler's
26832         preprocessor problem.  This causes the latest coreutils to dump
26833         core on Solaris 10 sparc with the Sun C compiler.
26834         Instead, fix the 2007-10-16 problem in a different way, by evaluating
26835         the troublesome expressions at configure-time, not at #if-time.
26836         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
26837         preprocessor.
26838         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
26839         compile-time C checks, done at 'configure'-time.
26840         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
26841         * modules/inttypes (Makefile): Substitute the new symbols that
26842         gl_INTTYPES_H now generates.
26843         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
26844
26845 2007-11-12  Bruno Haible  <bruno@clisp.org>
26846
26847         Tests for Unicode character classification functions.
26848
26849         * modules/unictype/bidicategory-byname-tests: New file.
26850         * modules/unictype/bidicategory-name-tests: New file.
26851         * modules/unictype/bidicategory-of-tests: New file.
26852         * modules/unictype/bidicategory-test-tests: New file.
26853         * modules/unictype/block-list-tests: New file.
26854         * modules/unictype/block-of-tests: New file.
26855         * modules/unictype/block-test-tests: New file.
26856         * modules/unictype/category-C-tests: New file.
26857         * modules/unictype/category-Cc-tests: New file.
26858         * modules/unictype/category-Cf-tests: New file.
26859         * modules/unictype/category-Cn-tests: New file.
26860         * modules/unictype/category-Co-tests: New file.
26861         * modules/unictype/category-Cs-tests: New file.
26862         * modules/unictype/category-L-tests: New file.
26863         * modules/unictype/category-Ll-tests: New file.
26864         * modules/unictype/category-Lm-tests: New file.
26865         * modules/unictype/category-Lo-tests: New file.
26866         * modules/unictype/category-Lt-tests: New file.
26867         * modules/unictype/category-Lu-tests: New file.
26868         * modules/unictype/category-M-tests: New file.
26869         * modules/unictype/category-Mc-tests: New file.
26870         * modules/unictype/category-Me-tests: New file.
26871         * modules/unictype/category-Mn-tests: New file.
26872         * modules/unictype/category-N-tests: New file.
26873         * modules/unictype/category-Nd-tests: New file.
26874         * modules/unictype/category-Nl-tests: New file.
26875         * modules/unictype/category-No-tests: New file.
26876         * modules/unictype/category-P-tests: New file.
26877         * modules/unictype/category-Pc-tests: New file.
26878         * modules/unictype/category-Pd-tests: New file.
26879         * modules/unictype/category-Pe-tests: New file.
26880         * modules/unictype/category-Pf-tests: New file.
26881         * modules/unictype/category-Pi-tests: New file.
26882         * modules/unictype/category-Po-tests: New file.
26883         * modules/unictype/category-Ps-tests: New file.
26884         * modules/unictype/category-S-tests: New file.
26885         * modules/unictype/category-Sc-tests: New file.
26886         * modules/unictype/category-Sk-tests: New file.
26887         * modules/unictype/category-Sm-tests: New file.
26888         * modules/unictype/category-So-tests: New file.
26889         * modules/unictype/category-Z-tests: New file.
26890         * modules/unictype/category-Zl-tests: New file.
26891         * modules/unictype/category-Zp-tests: New file.
26892         * modules/unictype/category-Zs-tests: New file.
26893         * modules/unictype/category-and-not-tests: New file.
26894         * modules/unictype/category-and-tests: New file.
26895         * modules/unictype/category-byname-tests: New file.
26896         * modules/unictype/category-name-tests: New file.
26897         * modules/unictype/category-none-tests: New file.
26898         * modules/unictype/category-of-tests: New file.
26899         * modules/unictype/category-or-tests: New file.
26900         * modules/unictype/category-test-withtable-tests: New file.
26901         * modules/unictype/combining-class-tests: New file.
26902         * modules/unictype/ctype-alnum-tests: New file.
26903         * modules/unictype/ctype-alpha-tests: New file.
26904         * modules/unictype/ctype-blank-tests: New file.
26905         * modules/unictype/ctype-cntrl-tests: New file.
26906         * modules/unictype/ctype-digit-tests: New file.
26907         * modules/unictype/ctype-graph-tests: New file.
26908         * modules/unictype/ctype-lower-tests: New file.
26909         * modules/unictype/ctype-print-tests: New file.
26910         * modules/unictype/ctype-punct-tests: New file.
26911         * modules/unictype/ctype-space-tests: New file.
26912         * modules/unictype/ctype-upper-tests: New file.
26913         * modules/unictype/ctype-xdigit-tests: New file.
26914         * modules/unictype/decimal-digit-tests: New file.
26915         * modules/unictype/digit-tests: New file.
26916         * modules/unictype/mirror-tests: New file.
26917         * modules/unictype/numeric-tests: New file.
26918         * modules/unictype/property-alphabetic-tests: New file.
26919         * modules/unictype/property-ascii-hex-digit-tests: New file.
26920         * modules/unictype/property-bidi-arabic-digit-tests: New file.
26921         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
26922         * modules/unictype/property-bidi-block-separator-tests: New file.
26923         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
26924         * modules/unictype/property-bidi-common-separator-tests: New file.
26925         * modules/unictype/property-bidi-control-tests: New file.
26926         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
26927         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
26928         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
26929         * modules/unictype/property-bidi-european-digit-tests: New file.
26930         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
26931         * modules/unictype/property-bidi-left-to-right-tests: New file.
26932         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
26933         * modules/unictype/property-bidi-other-neutral-tests: New file.
26934         * modules/unictype/property-bidi-pdf-tests: New file.
26935         * modules/unictype/property-bidi-segment-separator-tests: New file.
26936         * modules/unictype/property-bidi-whitespace-tests: New file.
26937         * modules/unictype/property-byname-tests: New file.
26938         * modules/unictype/property-combining-tests: New file.
26939         * modules/unictype/property-composite-tests: New file.
26940         * modules/unictype/property-currency-symbol-tests: New file.
26941         * modules/unictype/property-dash-tests: New file.
26942         * modules/unictype/property-decimal-digit-tests: New file.
26943         * modules/unictype/property-default-ignorable-code-point-tests: New file.
26944         * modules/unictype/property-deprecated-tests: New file.
26945         * modules/unictype/property-diacritic-tests: New file.
26946         * modules/unictype/property-extender-tests: New file.
26947         * modules/unictype/property-format-control-tests: New file.
26948         * modules/unictype/property-grapheme-base-tests: New file.
26949         * modules/unictype/property-grapheme-extend-tests: New file.
26950         * modules/unictype/property-grapheme-link-tests: New file.
26951         * modules/unictype/property-hex-digit-tests: New file.
26952         * modules/unictype/property-hyphen-tests: New file.
26953         * modules/unictype/property-id-continue-tests: New file.
26954         * modules/unictype/property-id-start-tests: New file.
26955         * modules/unictype/property-ideographic-tests: New file.
26956         * modules/unictype/property-ids-binary-operator-tests: New file.
26957         * modules/unictype/property-ids-trinary-operator-tests: New file.
26958         * modules/unictype/property-ignorable-control-tests: New file.
26959         * modules/unictype/property-iso-control-tests: New file.
26960         * modules/unictype/property-join-control-tests: New file.
26961         * modules/unictype/property-left-of-pair-tests: New file.
26962         * modules/unictype/property-line-separator-tests: New file.
26963         * modules/unictype/property-logical-order-exception-tests: New file.
26964         * modules/unictype/property-lowercase-tests: New file.
26965         * modules/unictype/property-math-tests: New file.
26966         * modules/unictype/property-non-break-tests: New file.
26967         * modules/unictype/property-not-a-character-tests: New file.
26968         * modules/unictype/property-numeric-tests: New file.
26969         * modules/unictype/property-other-alphabetic-tests: New file.
26970         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
26971         * modules/unictype/property-other-grapheme-extend-tests: New file.
26972         * modules/unictype/property-other-id-continue-tests: New file.
26973         * modules/unictype/property-other-id-start-tests: New file.
26974         * modules/unictype/property-other-lowercase-tests: New file.
26975         * modules/unictype/property-other-math-tests: New file.
26976         * modules/unictype/property-other-uppercase-tests: New file.
26977         * modules/unictype/property-paired-punctuation-tests: New file.
26978         * modules/unictype/property-paragraph-separator-tests: New file.
26979         * modules/unictype/property-pattern-syntax-tests: New file.
26980         * modules/unictype/property-pattern-white-space-tests: New file.
26981         * modules/unictype/property-private-use-tests: New file.
26982         * modules/unictype/property-punctuation-tests: New file.
26983         * modules/unictype/property-quotation-mark-tests: New file.
26984         * modules/unictype/property-radical-tests: New file.
26985         * modules/unictype/property-sentence-terminal-tests: New file.
26986         * modules/unictype/property-soft-dotted-tests: New file.
26987         * modules/unictype/property-space-tests: New file.
26988         * modules/unictype/property-terminal-punctuation-tests: New file.
26989         * modules/unictype/property-test-tests: New file.
26990         * modules/unictype/property-titlecase-tests: New file.
26991         * modules/unictype/property-unassigned-code-value-tests: New file.
26992         * modules/unictype/property-unified-ideograph-tests: New file.
26993         * modules/unictype/property-uppercase-tests: New file.
26994         * modules/unictype/property-variation-selector-tests: New file.
26995         * modules/unictype/property-white-space-tests: New file.
26996         * modules/unictype/property-xid-continue-tests: New file.
26997         * modules/unictype/property-xid-start-tests: New file.
26998         * modules/unictype/property-zero-width-tests: New file.
26999         * modules/unictype/scripts-tests: New file.
27000         * modules/unictype/syntax-c-ident-tests: New file.
27001         * modules/unictype/syntax-c-whitespace-tests: New file.
27002         * modules/unictype/syntax-java-ident-tests: New file.
27003         * modules/unictype/syntax-java-whitespace-tests: New file.
27004         * tests/unictype/test-bidi_byname.c: New file.
27005         * tests/unictype/test-bidi_name.c: New file.
27006         * tests/unictype/test-bidi_of.c: New file.
27007         * tests/unictype/test-bidi_test.c: New file.
27008         * tests/unictype/test-block_list.c: New file.
27009         * tests/unictype/test-block_of.c: New file.
27010         * tests/unictype/test-block_test.c: New file.
27011         * tests/unictype/test-categ_and.c: New file.
27012         * tests/unictype/test-categ_and_not.c: New file.
27013         * tests/unictype/test-categ_byname.c: New file.
27014         * tests/unictype/test-categ_name.c: New file.
27015         * tests/unictype/test-categ_none.c: New file.
27016         * tests/unictype/test-categ_of.c: New file.
27017         * tests/unictype/test-categ_or.c: New file.
27018         * tests/unictype/test-categ_test_withtable.c: New file.
27019         * tests/unictype/test-combining.c: New file.
27020         * tests/unictype/test-decdigit.c: New file.
27021         * tests/unictype/test-digit.c: New file.
27022         * tests/unictype/test-mirror.c: New file.
27023         * tests/unictype/test-numeric.c: New file.
27024         * tests/unictype/test-pr_byname.c: New file.
27025         * tests/unictype/test-pr_test.c: New file.
27026         * tests/unictype/test-predicate-part1.h: New file.
27027         * tests/unictype/test-predicate-part2.h: New file.
27028         * tests/unictype/test-scripts.c: New file.
27029         * tests/unictype/test-sy_c_ident.c: New file.
27030         * tests/unictype/test-sy_java_ident.c: New file.
27031
27032         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
27033         for Unicode 5.0.0.
27034         * tests/unictype/test-categ_Cc.c: Likewise.
27035         * tests/unictype/test-categ_Cf.c: Likewise.
27036         * tests/unictype/test-categ_Cn.c: Likewise.
27037         * tests/unictype/test-categ_Co.c: Likewise.
27038         * tests/unictype/test-categ_Cs.c: Likewise.
27039         * tests/unictype/test-categ_L.c: Likewise.
27040         * tests/unictype/test-categ_Ll.c: Likewise.
27041         * tests/unictype/test-categ_Lm.c: Likewise.
27042         * tests/unictype/test-categ_Lo.c: Likewise.
27043         * tests/unictype/test-categ_Lt.c: Likewise.
27044         * tests/unictype/test-categ_Lu.c: Likewise.
27045         * tests/unictype/test-categ_M.c: Likewise.
27046         * tests/unictype/test-categ_Mc.c: Likewise.
27047         * tests/unictype/test-categ_Me.c: Likewise.
27048         * tests/unictype/test-categ_Mn.c: Likewise.
27049         * tests/unictype/test-categ_N.c: Likewise.
27050         * tests/unictype/test-categ_Nd.c: Likewise.
27051         * tests/unictype/test-categ_Nl.c: Likewise.
27052         * tests/unictype/test-categ_No.c: Likewise.
27053         * tests/unictype/test-categ_P.c: Likewise.
27054         * tests/unictype/test-categ_Pc.c: Likewise.
27055         * tests/unictype/test-categ_Pd.c: Likewise.
27056         * tests/unictype/test-categ_Pe.c: Likewise.
27057         * tests/unictype/test-categ_Pf.c: Likewise.
27058         * tests/unictype/test-categ_Pi.c: Likewise.
27059         * tests/unictype/test-categ_Po.c: Likewise.
27060         * tests/unictype/test-categ_Ps.c: Likewise.
27061         * tests/unictype/test-categ_S.c: Likewise.
27062         * tests/unictype/test-categ_Sc.c: Likewise.
27063         * tests/unictype/test-categ_Sk.c: Likewise.
27064         * tests/unictype/test-categ_Sm.c: Likewise.
27065         * tests/unictype/test-categ_So.c: Likewise.
27066         * tests/unictype/test-categ_Z.c: Likewise.
27067         * tests/unictype/test-categ_Zl.c: Likewise.
27068         * tests/unictype/test-categ_Zp.c: Likewise.
27069         * tests/unictype/test-categ_Zs.c: Likewise.
27070         * tests/unictype/test-ctype_alnum.c: Likewise.
27071         * tests/unictype/test-ctype_alpha.c: Likewise.
27072         * tests/unictype/test-ctype_blank.c: Likewise.
27073         * tests/unictype/test-ctype_cntrl.c: Likewise.
27074         * tests/unictype/test-ctype_digit.c: Likewise.
27075         * tests/unictype/test-ctype_graph.c: Likewise.
27076         * tests/unictype/test-ctype_lower.c: Likewise.
27077         * tests/unictype/test-ctype_print.c: Likewise.
27078         * tests/unictype/test-ctype_punct.c: Likewise.
27079         * tests/unictype/test-ctype_space.c: Likewise.
27080         * tests/unictype/test-ctype_upper.c: Likewise.
27081         * tests/unictype/test-ctype_xdigit.c: Likewise.
27082         * tests/unictype/test-decdigit.h: Likewise.
27083         * tests/unictype/test-digit.h: Likewise.
27084         * tests/unictype/test-numeric.h: Likewise.
27085         * tests/unictype/test-pr_alphabetic.c: Likewise.
27086         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
27087         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
27088         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
27089         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
27090         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
27091         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
27092         * tests/unictype/test-pr_bidi_control.c: Likewise.
27093         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
27094         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
27095         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
27096         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
27097         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
27098         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
27099         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
27100         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
27101         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
27102         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
27103         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
27104         * tests/unictype/test-pr_combining.c: Likewise.
27105         * tests/unictype/test-pr_composite.c: Likewise.
27106         * tests/unictype/test-pr_currency_symbol.c: Likewise.
27107         * tests/unictype/test-pr_dash.c: Likewise.
27108         * tests/unictype/test-pr_decimal_digit.c: Likewise.
27109         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
27110         * tests/unictype/test-pr_deprecated.c: Likewise.
27111         * tests/unictype/test-pr_diacritic.c: Likewise.
27112         * tests/unictype/test-pr_extender.c: Likewise.
27113         * tests/unictype/test-pr_format_control.c: Likewise.
27114         * tests/unictype/test-pr_grapheme_base.c: Likewise.
27115         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
27116         * tests/unictype/test-pr_grapheme_link.c: Likewise.
27117         * tests/unictype/test-pr_hex_digit.c: Likewise.
27118         * tests/unictype/test-pr_hyphen.c: Likewise.
27119         * tests/unictype/test-pr_id_continue.c: Likewise.
27120         * tests/unictype/test-pr_id_start.c: Likewise.
27121         * tests/unictype/test-pr_ideographic.c: Likewise.
27122         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
27123         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
27124         * tests/unictype/test-pr_ignorable_control.c: Likewise.
27125         * tests/unictype/test-pr_iso_control.c: Likewise.
27126         * tests/unictype/test-pr_join_control.c: Likewise.
27127         * tests/unictype/test-pr_left_of_pair.c: Likewise.
27128         * tests/unictype/test-pr_line_separator.c: Likewise.
27129         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
27130         * tests/unictype/test-pr_lowercase.c: Likewise.
27131         * tests/unictype/test-pr_math.c: Likewise.
27132         * tests/unictype/test-pr_non_break.c: Likewise.
27133         * tests/unictype/test-pr_not_a_character.c: Likewise.
27134         * tests/unictype/test-pr_numeric.c: Likewise.
27135         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
27136         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
27137         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
27138         * tests/unictype/test-pr_other_id_continue.c: Likewise.
27139         * tests/unictype/test-pr_other_id_start.c: Likewise.
27140         * tests/unictype/test-pr_other_lowercase.c: Likewise.
27141         * tests/unictype/test-pr_other_math.c: Likewise.
27142         * tests/unictype/test-pr_other_uppercase.c: Likewise.
27143         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
27144         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
27145         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
27146         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
27147         * tests/unictype/test-pr_private_use.c: Likewise.
27148         * tests/unictype/test-pr_punctuation.c: Likewise.
27149         * tests/unictype/test-pr_quotation_mark.c: Likewise.
27150         * tests/unictype/test-pr_radical.c: Likewise.
27151         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
27152         * tests/unictype/test-pr_soft_dotted.c: Likewise.
27153         * tests/unictype/test-pr_space.c: Likewise.
27154         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
27155         * tests/unictype/test-pr_titlecase.c: Likewise.
27156         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
27157         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
27158         * tests/unictype/test-pr_uppercase.c: Likewise.
27159         * tests/unictype/test-pr_variation_selector.c: Likewise.
27160         * tests/unictype/test-pr_white_space.c: Likewise.
27161         * tests/unictype/test-pr_xid_continue.c: Likewise.
27162         * tests/unictype/test-pr_xid_start.c: Likewise.
27163         * tests/unictype/test-pr_zero_width.c: Likewise.
27164         * tests/unictype/test-sy_c_whitespace.c: Likewise.
27165         * tests/unictype/test-sy_java_whitespace.c: Likewise.
27166
27167 2007-11-12  Bruno Haible  <bruno@clisp.org>
27168
27169         Unicode character classification functions.
27170         * lib/unictype.h: New file.
27171         * modules/unictype/base: New file.
27172         * modules/unictype/category-L: New file.
27173         * modules/unictype/category-Lu: New file.
27174         * modules/unictype/category-Ll: New file.
27175         * modules/unictype/category-Lt: New file.
27176         * modules/unictype/category-Lm: New file.
27177         * modules/unictype/category-Lo: New file.
27178         * modules/unictype/category-M: New file.
27179         * modules/unictype/category-Mn: New file.
27180         * modules/unictype/category-Mc: New file.
27181         * modules/unictype/category-Me: New file.
27182         * modules/unictype/category-N: New file.
27183         * modules/unictype/category-Nd: New file.
27184         * modules/unictype/category-Nl: New file.
27185         * modules/unictype/category-No: New file.
27186         * modules/unictype/category-P: New file.
27187         * modules/unictype/category-Pc: New file.
27188         * modules/unictype/category-Pd: New file.
27189         * modules/unictype/category-Ps: New file.
27190         * modules/unictype/category-Pe: New file.
27191         * modules/unictype/category-Pi: New file.
27192         * modules/unictype/category-Pf: New file.
27193         * modules/unictype/category-Po: New file.
27194         * modules/unictype/category-S: New file.
27195         * modules/unictype/category-Sm: New file.
27196         * modules/unictype/category-Sc: New file.
27197         * modules/unictype/category-Sk: New file.
27198         * modules/unictype/category-So: New file.
27199         * modules/unictype/category-Z: New file.
27200         * modules/unictype/category-Zs: New file.
27201         * modules/unictype/category-Zl: New file.
27202         * modules/unictype/category-Zp: New file.
27203         * modules/unictype/category-C: New file.
27204         * modules/unictype/category-Cc: New file.
27205         * modules/unictype/category-Cf: New file.
27206         * modules/unictype/category-Cs: New file.
27207         * modules/unictype/category-Co: New file.
27208         * modules/unictype/category-Cn: New file.
27209         * modules/unictype/category-or: New file.
27210         * modules/unictype/category-of: New file.
27211         * modules/unictype/category-test: New file.
27212         * modules/unictype/category-test-withtable: New file.
27213         * modules/unictype/category-byname: New file.
27214         * modules/unictype/category-none: New file.
27215         * modules/unictype/category-and: New file.
27216         * modules/unictype/category-and-not: New file.
27217         * modules/unictype/category-name: New file.
27218         * modules/unictype/combining-class: New file.
27219         * modules/unictype/category-all: New file.
27220         * modules/unictype/bidicategory-all: New file.
27221         * modules/unictype/bidicategory-byname: New file.
27222         * modules/unictype/bidicategory-name: New file.
27223         * modules/unictype/bidicategory-of: New file.
27224         * modules/unictype/bidicategory-test: New file.
27225         * modules/unictype/decimal-digit: New file.
27226         * modules/unictype/digit: New file.
27227         * modules/unictype/numeric: New file.
27228         * modules/unictype/mirror: New file.
27229         * modules/unictype/property-white-space: New file.
27230         * modules/unictype/property-alphabetic: New file.
27231         * modules/unictype/property-other-alphabetic: New file.
27232         * modules/unictype/property-not-a-character: New file.
27233         * modules/unictype/property-default-ignorable-code-point: New file.
27234         * modules/unictype/property-other-default-ignorable-code-point: New
27235         file.
27236         * modules/unictype/property-deprecated: New file.
27237         * modules/unictype/property-logical-order-exception: New file.
27238         * modules/unictype/property-variation-selector: New file.
27239         * modules/unictype/property-private-use: New file.
27240         * modules/unictype/property-unassigned-code-value: New file.
27241         * modules/unictype/property-uppercase: New file.
27242         * modules/unictype/property-other-uppercase: New file.
27243         * modules/unictype/property-lowercase: New file.
27244         * modules/unictype/property-other-lowercase: New file.
27245         * modules/unictype/property-titlecase: New file.
27246         * modules/unictype/property-soft-dotted: New file.
27247         * modules/unictype/property-id-start: New file.
27248         * modules/unictype/property-other-id-start: New file.
27249         * modules/unictype/property-id-continue: New file.
27250         * modules/unictype/property-other-id-continue: New file.
27251         * modules/unictype/property-xid-start: New file.
27252         * modules/unictype/property-xid-continue: New file.
27253         * modules/unictype/property-pattern-white-space: New file.
27254         * modules/unictype/property-pattern-syntax: New file.
27255         * modules/unictype/property-join-control: New file.
27256         * modules/unictype/property-grapheme-base: New file.
27257         * modules/unictype/property-grapheme-extend: New file.
27258         * modules/unictype/property-other-grapheme-extend: New file.
27259         * modules/unictype/property-grapheme-link: New file.
27260         * modules/unictype/property-bidi-control: New file.
27261         * modules/unictype/property-bidi-left-to-right: New file.
27262         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
27263         * modules/unictype/property-bidi-arabic-right-to-left: New file.
27264         * modules/unictype/property-bidi-european-digit: New file.
27265         * modules/unictype/property-bidi-eur-num-separator: New file.
27266         * modules/unictype/property-bidi-eur-num-terminator: New file.
27267         * modules/unictype/property-bidi-arabic-digit: New file.
27268         * modules/unictype/property-bidi-common-separator: New file.
27269         * modules/unictype/property-bidi-block-separator: New file.
27270         * modules/unictype/property-bidi-segment-separator: New file.
27271         * modules/unictype/property-bidi-whitespace: New file.
27272         * modules/unictype/property-bidi-non-spacing-mark: New file.
27273         * modules/unictype/property-bidi-boundary-neutral: New file.
27274         * modules/unictype/property-bidi-pdf: New file.
27275         * modules/unictype/property-bidi-embedding-or-override: New file.
27276         * modules/unictype/property-bidi-other-neutral: New file.
27277         * modules/unictype/property-hex-digit: New file.
27278         * modules/unictype/property-ascii-hex-digit: New file.
27279         * modules/unictype/property-ideographic: New file.
27280         * modules/unictype/property-unified-ideograph: New file.
27281         * modules/unictype/property-radical: New file.
27282         * modules/unictype/property-ids-binary-operator: New file.
27283         * modules/unictype/property-ids-trinary-operator: New file.
27284         * modules/unictype/property-zero-width: New file.
27285         * modules/unictype/property-space: New file.
27286         * modules/unictype/property-non-break: New file.
27287         * modules/unictype/property-iso-control: New file.
27288         * modules/unictype/property-format-control: New file.
27289         * modules/unictype/property-dash: New file.
27290         * modules/unictype/property-hyphen: New file.
27291         * modules/unictype/property-punctuation: New file.
27292         * modules/unictype/property-line-separator: New file.
27293         * modules/unictype/property-paragraph-separator: New file.
27294         * modules/unictype/property-quotation-mark: New file.
27295         * modules/unictype/property-sentence-terminal: New file.
27296         * modules/unictype/property-terminal-punctuation: New file.
27297         * modules/unictype/property-currency-symbol: New file.
27298         * modules/unictype/property-math: New file.
27299         * modules/unictype/property-other-math: New file.
27300         * modules/unictype/property-paired-punctuation: New file.
27301         * modules/unictype/property-left-of-pair: New file.
27302         * modules/unictype/property-combining: New file.
27303         * modules/unictype/property-composite: New file.
27304         * modules/unictype/property-decimal-digit: New file.
27305         * modules/unictype/property-numeric: New file.
27306         * modules/unictype/property-diacritic: New file.
27307         * modules/unictype/property-extender: New file.
27308         * modules/unictype/property-ignorable-control: New file.
27309         * modules/unictype/property-test: New file.
27310         * modules/unictype/property-byname: New file.
27311         * modules/unictype/property-all: New file.
27312         * modules/unictype/scripts: New file.
27313         * modules/unictype/scripts-all: New file.
27314         * modules/unictype/block-of: New file.
27315         * modules/unictype/block-test: New file.
27316         * modules/unictype/block-list: New file.
27317         * modules/unictype/block-all: New file.
27318         * modules/unictype/syntax-c-whitespace: New file.
27319         * modules/unictype/syntax-java-whitespace: New file.
27320         * modules/unictype/syntax-c-ident: New file.
27321         * modules/unictype/syntax-java-ident: New file.
27322         * modules/unictype/ctype-alnum: New file.
27323         * modules/unictype/ctype-alpha: New file.
27324         * modules/unictype/ctype-cntrl: New file.
27325         * modules/unictype/ctype-digit: New file.
27326         * modules/unictype/ctype-graph: New file.
27327         * modules/unictype/ctype-lower: New file.
27328         * modules/unictype/ctype-print: New file.
27329         * modules/unictype/ctype-punct: New file.
27330         * modules/unictype/ctype-space: New file.
27331         * modules/unictype/ctype-upper: New file.
27332         * modules/unictype/ctype-xdigit: New file.
27333         * modules/unictype/ctype-blank: New file.
27334         * lib/unictype/bidi_byname.c: New file.
27335         * lib/unictype/bidi_name.c: New file.
27336         * lib/unictype/bidi_of.c: New file.
27337         * lib/unictype/bidi_test.c: New file.
27338         * lib/unictype/bitmap.h: New file.
27339         * lib/unictype/block_test.c: New file.
27340         * lib/unictype/blocks.c: New file.
27341         * lib/unictype/categ_C.c: New file.
27342         * lib/unictype/categ_Cc.c: New file.
27343         * lib/unictype/categ_Cf.c: New file.
27344         * lib/unictype/categ_Cn.c: New file.
27345         * lib/unictype/categ_Co.c: New file.
27346         * lib/unictype/categ_Cs.c: New file.
27347         * lib/unictype/categ_L.c: New file.
27348         * lib/unictype/categ_Ll.c: New file.
27349         * lib/unictype/categ_Lm.c: New file.
27350         * lib/unictype/categ_Lo.c: New file.
27351         * lib/unictype/categ_Lt.c: New file.
27352         * lib/unictype/categ_Lu.c: New file.
27353         * lib/unictype/categ_M.c: New file.
27354         * lib/unictype/categ_Mc.c: New file.
27355         * lib/unictype/categ_Me.c: New file.
27356         * lib/unictype/categ_Mn.c: New file.
27357         * lib/unictype/categ_N.c: New file.
27358         * lib/unictype/categ_Nd.c: New file.
27359         * lib/unictype/categ_Nl.c: New file.
27360         * lib/unictype/categ_No.c: New file.
27361         * lib/unictype/categ_P.c: New file.
27362         * lib/unictype/categ_Pc.c: New file.
27363         * lib/unictype/categ_Pd.c: New file.
27364         * lib/unictype/categ_Pe.c: New file.
27365         * lib/unictype/categ_Pf.c: New file.
27366         * lib/unictype/categ_Pi.c: New file.
27367         * lib/unictype/categ_Po.c: New file.
27368         * lib/unictype/categ_Ps.c: New file.
27369         * lib/unictype/categ_S.c: New file.
27370         * lib/unictype/categ_Sc.c: New file.
27371         * lib/unictype/categ_Sk.c: New file.
27372         * lib/unictype/categ_Sm.c: New file.
27373         * lib/unictype/categ_So.c: New file.
27374         * lib/unictype/categ_Z.c: New file.
27375         * lib/unictype/categ_Zl.c: New file.
27376         * lib/unictype/categ_Zp.c: New file.
27377         * lib/unictype/categ_Zs.c: New file.
27378         * lib/unictype/categ_and.c: New file.
27379         * lib/unictype/categ_and_not.c: New file.
27380         * lib/unictype/categ_byname.c: New file.
27381         * lib/unictype/categ_name.c: New file.
27382         * lib/unictype/categ_none.c: New file.
27383         * lib/unictype/categ_of.c: New file.
27384         * lib/unictype/categ_or.c: New file.
27385         * lib/unictype/categ_test.c: New file.
27386         * lib/unictype/combining.c: New file.
27387         * lib/unictype/ctype_alnum.c: New file.
27388         * lib/unictype/ctype_alpha.c: New file.
27389         * lib/unictype/ctype_blank.c: New file.
27390         * lib/unictype/ctype_cntrl.c: New file.
27391         * lib/unictype/ctype_digit.c: New file.
27392         * lib/unictype/ctype_graph.c: New file.
27393         * lib/unictype/ctype_lower.c: New file.
27394         * lib/unictype/ctype_print.c: New file.
27395         * lib/unictype/ctype_punct.c: New file.
27396         * lib/unictype/ctype_space.c: New file.
27397         * lib/unictype/ctype_upper.c: New file.
27398         * lib/unictype/ctype_xdigit.c: New file.
27399         * lib/unictype/decdigit.c: New file.
27400         * lib/unictype/digit.c: New file.
27401         * lib/unictype/identsyntaxmap.h: New file.
27402         * lib/unictype/mirror.c: New file.
27403         * lib/unictype/numeric.c: New file.
27404         * lib/unictype/pr_alphabetic.c: New file.
27405         * lib/unictype/pr_ascii_hex_digit.c: New file.
27406         * lib/unictype/pr_bidi_arabic_digit.c: New file.
27407         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
27408         * lib/unictype/pr_bidi_block_separator.c: New file.
27409         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
27410         * lib/unictype/pr_bidi_common_separator.c: New file.
27411         * lib/unictype/pr_bidi_control.c: New file.
27412         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
27413         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
27414         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
27415         * lib/unictype/pr_bidi_european_digit.c: New file.
27416         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
27417         * lib/unictype/pr_bidi_left_to_right.c: New file.
27418         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
27419         * lib/unictype/pr_bidi_other_neutral.c: New file.
27420         * lib/unictype/pr_bidi_pdf.c: New file.
27421         * lib/unictype/pr_bidi_segment_separator.c: New file.
27422         * lib/unictype/pr_bidi_whitespace.c: New file.
27423         * lib/unictype/pr_byname.c: New file.
27424         * lib/unictype/pr_byname.gperf: New file.
27425         * lib/unictype/pr_combining.c: New file.
27426         * lib/unictype/pr_composite.c: New file.
27427         * lib/unictype/pr_currency_symbol.c: New file.
27428         * lib/unictype/pr_dash.c: New file.
27429         * lib/unictype/pr_decimal_digit.c: New file.
27430         * lib/unictype/pr_default_ignorable_code_point.c: New file.
27431         * lib/unictype/pr_deprecated.c: New file.
27432         * lib/unictype/pr_diacritic.c: New file.
27433         * lib/unictype/pr_extender.c: New file.
27434         * lib/unictype/pr_format_control.c: New file.
27435         * lib/unictype/pr_grapheme_base.c: New file.
27436         * lib/unictype/pr_grapheme_extend.c: New file.
27437         * lib/unictype/pr_grapheme_link.c: New file.
27438         * lib/unictype/pr_hex_digit.c: New file.
27439         * lib/unictype/pr_hyphen.c: New file.
27440         * lib/unictype/pr_id_continue.c: New file.
27441         * lib/unictype/pr_id_start.c: New file.
27442         * lib/unictype/pr_ideographic.c: New file.
27443         * lib/unictype/pr_ids_binary_operator.c: New file.
27444         * lib/unictype/pr_ids_trinary_operator.c: New file.
27445         * lib/unictype/pr_ignorable_control.c: New file.
27446         * lib/unictype/pr_iso_control.c: New file.
27447         * lib/unictype/pr_join_control.c: New file.
27448         * lib/unictype/pr_left_of_pair.c: New file.
27449         * lib/unictype/pr_line_separator.c: New file.
27450         * lib/unictype/pr_logical_order_exception.c: New file.
27451         * lib/unictype/pr_lowercase.c: New file.
27452         * lib/unictype/pr_math.c: New file.
27453         * lib/unictype/pr_non_break.c: New file.
27454         * lib/unictype/pr_not_a_character.c: New file.
27455         * lib/unictype/pr_numeric.c: New file.
27456         * lib/unictype/pr_other_alphabetic.c: New file.
27457         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
27458         * lib/unictype/pr_other_grapheme_extend.c: New file.
27459         * lib/unictype/pr_other_id_continue.c: New file.
27460         * lib/unictype/pr_other_id_start.c: New file.
27461         * lib/unictype/pr_other_lowercase.c: New file.
27462         * lib/unictype/pr_other_math.c: New file.
27463         * lib/unictype/pr_other_uppercase.c: New file.
27464         * lib/unictype/pr_paired_punctuation.c: New file.
27465         * lib/unictype/pr_paragraph_separator.c: New file.
27466         * lib/unictype/pr_pattern_syntax.c: New file.
27467         * lib/unictype/pr_pattern_white_space.c: New file.
27468         * lib/unictype/pr_private_use.c: New file.
27469         * lib/unictype/pr_punctuation.c: New file.
27470         * lib/unictype/pr_quotation_mark.c: New file.
27471         * lib/unictype/pr_radical.c: New file.
27472         * lib/unictype/pr_sentence_terminal.c: New file.
27473         * lib/unictype/pr_soft_dotted.c: New file.
27474         * lib/unictype/pr_space.c: New file.
27475         * lib/unictype/pr_terminal_punctuation.c: New file.
27476         * lib/unictype/pr_test.c: New file.
27477         * lib/unictype/pr_titlecase.c: New file.
27478         * lib/unictype/pr_unassigned_code_value.c: New file.
27479         * lib/unictype/pr_unified_ideograph.c: New file.
27480         * lib/unictype/pr_uppercase.c: New file.
27481         * lib/unictype/pr_variation_selector.c: New file.
27482         * lib/unictype/pr_white_space.c: New file.
27483         * lib/unictype/pr_xid_continue.c: New file.
27484         * lib/unictype/pr_xid_start.c: New file.
27485         * lib/unictype/pr_zero_width.c: New file.
27486         * lib/unictype/scripts.c: New file.
27487         * lib/unictype/sy_c_ident.c: New file.
27488         * lib/unictype/sy_c_whitespace.c: New file.
27489         * lib/unictype/sy_java_ident.c: New file.
27490         * lib/unictype/sy_java_whitespace.c: New file.
27491
27492         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
27493         Unicode 5.0.0.
27494         * lib/unictype/blocks.h: Likewise.
27495         * lib/unictype/categ_C.h: Likewise.
27496         * lib/unictype/categ_Cc.h: Likewise.
27497         * lib/unictype/categ_Cf.h: Likewise.
27498         * lib/unictype/categ_Cn.h: Likewise.
27499         * lib/unictype/categ_Co.h: Likewise.
27500         * lib/unictype/categ_Cs.h: Likewise.
27501         * lib/unictype/categ_L.h: Likewise.
27502         * lib/unictype/categ_Ll.h: Likewise.
27503         * lib/unictype/categ_Lm.h: Likewise.
27504         * lib/unictype/categ_Lo.h: Likewise.
27505         * lib/unictype/categ_Lt.h: Likewise.
27506         * lib/unictype/categ_Lu.h: Likewise.
27507         * lib/unictype/categ_M.h: Likewise.
27508         * lib/unictype/categ_Mc.h: Likewise.
27509         * lib/unictype/categ_Me.h: Likewise.
27510         * lib/unictype/categ_Mn.h: Likewise.
27511         * lib/unictype/categ_N.h: Likewise.
27512         * lib/unictype/categ_Nd.h: Likewise.
27513         * lib/unictype/categ_Nl.h: Likewise.
27514         * lib/unictype/categ_No.h: Likewise.
27515         * lib/unictype/categ_P.h: Likewise.
27516         * lib/unictype/categ_Pc.h: Likewise.
27517         * lib/unictype/categ_Pd.h: Likewise.
27518         * lib/unictype/categ_Pe.h: Likewise.
27519         * lib/unictype/categ_Pf.h: Likewise.
27520         * lib/unictype/categ_Pi.h: Likewise.
27521         * lib/unictype/categ_Po.h: Likewise.
27522         * lib/unictype/categ_Ps.h: Likewise.
27523         * lib/unictype/categ_S.h: Likewise.
27524         * lib/unictype/categ_Sc.h: Likewise.
27525         * lib/unictype/categ_Sk.h: Likewise.
27526         * lib/unictype/categ_Sm.h: Likewise.
27527         * lib/unictype/categ_So.h: Likewise.
27528         * lib/unictype/categ_Z.h: Likewise.
27529         * lib/unictype/categ_Zl.h: Likewise.
27530         * lib/unictype/categ_Zp.h: Likewise.
27531         * lib/unictype/categ_Zs.h: Likewise.
27532         * lib/unictype/categ_of.h: Likewise.
27533         * lib/unictype/combining.h: Likewise.
27534         * lib/unictype/ctype_alnum.h: Likewise.
27535         * lib/unictype/ctype_alpha.h: Likewise.
27536         * lib/unictype/ctype_blank.h: Likewise.
27537         * lib/unictype/ctype_cntrl.h: Likewise.
27538         * lib/unictype/ctype_digit.h: Likewise.
27539         * lib/unictype/ctype_graph.h: Likewise.
27540         * lib/unictype/ctype_lower.h: Likewise.
27541         * lib/unictype/ctype_print.h: Likewise.
27542         * lib/unictype/ctype_punct.h: Likewise.
27543         * lib/unictype/ctype_space.h: Likewise.
27544         * lib/unictype/ctype_upper.h: Likewise.
27545         * lib/unictype/ctype_xdigit.h: Likewise.
27546         * lib/unictype/decdigit.h: Likewise.
27547         * lib/unictype/digit.h: Likewise.
27548         * lib/unictype/mirror.h: Likewise.
27549         * lib/unictype/numeric.h: Likewise.
27550         * lib/unictype/pr_alphabetic.h: Likewise.
27551         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
27552         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
27553         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
27554         * lib/unictype/pr_bidi_block_separator.h: Likewise.
27555         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
27556         * lib/unictype/pr_bidi_common_separator.h: Likewise.
27557         * lib/unictype/pr_bidi_control.h: Likewise.
27558         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
27559         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
27560         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
27561         * lib/unictype/pr_bidi_european_digit.h: Likewise.
27562         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
27563         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
27564         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
27565         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
27566         * lib/unictype/pr_bidi_pdf.h: Likewise.
27567         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
27568         * lib/unictype/pr_bidi_whitespace.h: Likewise.
27569         * lib/unictype/pr_combining.h: Likewise.
27570         * lib/unictype/pr_composite.h: Likewise.
27571         * lib/unictype/pr_currency_symbol.h: Likewise.
27572         * lib/unictype/pr_dash.h: Likewise.
27573         * lib/unictype/pr_decimal_digit.h: Likewise.
27574         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
27575         * lib/unictype/pr_deprecated.h: Likewise.
27576         * lib/unictype/pr_diacritic.h: Likewise.
27577         * lib/unictype/pr_extender.h: Likewise.
27578         * lib/unictype/pr_format_control.h: Likewise.
27579         * lib/unictype/pr_grapheme_base.h: Likewise.
27580         * lib/unictype/pr_grapheme_extend.h: Likewise.
27581         * lib/unictype/pr_grapheme_link.h: Likewise.
27582         * lib/unictype/pr_hex_digit.h: Likewise.
27583         * lib/unictype/pr_hyphen.h: Likewise.
27584         * lib/unictype/pr_id_continue.h: Likewise.
27585         * lib/unictype/pr_id_start.h: Likewise.
27586         * lib/unictype/pr_ideographic.h: Likewise.
27587         * lib/unictype/pr_ids_binary_operator.h: Likewise.
27588         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
27589         * lib/unictype/pr_ignorable_control.h: Likewise.
27590         * lib/unictype/pr_iso_control.h: Likewise.
27591         * lib/unictype/pr_join_control.h: Likewise.
27592         * lib/unictype/pr_left_of_pair.h: Likewise.
27593         * lib/unictype/pr_line_separator.h: Likewise.
27594         * lib/unictype/pr_logical_order_exception.h: Likewise.
27595         * lib/unictype/pr_lowercase.h: Likewise.
27596         * lib/unictype/pr_math.h: Likewise.
27597         * lib/unictype/pr_non_break.h: Likewise.
27598         * lib/unictype/pr_not_a_character.h: Likewise.
27599         * lib/unictype/pr_numeric.h: Likewise.
27600         * lib/unictype/pr_other_alphabetic.h: Likewise.
27601         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
27602         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
27603         * lib/unictype/pr_other_id_continue.h: Likewise.
27604         * lib/unictype/pr_other_id_start.h: Likewise.
27605         * lib/unictype/pr_other_lowercase.h: Likewise.
27606         * lib/unictype/pr_other_math.h: Likewise.
27607         * lib/unictype/pr_other_uppercase.h: Likewise.
27608         * lib/unictype/pr_paired_punctuation.h: Likewise.
27609         * lib/unictype/pr_paragraph_separator.h: Likewise.
27610         * lib/unictype/pr_pattern_syntax.h: Likewise.
27611         * lib/unictype/pr_pattern_white_space.h: Likewise.
27612         * lib/unictype/pr_private_use.h: Likewise.
27613         * lib/unictype/pr_punctuation.h: Likewise.
27614         * lib/unictype/pr_quotation_mark.h: Likewise.
27615         * lib/unictype/pr_radical.h: Likewise.
27616         * lib/unictype/pr_sentence_terminal.h: Likewise.
27617         * lib/unictype/pr_soft_dotted.h: Likewise.
27618         * lib/unictype/pr_space.h: Likewise.
27619         * lib/unictype/pr_terminal_punctuation.h: Likewise.
27620         * lib/unictype/pr_titlecase.h: Likewise.
27621         * lib/unictype/pr_unassigned_code_value.h: Likewise.
27622         * lib/unictype/pr_unified_ideograph.h: Likewise.
27623         * lib/unictype/pr_uppercase.h: Likewise.
27624         * lib/unictype/pr_variation_selector.h: Likewise.
27625         * lib/unictype/pr_white_space.h: Likewise.
27626         * lib/unictype/pr_xid_continue.h: Likewise.
27627         * lib/unictype/pr_xid_start.h: Likewise.
27628         * lib/unictype/pr_zero_width.h: Likewise.
27629         * lib/unictype/scripts.h: Likewise.
27630         * lib/unictype/scripts_byname.gperf: Likewise.
27631         * lib/unictype/sy_c_ident.h: Likewise.
27632         * lib/unictype/sy_c_whitespace.h: Likewise.
27633         * lib/unictype/sy_java_ident.h: Likewise.
27634         * lib/unictype/sy_java_whitespace.h: Likewise.
27635
27636         * lib/unictype/Makefile: New file.
27637         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
27638         glibc.
27639         * lib/unictype/3level.h: New file, copied from glibc.
27640         * lib/unictype/3levelbit.h: New file.
27641
27642 2007-11-11  Bruno Haible  <bruno@clisp.org>
27643
27644         * modules/gperf: New file.
27645         * modules/iconv_open (Depends-on): Add it.
27646         (Makefile.am): Remove the GPERF definition.
27647
27648 2007-11-11  Bruno Haible  <bruno@clisp.org>
27649
27650         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
27651         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
27652
27653 2007-11-11  Bruno Haible  <bruno@clisp.org>
27654
27655         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
27656         (usage): Remove function.
27657
27658 2007-11-11  Bruno Haible  <bruno@clisp.org>
27659
27660         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
27661         gl_FUNC_CEILF_LIBS.
27662         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
27663         gl_FUNC_CEIL_LIBS.
27664         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
27665         gl_FUNC_CEILL_LIBS.
27666         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
27667         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
27668         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
27669
27670 2007-11-11  Bruno Haible  <bruno@clisp.org>
27671
27672         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
27673         roundf were declared but do not exist on functions.
27674         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
27675         roundl were declared but do not exist on functions.
27676         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
27677         HAVE_FLOORL_AND_CEILL, respectively.
27678         Needed for Sun C on Solaris 10.
27679
27680 2007-11-11  Bruno Haible  <bruno@clisp.org>
27681
27682         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
27683         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
27684         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
27685         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
27686         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
27687         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
27688         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
27689         HAVE_DECL_ROUNDF.
27690         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
27691         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
27692         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
27693         of HAVE_DECL_ROUND*.
27694         * modules/math (Makefile.am): Update.
27695
27696 2007-11-10  Bruno Haible  <bruno@clisp.org>
27697
27698         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
27699         ptrdiff_t as m4/intl.m4.
27700
27701 2007-11-10  Jim Meyering  <meyering@redhat.com>
27702
27703         Avoid link failure for the argmatch test.
27704         * tests/test-argmatch.c (usage): Define function to avoid a link
27705         failure: argmatch_die requires a usage function.
27706
27707 2007-11-09  Bruno Haible  <bruno@clisp.org>
27708
27709         * doc/functions/snprintf.texi: Mention BeOS deficiency.
27710         * doc/functions/vsnprintf.texi: Likewise.
27711         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
27712         with a size argument < 2.
27713
27714 2007-11-09  Bruno Haible  <bruno@clisp.org>
27715
27716         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
27717         buffer. Fixes an inefficiency introduced on 2007-11-03.
27718
27719 2007-11-09  Bruno Haible  <bruno@clisp.org>
27720
27721         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
27722         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
27723
27724 2007-11-08  Jim Meyering  <meyering@redhat.com>
27725
27726         Change cache variable name prefix "jm_" to "gl_" everywhere.
27727         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
27728         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
27729         * m4/uptime.m4: s/gl_/jm_/
27730
27731 2007-11-07  Bruno Haible  <bruno@clisp.org>
27732
27733         Update to GNU gettext 0.17.
27734         * m4/intl.m4: Update to GNU gettext 0.17.
27735         * m4/po.m4: Likewise.
27736         * modules/gettext (Files): Remove m4/ulonglong.m4.
27737         (configure.ac): Require gettext infrastructure from version 0.17.
27738
27739 2007-11-06  Bruno Haible  <bruno@clisp.org>
27740
27741         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
27742         symbolic values are not defined in a public header.
27743         * lib/freadable.c (freadable) [QNX]: Likewise.
27744         * lib/freadahead.c (freadahead) [QNX]: Likewise.
27745         * lib/freading.c (freading) [QNX]: Likewise.
27746         * lib/fseterr.c (fseterr) [QNX]: Likewise.
27747         * lib/fwritable.c (fwritable) [QNX]: Likewise.
27748         * lib/fwriting.c (fwriting) [QNX]: Likewise.
27749         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
27750         Reported by Alain Magloire.
27751
27752         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
27753
27754 2007-11-05  Bruno Haible  <bruno@clisp.org>
27755
27756         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
27757         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
27758         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
27759         Reported by Eric Blake.
27760
27761 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27762             Bruno Haible  <bruno@clisp.org>
27763
27764         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
27765         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
27766         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
27767         (malloc): Undefine also before including <stdlib.h>.
27768         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
27769         Needed on OSF/1 4.0.
27770
27771 2007-11-05  Jim Meyering  <meyering@redhat.com>
27772
27773         git-version-gen: sync from coreutils.
27774         * build-aux/git-version-gen: Add comments.
27775         Change the first '-' to '.' in the snapshot version string,
27776         e.g., 6.9-377-08144 -> 6.9.377-08144
27777         Remove first parameter.
27778         Don't declare a version "-dirty" merely because a time
27779         stamp has changed.
27780
27781 2007-11-04  Bruno Haible  <bruno@clisp.org>
27782
27783         * lib/lock.h: Protect all macro definitions containing an 'if'
27784         statement through a "do { ... } while (0)".
27785         * lib/tls.h: Likewise.
27786
27787 2007-11-04  Bruno Haible  <bruno@clisp.org>
27788
27789         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
27790
27791 2007-11-04  Bruno Haible  <bruno@clisp.org>
27792
27793         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
27794         * modules/fprintf-posix (Depends-on): Add nocrash.
27795         * modules/snprintf-posix (Depends-on): Likewise.
27796         * modules/sprintf-posix (Depends-on): Likewise.
27797         * modules/vasnprintf-posix (Depends-on): Likewise.
27798         * modules/vasprintf-posix (Depends-on): Likewise.
27799         * modules/vfprintf-posix (Depends-on): Likewise.
27800         * modules/vsnprintf-posix (Depends-on): Likewise.
27801         * modules/vsprintf-posix (Depends-on): Likewise.
27802         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
27803         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27804         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27805         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27806         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27807         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27808         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27809
27810 2007-11-04  Bruno Haible  <bruno@clisp.org>
27811
27812         * modules/nocrash: New file.
27813         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
27814         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
27815
27816 2007-11-04  Bruno Haible  <bruno@clisp.org>
27817
27818         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
27819         precision handling.
27820         * tests/test-vasprintf-posix.c (test_function): Likewise.
27821         * tests/test-snprintf-posix.h (test_function): Likewise.
27822         * tests/test-sprintf-posix.h (test_function): Likewise.
27823
27824         Fix *printf behaviour for large precisions on mingw and BeOS.
27825         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
27826         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
27827         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
27828         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27829         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27830         gl_PRINTF_PRECISION and test its result. Invoke
27831         gl_PREREQ_VASNPRINTF_PRECISION.
27832         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27833         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27834         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27835         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27836         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27837         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27838         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27839         * doc/functions/fprintf.texi: Update.
27840         * doc/functions/printf.texi: Update.
27841         * doc/functions/snprintf.texi: Update.
27842         * doc/functions/sprintf.texi: Update.
27843         * doc/functions/vfprintf.texi: Update.
27844         * doc/functions/vprintf.texi: Update.
27845         * doc/functions/vsnprintf.texi: Update.
27846         * doc/functions/vsprintf.texi: Update.
27847
27848 2007-11-04  Bruno Haible  <bruno@clisp.org>
27849
27850         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
27851
27852 2007-11-04  Bruno Haible  <bruno@clisp.org>
27853
27854         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
27855         Reported by Sylvain Beucler <beuc@gnu.org>.
27856
27857 2007-11-03  Bruno Haible  <bruno@clisp.org>
27858
27859         * tests/test-fprintf-posix2.sh: New file.
27860         * tests/test-fprintf-posix2.c: New file.
27861         * modules/fprintf-posix-tests (Files): Add them.
27862         (TESTS): Add test-fprintf-posix2.sh.
27863         (configure.ac): Check for getrlimit and setrlimit.
27864         (check_PROGRAMS): Add test-fprintf-posix2.
27865
27866         * tests/test-printf-posix2.sh: New file.
27867         * tests/test-printf-posix2.c: New file.
27868         * modules/printf-posix-tests (Files): Add them.
27869         (TESTS): Add test-printf-posix2.sh.
27870         (configure.ac): Check for getrlimit and setrlimit.
27871         (check_PROGRAMS): Add test-printf-posix2.
27872
27873         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
27874         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
27875         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
27876         (decode_double): New function, copied from decode_long_double.
27877         (scale10_round_decimal_decoded): New function, extracted from
27878         scale10_round_decimal_long_double.
27879         (scale10_round_decimal_long_double): Use it.
27880         (scale10_round_decimal_double): New function.
27881         (floorlog10): New function.
27882         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
27883         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
27884         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27885         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27886         gl_PRINTF_ENOMEM and test its result. Invoke
27887         gl_PREREQ_VASNPRINTF_ENOMEM.
27888         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27889         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27890         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27891         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27892         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27893         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27894         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27895         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
27896         * modules/snprintf-posix (Depends-on): Likewise.
27897         * modules/sprintf-posix (Depends-on): Likewise.
27898         * modules/vasnprintf-posix (Depends-on): Likewise.
27899         * modules/vasprintf-posix (Depends-on): Likewise.
27900         * modules/vfprintf-posix (Depends-on): Likewise.
27901         * modules/vsnprintf-posix (Depends-on): Likewise.
27902         * modules/vsprintf-posix (Depends-on): Likewise.
27903         * doc/functions/fprintf.texi: Update.
27904         * doc/functions/printf.texi: Update.
27905         * doc/functions/snprintf.texi: Update.
27906         * doc/functions/sprintf.texi: Update.
27907         * doc/functions/vfprintf.texi: Update.
27908         * doc/functions/vprintf.texi: Update.
27909         * doc/functions/vsnprintf.texi: Update.
27910         * doc/functions/vsprintf.texi: Update.
27911
27912 2007-11-03  Bruno Haible  <bruno@clisp.org>
27913
27914         * modules/frexp-nolibm-tests: New file.
27915
27916         * modules/frexp-nolibm: New file.
27917         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
27918
27919 2007-11-03  Bruno Haible  <bruno@clisp.org>
27920
27921         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
27922         value is C99 compliant.
27923         Needed for OSF/1 5.1.
27924
27925 2007-11-03  Bruno Haible  <bruno@clisp.org>
27926
27927         Fix out-of-memory handling of vasnprintf.
27928         * lib/printf-parse.c: Include <errno.h>.
27929         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
27930         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
27931         is already set.
27932
27933 2007-11-02  Eric Blake  <ebb9@byu.net>
27934
27935         Fix tests on cygwin.
27936         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
27937
27938 2007-11-01  Bruno Haible  <bruno@clisp.org>
27939
27940         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
27941         warning.
27942         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
27943         needed for POSIX compatibility.
27944
27945 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27946
27947         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
27948         for compatibility with GNU.
27949
27950 2007-11-01  Bruno Haible  <bruno@clisp.org>
27951
27952         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
27953         (putenv): Renamed from rpl_putenv. Change argument type from
27954         'const char *' to 'char *'.
27955         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
27956         of defining putenv in config.h, just set REPLACE_PUTENV.
27957         * modules/putenv (Depends-on): Add stdlib.
27958         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
27959         (Include): Use <stdlib.h>.
27960         * lib/stdlib.in.h (putenv): New declaration.
27961         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
27962         REPLACE_PUTENV.
27963         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
27964         REPLACE_PUTENV.
27965         Needed for MacOS X 10.5.0.
27966         Reported by Peter O'Gorman <peter@pogma.com>.
27967
27968 2007-11-01  Jim Meyering  <meyering@redhat.com>
27969
27970         Treat an empty date string exactly like "0".
27971         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
27972         if the remaining date string (to be parsed) is empty, use "0".
27973         Reported by Mischa Molhoek and discussed in this thread:
27974         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
27975
27976 2007-10-31  Bruno Haible  <bruno@clisp.org>
27977
27978         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
27979         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
27980         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
27981         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
27982         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
27983         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
27984
27985 2007-10-31  Bruno Haible  <bruno@clisp.org>
27986
27987         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
27988         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
27989         (AC_TYPE_LONG_LONG_INT): Use it.
27990         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
27991         it as well.
27992         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
27993         to m4/longlong.m4.
27994         * modules/stdint (Files): Remove m4/ulonglong.m4.
27995         * modules/strtoull (Files): Use m4/longlong.m4 instead of
27996         m4/ulonglong.m4.
27997         * modules/strtoumax (Files): Likewise.
27998
27999 2007-10-30  Bruno Haible  <bruno@clisp.org>
28000
28001         * modules/xvasprintf-posix: New file.
28002         Suggested by Eric Blake.
28003
28004 2007-10-30  Bruno Haible  <bruno@clisp.org>
28005
28006         * modules/xprintf-posix-tests: New file.
28007         * tests/test-xprintf-posix.sh: New file.
28008         * tests/test-xprintf-posix.c: New file.
28009         * tests/test-xfprintf-posix.c: New file.
28010
28011         * modules/xprintf-posix: New file.
28012
28013 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28014
28015         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
28016         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
28017         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
28018
28019 2007-10-29  Bruno Haible  <bruno@clisp.org>
28020
28021         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
28022         contain the special marker '_cv_'.
28023         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
28024         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
28025         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
28026         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
28027         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
28028         Reported by Ralf Wildenhues.
28029
28030 2007-10-29  Bruno Haible  <bruno@clisp.org>
28031
28032         * gnulib-tool (func_import): When --lgpl is not specified, set
28033         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
28034         GPLv3.
28035         Reported by Simon Josefsson.
28036
28037 2007-10-28  Bruno Haible  <bruno@clisp.org>
28038
28039         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
28040         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
28041         HAVE_DECL_ISFINITE.
28042         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
28043         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
28044         HAVE_DECL_ISFINITE.
28045
28046 2007-10-28  Bruno Haible  <bruno@clisp.org>
28047
28048         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
28049         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
28050
28051 2007-10-28  Bruno Haible  <bruno@clisp.org>
28052
28053         Fix link errors with Sun C 5.0 on Solaris 10.
28054         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
28055         function is declared but not present in the compiler's libm.
28056         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
28057         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
28058         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
28059         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
28060         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
28061         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
28062         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
28063         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
28064         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
28065         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
28066         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
28067         HAVE_DECL_FLOORL.
28068
28069 2007-10-28  Bruno Haible  <bruno@clisp.org>
28070
28071         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
28072         gl_FUNC_FLOORL. Cache the result.
28073         (gl_FUNC_FLOORL): Use it.
28074         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
28075         gl_FUNC_CEILL. Cache the result.
28076         (gl_FUNC_CEILL): Use it.
28077
28078         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
28079         gl_FUNC_FLOOR. Cache the result.
28080         (gl_FUNC_FLOOR): Use it.
28081         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
28082         gl_FUNC_CEIL. Cache the result.
28083         (gl_FUNC_CEIL): Use it.
28084
28085         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
28086         gl_FUNC_FLOORF. Cache the result.
28087         (gl_FUNC_FLOORF): Use it.
28088         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
28089         gl_FUNC_CEILF. Cache the result.
28090         (gl_FUNC_CEILF): Use it.
28091
28092 2007-10-28  Bruno Haible  <bruno@clisp.org>
28093
28094         * gnulib-tool: Allow specifying the LGPL version number through
28095         --lgpl=2 or --lgpl=3.
28096         (func_usage): Document --lgpl with argument.
28097         Handle --lgpl=... arguments.
28098         (func_import): Recognize also gl_LGPL calls with an argument. When
28099         --lgpl=2 is used and the module's license is just LGPL, report an
28100         error. Set sed_transform_lib_file according to the lgpl variable. In
28101         the generated files, use --lgpl or gl_LGPL invocations with argument,
28102         if necessary.
28103         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
28104         an LGPv2+ license.
28105         * doc/gnulib-tool.texi (Modified imports): Update explanation of
28106         gl_LGPL macro.
28107
28108 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28109             Bruno Haible  <bruno@clisp.org>
28110
28111         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
28112         (u16_uctomb_aux): Likewise.
28113         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
28114         !HAVE_INLINE.
28115         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
28116
28117 2007-10-28  Bruno Haible  <bruno@clisp.org>
28118
28119         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
28120         Invoke AM_GETTEXT_OPTION if it exists.
28121         * modules/vasprintf: Likewise.
28122         * modules/verror: Likewise.
28123         * modules/xprintf: Likewise.
28124         * modules/xvasprintf: Likewise.
28125
28126 2007-10-27  Ben Pfaff  <blp@gnu.org>
28127
28128         * lib/math.in.h: Define isfinite macro and prototypes for
28129         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
28130         implementations.
28131         * m4/math_h.m4: New substitutions for isfinite module.
28132         * lib/isfinite.c: New file.
28133         * m4/isfinite.m4: New file.
28134         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
28135         * modules/isfinite: New file.
28136         * modules/isfinite-tests: New file.
28137         * tests/tests-isfinite.c: New file.
28138         * doc/functions/isfinite.texi: Mention isfinite module.
28139         * MODULES.html.sh: Mention new module.
28140
28141 2007-10-27  Ben Pfaff  <blp@gnu.org>
28142
28143         Ralf Wildenhues reported that Tru64 4.0D declares the round
28144         functions but does not have definitions.
28145         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
28146         cannot be found in any library, set the output variable to
28147         "missing" instead of "".
28148         * m4/round.m4: Also use our substitute if we cannot find round in
28149         any library, even if it is declared.
28150         * m4/roundf.m4: Likewise for roundf.
28151         * m4/roundl.m4: Likewise for roundl.
28152         * lib/math.in.h: Undefine roundf, round, roundl before defining
28153         their replacements, to allow for hypothetical systems where these
28154         may be defined as macros but not available in libraries.
28155
28156 2007-10-27  Bruno Haible  <bruno@clisp.org>
28157
28158         * doc/gnulib.texi: Invoke @firstparagraphindent.
28159         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
28160         changes in gnulib.
28161         (Source changes): New section.
28162
28163 2007-10-26  Bruno Haible  <bruno@clisp.org>
28164
28165         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
28166         borrowed from autoconf.
28167
28168 2007-10-26  Bruno Haible  <bruno@clisp.org>
28169
28170         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
28171         strerror returned the empty string. Needed on HP-UX 11.00.
28172
28173 2007-10-24  Micah Cowan  <micah@cowan.name>
28174
28175         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
28176         * build-aux/bootstrap: Remove support for now-unnecessary option,
28177         --cvs-user, and envvars CVS_USER, CVS_RSH.
28178
28179 2007-10-24  Jim Meyering  <meyering@redhat.com>
28180
28181         Avoid diagnostics from sha1sum when there is no cached checksum.
28182         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
28183         if the po.s1 file hasn't been created yet.
28184
28185         * build-aux/bootstrap: Sync from coreutils:
28186         2007-10-24  Jim Meyering  <meyering@redhat.com>
28187         Get gnulib from the git repository, not from an obsolete cvs one.
28188         * build-aux/bootstrap: Suggestion from Micah Cowan.
28189         2007-10-04  Jim Meyering  <jim@meyering.net>
28190         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
28191         (update_po_files): Work also when there are no .po files in po/.
28192
28193 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
28194
28195         * README: Append ".git" to git and cg examples.
28196         Problem reported by Benoit Sigoure.
28197
28198 2007-10-23  Micah Cowan  <micah@cowan.name>
28199
28200         * users.txt: Add wget.
28201
28202 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28203
28204         Fix linking of some unistdio tests on FreeBSD.
28205         * modules/unistdio/u16-vsnprintf-tests
28206         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
28207         * modules/unistdio/u16-vsprintf-tests
28208         (test_u16_vsnprintf1_LDADD): Likewise.
28209         * modules/unistdio/u32-vsnprintf-tests
28210         (test_u32_vsnprintf1_LDADD): Likewise.
28211         * modules/unistdio/u32-vsprintf-tests
28212         (test_u32_vsprintf1_LDADD): Likewise.
28213         * modules/unistdio/u8-vsnprintf-tests
28214         (test_u8_vsnprintf1_LDADD): Likewise.
28215         * modules/unistdio/u8-vsprintf-tests
28216         (test_u8_vsprintf1_LDADD): Likewise.
28217         * modules/unistdio/ulc-vsnprintf-tests
28218         (test_ulc_vsnprintf1_LDADD): Likewise.
28219         * modules/unistdio/ulc-vsprintf-tests
28220         (test_ulc_vsprintf1_LDADD): Likewise.
28221
28222         Fix linking of some uniconv tests on FreeBSD.
28223         * modules/uniconv/u16-conv-from-enc-tests
28224         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
28225         * modules/uniconv/u16-conv-to-enc-tests
28226         (test_u16_conv_to_enc_LDADD): Likewise.
28227         * modules/uniconv/u16-strconv-from-enc-tests
28228         (test_u16_strconv_from_enc_LDADD): Likewise.
28229         * modules/uniconv/u16-strconv-to-enc-tests
28230         (test_u16_strconv_to_enc_LDADD): Likewise.
28231         * modules/uniconv/u32-conv-from-enc-tests
28232         (test_u32_conv_from_enc_LDADD): Likewise.
28233         * modules/uniconv/u32-conv-to-enc-tests
28234         (test_u32_conv_to_enc_LDADD): Likewise.
28235         * modules/uniconv/u32-strconv-from-enc-tests
28236         (test_u32_strconv_from_enc_LDADD): Likewise.
28237         * modules/uniconv/u32-strconv-to-enc-tests
28238         (test_u32_strconv_to_enc_LDADD): Likewise.
28239         * modules/uniconv/u8-conv-from-enc-tests
28240         (test_u8_conv_from_enc_LDADD): Likewise.
28241         * modules/uniconv/u8-conv-to-enc-tests
28242         (test_u8_conv_to_enc_LDADD): Likewise.
28243         * modules/uniconv/u8-strconv-from-enc-tests
28244         (test_u8_strconv_from_enc_LDADD): Likewise.
28245         * modules/uniconv/u8-strconv-to-enc-tests
28246         (test_u8_strconv_to_enc_LDADD): Likewise.
28247
28248 2007-10-22  Bruno Haible  <bruno@clisp.org>
28249
28250         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
28251         size.
28252
28253 2007-10-22  Eric Blake  <ebb9@byu.net>
28254
28255         Tweak x*printf documentation.
28256         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
28257         variable name and comments.
28258         Suggested by Bruno Haible.
28259
28260 2007-10-22  Bruno Haible  <bruno@clisp.org>
28261
28262         * lib/acl.c (copy_acl): Fix file name in comment.
28263
28264 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
28265
28266         Fix Tru64 problem with stdbool.h.
28267         * lib/stdbool.in.h (false, true):
28268         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
28269         Don't declare as an enum in this situation; it runs afoul of Tru64.
28270         Problem reported by Steven M. Schweda in
28271         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
28272
28273 2007-10-22  Eric Blake  <ebb9@byu.net>
28274
28275         Also wrap vf?printf.
28276         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
28277         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
28278         (xvprintf, xvfprintf): New functions.
28279
28280 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28281
28282         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
28283         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
28284
28285         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
28286         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
28287
28288 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
28289
28290         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
28291         by Bruno Haible.
28292
28293 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28294
28295         * lib/getloadavg.c
28296         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
28297         Undef `sys' after including sys/table.h, for Tru64 4.0D.
28298
28299         * tests/test-i-ring.c: Work for C89.
28300
28301 2007-10-22  Bruno Haible  <bruno@clisp.org>
28302
28303         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
28304         -1u, in preprocessor expression, so that we don't test for the bug
28305         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
28306         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
28307
28308 2007-10-22  Eric Blake  <ebb9@byu.net>
28309
28310         * tests/test-yesno.sh: Silence stderr during test.
28311
28312 2007-10-22  Simon Josefsson  <simon@josefsson.org>
28313
28314         * modules/crypto/gc-camellia: New file.
28315
28316         * m4/gc-camellia.m4: New file.
28317
28318         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
28319
28320         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
28321
28322 2007-10-22  Simon Josefsson  <simon@josefsson.org>
28323
28324         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
28325         --help to stdout.  Reported by sms@antinode.org (Steven
28326         M. Schweda).
28327
28328 2007-10-22  Simon Josefsson  <simon@josefsson.org>
28329
28330         * users.txt: Fix link to libksba.
28331
28332 2007-10-21  Ben Pfaff  <blp@gnu.org>
28333
28334         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
28335         round.c roundf implementation that depends on floorf and ceilf to
28336         be tested unconditionally.
28337
28338 2007-10-21  Ben Pfaff  <blp@gnu.org>
28339
28340         * m4/check-libm-func.m4: Removed.
28341         * m4/check-math-lib.m4: New file.
28342         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
28343         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
28344         definition and lack of AC_LIBOBJ([roundf]).
28345         * m4/roundl.m4: Ditto, and similarly for roundl.
28346         * modules/round: Reference new m4 file.
28347         * modules/roundf: Ditto.
28348         * modules/roundl: Ditto.
28349         * tests/test-round2.c (main): Use ROUND instead of round.
28350         Bug report from Bruno Haible.
28351
28352 2007-10-21  Bruno Haible  <bruno@clisp.org>
28353
28354         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
28355         context.
28356
28357 2007-10-21  Bruno Haible  <bruno@clisp.org>
28358
28359         * tests/test-wcwidth.c (main): Allow negative result for some control
28360         characters.
28361
28362         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
28363         Needed on OSF/1 5.1.
28364
28365 2007-10-21  Bruno Haible  <bruno@clisp.org>
28366
28367         * tests/test-floorf1.c: Include isnanf.h.
28368         (main): Use isnanf() instead of isnan().
28369         * tests/test-ceilf1.c: Include isnanf.h.
28370         (main): Use isnanf() instead of isnan().
28371         * tests/test-truncf1.c: Include isnanf.h.
28372         (main): Use isnanf() instead of isnan().
28373         * tests/test-roundf1.c: Include isnanf.h.
28374         (main): Use isnanf() instead of isnan().
28375
28376 2007-10-21  Eric Blake  <ebb9@byu.net>
28377
28378         * users.txt: Update URL for m4.
28379
28380 2007-10-21  Bruno Haible  <bruno@clisp.org>
28381
28382         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
28383
28384 2007-10-21  Bruno Haible  <bruno@clisp.org>
28385
28386         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
28387         Git's management files if the CVS files are not present.
28388
28389 2007-10-20  Bruno Haible  <bruno@clisp.org>
28390
28391         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
28392         gcc-3.4.x.
28393
28394 2007-10-20  Ben Pfaff  <blp@gnu.org>
28395
28396         * lib/math.in.h: Declare round, roundf, roundl if we are providing
28397         implementations.
28398         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
28399         * lib/round.c: New file.
28400         * lib/roundf.c: New file.
28401         * lib/roundl.c: New file.
28402         * m4/round.m4: New file.
28403         * m4/roundf.m4: New file.
28404         * m4/roundl.m4: New file.
28405         * m4/check-libm-func-m4: New file.
28406         * modules/math: Replace round, roundf, roundl related @VARS@ in
28407         math.in.h.
28408         * modules/round: New file.
28409         * modules/round-tests: New file.
28410         * modules/roundf: New file.
28411         * modules/roundf-tests: New file.
28412         * modules/roundl: New file.
28413         * modules/roundl-tests: New file.
28414         * tests/test-round1.c: New file.
28415         * tests/test-round2.c: New file.
28416         * tests/test-roundf1.c: New file.
28417         * tests/test-roundf2.c: New file.
28418         * tests/test-roundl.c: New file.
28419         * doc/functions/round.texi: Mention round module.
28420         * doc/functions/roundf.texi: Mention roundf module.
28421         * doc/functions/roundl.texi: Mention roundl module.
28422         * MODULES.html.sh: Mention new modules.
28423         Thanks to Bruno Haible for suggestions.
28424
28425 2007-10-20  Jim Meyering  <meyering@redhat.com>
28426
28427         * lib/xprintf.c: Include <config.h> unconditionally.
28428
28429         Change xprintf's license to GPL.
28430         * modules/xprintf (License): s/LGPL/GPL/, since this module
28431         depends on modules (exit and exitfail) which are GPL.
28432         Suggestion from Bruno Haible.
28433
28434         xprintf fixes.
28435         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
28436         Use a clearer diagnostic.
28437         Patch from Bruno Haible.
28438
28439 2007-10-20  Bruno Haible  <bruno@clisp.org>
28440
28441         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
28442         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
28443         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28444
28445 2007-10-20  Bruno Haible  <bruno@clisp.org>
28446
28447         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
28448         precision in the comparison result > x - 1 or similar.
28449         * tests/test-ceilf2.c (correct_result_p): Likewise.
28450         * tests/test-truncf2.c (correct_result_p): Likewise.
28451         * tests/test-trunc2.c (correct_result_p): Likewise.
28452         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28453
28454 2007-10-20  Bruno Haible  <bruno@clisp.org>
28455
28456         * modules/ceil: New file.
28457         * m4/ceil.m4: New file.
28458         * doc/functions/ceil.texi: Mention the 'ceil' module.
28459
28460 2007-10-20  Bruno Haible  <bruno@clisp.org>
28461
28462         * modules/floor: New file.
28463         * m4/floor.m4: New file.
28464         * doc/functions/floor.texi: Mention the 'floor' module.
28465
28466 2007-10-20  Bruno Haible  <bruno@clisp.org>
28467
28468         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
28469         of %a.
28470         * modules/floorf-tests (Depends-on): Likewise.
28471         * modules/truncf-tests (Depends-on): Likewise.
28472         * modules/trunc-tests (Depends-on): Likewise.
28473         Reported by Ben Pfaff.
28474
28475 2007-10-19  Jim Meyering  <meyering@redhat.com>
28476
28477         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
28478         Don't bother testing specific errno values.  Just test ferror.
28479
28480         New module: xprintf
28481         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
28482
28483 2007-10-19  Bruno Haible  <bruno@clisp.org>
28484
28485         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
28486         syntax.
28487         * modules/javaexec (Makefile.am): Likewise.
28488         * modules/relocatable-prog (Makefile.am): Likewise.
28489         Suggested by Jim Meyering.
28490
28491 2007-10-18  Bruno Haible  <bruno@clisp.org>
28492
28493         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
28494         Reported by Jim Meyering.
28495
28496 2007-10-18  Eric Blake  <ebb9@byu.net>
28497
28498         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
28499
28500 2007-10-18  Bruno Haible  <bruno@clisp.org>
28501
28502         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
28503         the format string into writable memory. Needed in Fortify conditions.
28504
28505 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
28506             Bruno Haible  <bruno@clisp.org>
28507
28508         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
28509         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
28510         * modules/trim (Depends-on): Add mbchar.
28511         (configure.ac): Add gl_FUNC_MBRTOWC.
28512         (Makefile.am): Augment lib_SOURCES.
28513
28514 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
28515
28516         Modify glob.c to use fstatat and dirfd, to simplify it.
28517         Suggested by Eric Blake.
28518         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
28519         Don't include <stdbool.h>; not used.
28520         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
28521         (link_exists_p): Simplify implementation, since we can now assume
28522         dirfd and fstatat.
28523         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
28524
28525 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28526
28527         * gnulib-tool (func_get_dependencies): Fix sed script to
28528         match only tests.
28529
28530 2007-10-17  Bruno Haible  <bruno@clisp.org>
28531
28532         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
28533         allow locale names without encoding suffix.
28534         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
28535         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28536
28537 2007-10-16  Bruno Haible  <bruno@clisp.org>
28538
28539         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
28540         * lib/getgroups.c (getgroups): Likewise.
28541         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
28542
28543 2007-10-16  Bruno Haible  <bruno@clisp.org>
28544
28545         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
28546         * modules/malloc-posix (License): Likewise.
28547         * modules/realloc-posix (License): Likewise.
28548         * modules/calloc-posix (License): Likewise.
28549         * modules/intprops (License): Change from GPL to LGPL, with
28550         Paul Eggert's approval.
28551
28552 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
28553
28554         Merge glibc changes into lib/glob.c.
28555
28556         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
28557         2007-10-15 04:59:03 UTC.  Here are the changes:
28558
28559         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
28560
28561         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
28562
28563         * lib/glob.c: Add some branch prediction throughout.
28564
28565         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
28566
28567         [BZ #5103]
28568         * lib/glob.c (glob): Recognize patterns starting \/.
28569
28570         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
28571
28572         [BZ #3996]
28573         * lib/glob.c (attribute_hidden): Define if not defined.
28574         (glob): Unescape dirname, filename or username when needed and not
28575         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
28576         is NULL.  Handle unescaped [ in pattern without closing ].
28577         Don't pass GLOB_CHECK down to recursive glob for directories.
28578         (__glob_pattern_type): New function.
28579         (__glob_pattern_p): Implement using __glob_pattern_type.
28580         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
28581         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
28582         Remove unreachable code.
28583
28584         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
28585
28586         * lib/glob.c (glob_in_dir): Add some comments and asserts to
28587         explain why there are no leaks.
28588
28589         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
28590
28591         [BZ #3253]
28592         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
28593         time, rather allocate increasingly bigger arrays of pointers, if
28594         possible with alloca, if too large with malloc.
28595
28596 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
28597
28598         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
28599         Problem reported by H.Merijn Brand in
28600         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
28601         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
28602         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
28603
28604 2007-10-15  Bruno Haible  <bruno@clisp.org>
28605
28606         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
28607         with explicit rpl_ prefix.
28608         * lib/fopen.c (fopen): Likewise.
28609         * lib/freopen.c (freopen): Likewise.
28610         * lib/iconv.c (iconv): Likewise.
28611         * lib/iconv_close.c (iconv_close): Likewise.
28612
28613 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28614
28615         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
28616
28617 2007-10-15  Bruno Haible  <bruno@clisp.org>
28618
28619         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
28620         <stddef.h> instead of <stdlib.h> since we only need NULL.
28621         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28622
28623 2007-10-15  Bruno Haible  <bruno@clisp.org>
28624
28625         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
28626         Replace paragraph talking about LIBOBJS.
28627         Reported by Colin Watson <cjwatson@debian.org>.
28628
28629 2007-10-15  Bruno Haible  <bruno@clisp.org>
28630
28631         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
28632         <stdlib.h> before using NULL.
28633
28634 2007-10-15  Simon Josefsson  <simon@josefsson.org>
28635
28636         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
28637         Reported by Albert Chin <china@thewrittenword.com>.
28638
28639 2007-10-14  Bruno Haible  <bruno@clisp.org>
28640
28641         * modules/iconv_open-utf-tests: New file.
28642         * tests/test-iconv-utf.c: New file.
28643
28644         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
28645         * modules/iconv_open-utf: New file.
28646         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
28647         (iconv, iconv_close): New declarations.
28648         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
28649         be defined.
28650         (iconv_open): Add special handling of conversion between UTF-8 and
28651         UTF-{16,32}{BE,LE}.
28652         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
28653         * lib/iconv_close.c: New file.
28654         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
28655         gl_FUNC_ICONV_OPEN.
28656         (gl_FUNC_ICONV_OPEN): Use it.
28657         (gl_FUNC_ICONV_OPEN_UTF): New macro.
28658         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
28659         and REPLACE_ICONV_UTF.
28660         * modules/iconv_open (Depends-on): Add c-strcase.
28661         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
28662         ICONV_CONST.
28663         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
28664
28665 2007-10-13  Albert Chin  <china@thewrittenword.com>
28666             Bruno Haible  <bruno@clisp.org>
28667
28668         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
28669         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
28670
28671 2007-10-13  Bruno Haible  <bruno@clisp.org>
28672
28673         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
28674         defined, use the ISO C99 inline semantics.
28675         * lib/argp.h (ARGP_EI): Likewise.
28676
28677 2007-10-13  Bruno Haible  <bruno@clisp.org>
28678
28679         Handle 'inline' change in gcc 4.3.0.
28680         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
28681         argp_fmtstream_write, argp_fmtstream_set_lmargin,
28682         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
28683         argp_fmtstream_point): Disable 'extern' declaration if the function
28684         definition is going to be provided inline.
28685         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
28686         semantics, not the ISO C99 inline semantics.
28687         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
28688         'extern' declaration if the function definition is going to be provided
28689         inline.
28690         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
28691         the GNU C inline semantics, not the ISO C99 inline semantics. With
28692         GCC 4.2, avoid a warning.
28693
28694 2007-10-13  Bruno Haible  <bruno@clisp.org>
28695
28696         * lib/freading.h (freading): Enable the use of __freading for
28697         glibc >= 2.7.
28698         * lib/freading.c (freading): Likewise.
28699
28700 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
28701
28702         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
28703         "warning: C99 inline functions are not supported; using GNU89".
28704
28705 2007-10-12  Bruno Haible  <bruno@clisp.org>
28706
28707         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
28708         of 2.
28709         * tests/test-ceilf2.c: New file.
28710         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
28711
28712         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
28713         * modules/ceilf-tests: Update.
28714
28715 2007-10-12  Bruno Haible  <bruno@clisp.org>
28716
28717         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
28718         of 2.
28719         * tests/test-floorf2.c: New file.
28720         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
28721
28722         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
28723         * modules/floorf-tests: Update.
28724
28725 2007-10-12  Bruno Haible  <bruno@clisp.org>
28726
28727         * tests/test-trunc2.c: New file.
28728         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
28729
28730         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
28731         * modules/trunc-tests: Update.
28732
28733 2007-10-12  Bruno Haible  <bruno@clisp.org>
28734
28735         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
28736         of 2.
28737         * tests/test-truncf2.c: New file.
28738         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
28739
28740         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
28741         * modules/truncf-tests: Update.
28742
28743 2007-10-11  Eric Blake  <ebb9@byu.net>
28744
28745         Don't claim strerror is broken on Interix.
28746         * doc/functions/strerror.texi (strerror): Known broken systems are
28747         now Solaris 8, and not Interix.
28748         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
28749         Interix on cross-compile.
28750         Reported by Martin Koeppe in
28751         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
28752
28753 2007-10-11  Bruno Haible  <bruno@clisp.org>
28754
28755         * modules/i-ring-tests: New file.
28756         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
28757         instead of assert.
28758
28759 2007-10-11  Bruno Haible  <bruno@clisp.org>
28760
28761         * modules/filenamecat-tests: New file.
28762         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
28763         * lib/filenamecat.c: Remove test code.
28764
28765 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28766
28767         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
28768
28769         * lib/strerror.c: Include <string.h> always, to test interface,
28770         and to remove the need for the dummy.
28771         Include intprops.h to compute width instead of doing it ourselves
28772         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
28773         (strerror): Define it to return NULL if there's no system strerror.
28774         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
28775         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
28776         ancient pre-strerror Unix systems well any more.  Saying "unknown
28777         system error" is enough.
28778         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
28779         simpler strerror.c implementation.
28780         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
28781         Simplify the tests to reflect the simpler strerror implementation.
28782         * modules/strerror (Depends-on): Add intprops.
28783
28784 2007-10-09  Eric Blake  <ebb9@byu.net>
28785
28786         Silence test-fpending.
28787         * modules/fpending-tests (Files): Add wrapper script.
28788         * tests/test-fpending.sh: New file.
28789
28790 2007-10-09  Bruno Haible  <bruno@clisp.org>
28791
28792         * MODULES.html.sh (func_module): Don't create a hyperlink for
28793         function names like 'printf_frexp'.
28794         (Misc): Add crc, memxor.
28795         (Characteristics of floating types): New section.
28796         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
28797         isnanf-nolibm, signbit, trunc, truncf, truncl.
28798         (Enhancements for ISO C 99 functions): New subsection Input/output.
28799         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
28800         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
28801         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
28802         (Compatibility checks for POSIX:2001 functions): Add clock-time.
28803         (Enhancements for POSIX:2001 functions): Add chdir-long.
28804         (File system functions): Add areadlink, chdir-safer, read-file.
28805         Remove cycle-check.
28806         (File system as inode set): New section.
28807         (Date and time): Add gethrxtime.
28808         (Multithreading): Add openmp.
28809         (Internationalization functions): Add localename.
28810         (Unicode string functions): Add unistr/u*-mbsnlen.
28811         (Support for maintaining and releasing projects): Add git-version-gen.
28812         (Lone files): Remove directories.
28813
28814 2007-10-08  Ben Pfaff  <blp@gnu.org>
28815
28816         * lib/xmalloca.h: Fix typo in comment.
28817
28818 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28819
28820         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
28821         when avoiding problems with integer overflow.  Use a portable test
28822         instead.
28823
28824 2007-10-08  Simon Josefsson  <simon@josefsson.org>
28825
28826         * modules/dummy (License): Change to LGPLv2+.
28827         * modules/float (License): Likewise
28828         * modules/realloc (License): Likewise
28829         * modules/stdlib (License): Likewise
28830
28831 2007-10-07  Bruno Haible  <bruno@clisp.org>
28832
28833         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
28834         * floor.c (TWO_MANT_DIG): Likewise.
28835         * ceil.c (TWO_MANT_DIG): Likewise.
28836         Reported by Ben Pfaff.
28837
28838 2007-10-07  Bruno Haible  <bruno@clisp.org>
28839
28840         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
28841         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
28842         * lib/frexp.c (FUNC): Likewise.
28843         * lib/printf-frexp.h (printf_frexp): Likewise.
28844         * lib/printf-frexpl.h (printf_frexpl): Likewise.
28845         * lib/printf-frexp.c (FUNC): Likewise.
28846         Suggested by Jim Meyering.
28847
28848 2007-10-07  Jim Meyering  <meyering@redhat.com>
28849
28850         Make xnanosleep's integer overflow test more robust.
28851         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
28852         so that gcc-4.3.0 doesn't optimize away this test for overflow.
28853
28854 2007-10-07  Bruno Haible  <bruno@clisp.org>
28855
28856         * NEWS: Mention the license change.
28857
28858         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
28859         abbreviations in the modules files.
28860
28861         Change copyright notice from GPLv2+ to GPLv3+.
28862         * README: Change copyright notice.
28863         * MODULES.html.sh: Likewise.
28864         * build-aux/bootstrap.conf: Likewise.
28865         * build-aux/config.libpath: Likewise.
28866         * build-aux/csharpcomp.sh.in: Likewise.
28867         * build-aux/csharpexec.sh.in: Likewise.
28868         * build-aux/install-reloc: Likewise.
28869         * build-aux/javacomp.sh.in: Likewise.
28870         * build-aux/javaexec.sh.in: Likewise.
28871         * build-aux/ldd.sh.in: Likewise.
28872         * build-aux/reloc-ldflags: Likewise.
28873         * build-aux/relocatable.sh.in: Likewise.
28874         * build-aux/x-to-1.in: Likewise.
28875         * check-module: Likewise.
28876         * config/srclistvars.sh: Likewise.
28877         * gnulib-tool: Likewise.
28878         * lib/acl-internal.h: Likewise.
28879         * lib/acl.c: Likewise.
28880         * lib/acl.h: Likewise.
28881         * lib/acl_entries.c: Likewise.
28882         * lib/areadlink-with-size.c: Likewise.
28883         * lib/areadlink.c: Likewise.
28884         * lib/areadlink.h: Likewise.
28885         * lib/argmatch.c: Likewise.
28886         * lib/argmatch.h: Likewise.
28887         * lib/argp-ba.c: Likewise.
28888         * lib/argp-eexst.c: Likewise.
28889         * lib/argp-fmtstream.c: Likewise.
28890         * lib/argp-fmtstream.h: Likewise.
28891         * lib/argp-fs-xinl.c: Likewise.
28892         * lib/argp-help.c: Likewise.
28893         * lib/argp-namefrob.h: Likewise.
28894         * lib/argp-parse.c: Likewise.
28895         * lib/argp-pin.c: Likewise.
28896         * lib/argp-pv.c: Likewise.
28897         * lib/argp-pvh.c: Likewise.
28898         * lib/argp-xinl.c: Likewise.
28899         * lib/argp.h: Likewise.
28900         * lib/at-func.c: Likewise.
28901         * lib/atanl.c: Likewise.
28902         * lib/backupfile.c: Likewise.
28903         * lib/backupfile.h: Likewise.
28904         * lib/basename.c: Likewise.
28905         * lib/binary-io.h: Likewise.
28906         * lib/byteswap.in.h: Likewise.
28907         * lib/c-stack.c: Likewise.
28908         * lib/c-stack.h: Likewise.
28909         * lib/c-strcasestr.c: Likewise.
28910         * lib/c-strcasestr.h: Likewise.
28911         * lib/c-strstr.c: Likewise.
28912         * lib/c-strstr.h: Likewise.
28913         * lib/c-strtod.c: Likewise.
28914         * lib/calloc.c: Likewise.
28915         * lib/canon-host.c: Likewise.
28916         * lib/canon-host.h: Likewise.
28917         * lib/canonicalize-lgpl.c: Likewise.
28918         * lib/canonicalize.c: Likewise.
28919         * lib/canonicalize.h: Likewise.
28920         * lib/ceil.c: Likewise.
28921         * lib/ceilf.c: Likewise.
28922         * lib/ceill.c: Likewise.
28923         * lib/chdir-long.c: Likewise.
28924         * lib/chdir-long.h: Likewise.
28925         * lib/chdir-safer.c: Likewise.
28926         * lib/chdir-safer.h: Likewise.
28927         * lib/chown.c: Likewise.
28928         * lib/classpath.c: Likewise.
28929         * lib/classpath.h: Likewise.
28930         * lib/clean-temp.c: Likewise.
28931         * lib/clean-temp.h: Likewise.
28932         * lib/cloexec.c: Likewise.
28933         * lib/close-stream.c: Likewise.
28934         * lib/closein.c: Likewise.
28935         * lib/closein.h: Likewise.
28936         * lib/closeout.c: Likewise.
28937         * lib/closeout.h: Likewise.
28938         * lib/concat-filename.c: Likewise.
28939         * lib/copy-file.c: Likewise.
28940         * lib/copy-file.h: Likewise.
28941         * lib/count-one-bits.h: Likewise.
28942         * lib/crc.c: Likewise.
28943         * lib/crc.h: Likewise.
28944         * lib/creat-safer.c: Likewise.
28945         * lib/csharpcomp.c: Likewise.
28946         * lib/csharpcomp.h: Likewise.
28947         * lib/csharpexec.c: Likewise.
28948         * lib/csharpexec.h: Likewise.
28949         * lib/cycle-check.c: Likewise.
28950         * lib/cycle-check.h: Likewise.
28951         * lib/diacrit.c: Likewise.
28952         * lib/diacrit.h: Likewise.
28953         * lib/diffseq.h: Likewise.
28954         * lib/dirchownmod.c: Likewise.
28955         * lib/dirent.in.h: Likewise.
28956         * lib/dirfd.c: Likewise.
28957         * lib/dirfd.h: Likewise.
28958         * lib/dirname.c: Likewise.
28959         * lib/dirname.h: Likewise.
28960         * lib/dummy.c: Likewise.
28961         * lib/dup-safer.c: Likewise.
28962         * lib/dup2.c: Likewise.
28963         * lib/eealloc.h: Likewise.
28964         * lib/error.c: Likewise.
28965         * lib/error.h: Likewise.
28966         * lib/euidaccess.c: Likewise.
28967         * lib/exclude.c: Likewise.
28968         * lib/exclude.h: Likewise.
28969         * lib/execute.c: Likewise.
28970         * lib/execute.h: Likewise.
28971         * lib/exitfail.c: Likewise.
28972         * lib/exitfail.h: Likewise.
28973         * lib/expl.c: Likewise.
28974         * lib/fatal-signal.c: Likewise.
28975         * lib/fatal-signal.h: Likewise.
28976         * lib/fbufmode.c: Likewise.
28977         * lib/fbufmode.h: Likewise.
28978         * lib/fchdir.c: Likewise.
28979         * lib/fchmodat.c: Likewise.
28980         * lib/fchownat.c: Likewise.
28981         * lib/fcntl--.h: Likewise.
28982         * lib/fcntl-safer.h: Likewise.
28983         * lib/fcntl.in.h: Likewise.
28984         * lib/fd-safer.c: Likewise.
28985         * lib/fflush.c: Likewise.
28986         * lib/file-has-acl.c: Likewise.
28987         * lib/file-set.c: Likewise.
28988         * lib/file-type.c: Likewise.
28989         * lib/file-type.h: Likewise.
28990         * lib/fileblocks.c: Likewise.
28991         * lib/filemode.c: Likewise.
28992         * lib/filemode.h: Likewise.
28993         * lib/filename.h: Likewise.
28994         * lib/filenamecat.c: Likewise.
28995         * lib/filenamecat.h: Likewise.
28996         * lib/findprog.c: Likewise.
28997         * lib/findprog.h: Likewise.
28998         * lib/float.in.h: Likewise.
28999         * lib/floor.c: Likewise.
29000         * lib/floorf.c: Likewise.
29001         * lib/floorl.c: Likewise.
29002         * lib/fopen-safer.c: Likewise.
29003         * lib/fopen.c: Likewise.
29004         * lib/fpending.c: Likewise.
29005         * lib/fpending.h: Likewise.
29006         * lib/fprintf.c: Likewise.
29007         * lib/fprintftime.h: Likewise.
29008         * lib/fpucw.h: Likewise.
29009         * lib/fpurge.c: Likewise.
29010         * lib/fpurge.h: Likewise.
29011         * lib/freadable.c: Likewise.
29012         * lib/freadable.h: Likewise.
29013         * lib/freadahead.c: Likewise.
29014         * lib/freadahead.h: Likewise.
29015         * lib/freading.c: Likewise.
29016         * lib/freading.h: Likewise.
29017         * lib/free.c: Likewise.
29018         * lib/freopen.c: Likewise.
29019         * lib/frexp.c: Likewise.
29020         * lib/frexpl.c: Likewise.
29021         * lib/fseek.c: Likewise.
29022         * lib/fseterr.c: Likewise.
29023         * lib/fseterr.h: Likewise.
29024         * lib/fstatat.c: Likewise.
29025         * lib/fstrcmp.c: Likewise.
29026         * lib/fstrcmp.h: Likewise.
29027         * lib/fsusage.c: Likewise.
29028         * lib/fsusage.h: Likewise.
29029         * lib/ftell.c: Likewise.
29030         * lib/ftello.c: Likewise.
29031         * lib/fts-cycle.c: Likewise.
29032         * lib/fts.c: Likewise.
29033         * lib/fts_.h: Likewise.
29034         * lib/full-read.c: Likewise.
29035         * lib/full-read.h: Likewise.
29036         * lib/full-write.c: Likewise.
29037         * lib/full-write.h: Likewise.
29038         * lib/fwritable.c: Likewise.
29039         * lib/fwritable.h: Likewise.
29040         * lib/fwriteerror.c: Likewise.
29041         * lib/fwriteerror.h: Likewise.
29042         * lib/fwriting.c: Likewise.
29043         * lib/fwriting.h: Likewise.
29044         * lib/gcd.c: Likewise.
29045         * lib/gcd.h: Likewise.
29046         * lib/getcwd.c: Likewise.
29047         * lib/getdate.h: Likewise.
29048         * lib/getdate.y: Likewise.
29049         * lib/getdomainname.c: Likewise.
29050         * lib/getdomainname.h: Likewise.
29051         * lib/getgroups.c: Likewise.
29052         * lib/gethostname.c: Likewise.
29053         * lib/gethrxtime.c: Likewise.
29054         * lib/gethrxtime.h: Likewise.
29055         * lib/getloadavg.c: Likewise.
29056         * lib/getndelim2.c: Likewise.
29057         * lib/getndelim2.h: Likewise.
29058         * lib/getnline.c: Likewise.
29059         * lib/getnline.h: Likewise.
29060         * lib/getopt.c: Likewise.
29061         * lib/getopt.in.h: Likewise.
29062         * lib/getopt1.c: Likewise.
29063         * lib/getopt_int.h: Likewise.
29064         * lib/getpagesize.h: Likewise.
29065         * lib/getsubopt.c: Likewise.
29066         * lib/gettime.c: Likewise.
29067         * lib/getugroups.c: Likewise.
29068         * lib/getugroups.h: Likewise.
29069         * lib/getusershell.c: Likewise.
29070         * lib/gl_anyavltree_list1.h: Likewise.
29071         * lib/gl_anyavltree_list2.h: Likewise.
29072         * lib/gl_anyhash_list1.h: Likewise.
29073         * lib/gl_anyhash_list2.h: Likewise.
29074         * lib/gl_anylinked_list1.h: Likewise.
29075         * lib/gl_anylinked_list2.h: Likewise.
29076         * lib/gl_anyrbtree_list1.h: Likewise.
29077         * lib/gl_anyrbtree_list2.h: Likewise.
29078         * lib/gl_anytree_list1.h: Likewise.
29079         * lib/gl_anytree_list2.h: Likewise.
29080         * lib/gl_anytree_oset.h: Likewise.
29081         * lib/gl_anytreehash_list1.h: Likewise.
29082         * lib/gl_anytreehash_list2.h: Likewise.
29083         * lib/gl_array_list.c: Likewise.
29084         * lib/gl_array_list.h: Likewise.
29085         * lib/gl_array_oset.c: Likewise.
29086         * lib/gl_array_oset.h: Likewise.
29087         * lib/gl_avltree_list.c: Likewise.
29088         * lib/gl_avltree_list.h: Likewise.
29089         * lib/gl_avltree_oset.c: Likewise.
29090         * lib/gl_avltree_oset.h: Likewise.
29091         * lib/gl_avltreehash_list.c: Likewise.
29092         * lib/gl_avltreehash_list.h: Likewise.
29093         * lib/gl_carray_list.c: Likewise.
29094         * lib/gl_carray_list.h: Likewise.
29095         * lib/gl_linked_list.c: Likewise.
29096         * lib/gl_linked_list.h: Likewise.
29097         * lib/gl_linkedhash_list.c: Likewise.
29098         * lib/gl_linkedhash_list.h: Likewise.
29099         * lib/gl_list.c: Likewise.
29100         * lib/gl_list.h: Likewise.
29101         * lib/gl_oset.c: Likewise.
29102         * lib/gl_oset.h: Likewise.
29103         * lib/gl_rbtree_list.c: Likewise.
29104         * lib/gl_rbtree_list.h: Likewise.
29105         * lib/gl_rbtree_oset.c: Likewise.
29106         * lib/gl_rbtree_oset.h: Likewise.
29107         * lib/gl_rbtreehash_list.c: Likewise.
29108         * lib/gl_rbtreehash_list.h: Likewise.
29109         * lib/gl_sublist.c: Likewise.
29110         * lib/gl_sublist.h: Likewise.
29111         * lib/group-member.c: Likewise.
29112         * lib/group-member.h: Likewise.
29113         * lib/hard-locale.c: Likewise.
29114         * lib/hard-locale.h: Likewise.
29115         * lib/hash-pjw.c: Likewise.
29116         * lib/hash-pjw.h: Likewise.
29117         * lib/hash-triple.c: Likewise.
29118         * lib/hash.c: Likewise.
29119         * lib/hash.h: Likewise.
29120         * lib/human.c: Likewise.
29121         * lib/human.h: Likewise.
29122         * lib/i-ring.c: Likewise.
29123         * lib/i-ring.h: Likewise.
29124         * lib/idcache.c: Likewise.
29125         * lib/imaxabs.c: Likewise.
29126         * lib/imaxdiv.c: Likewise.
29127         * lib/inet_pton.c: Likewise.
29128         * lib/inet_pton.h: Likewise.
29129         * lib/intprops.h: Likewise.
29130         * lib/inttostr.c: Likewise.
29131         * lib/inttostr.h: Likewise.
29132         * lib/inttypes.in.h: Likewise.
29133         * lib/isapipe.c: Likewise.
29134         * lib/isdir.c: Likewise.
29135         * lib/isnan.c: Likewise.
29136         * lib/isnan.h: Likewise.
29137         * lib/isnanf.c: Likewise.
29138         * lib/isnanf.h: Likewise.
29139         * lib/isnanl-nolibm.h: Likewise.
29140         * lib/isnanl.c: Likewise.
29141         * lib/isnanl.h: Likewise.
29142         * lib/javacomp.c: Likewise.
29143         * lib/javacomp.h: Likewise.
29144         * lib/javaexec.c: Likewise.
29145         * lib/javaexec.h: Likewise.
29146         * lib/javaversion.c: Likewise.
29147         * lib/javaversion.h: Likewise.
29148         * lib/javaversion.java: Likewise.
29149         * lib/lbrkprop.h: Likewise.
29150         * lib/lchmod.h: Likewise.
29151         * lib/lchown.c: Likewise.
29152         * lib/ldexpl.c: Likewise.
29153         * lib/linebreak.c: Likewise.
29154         * lib/linebreak.h: Likewise.
29155         * lib/linebuffer.c: Likewise.
29156         * lib/linebuffer.h: Likewise.
29157         * lib/locale.in.h: Likewise.
29158         * lib/logl.c: Likewise.
29159         * lib/long-options.c: Likewise.
29160         * lib/long-options.h: Likewise.
29161         * lib/lstat.c: Likewise.
29162         * lib/lstat.h: Likewise.
29163         * lib/math.in.h: Likewise.
29164         * lib/mbchar.c: Likewise.
29165         * lib/mbchar.h: Likewise.
29166         * lib/mbfile.h: Likewise.
29167         * lib/mbiter.h: Likewise.
29168         * lib/mbscasecmp.c: Likewise.
29169         * lib/mbscasestr.c: Likewise.
29170         * lib/mbschr.c: Likewise.
29171         * lib/mbscspn.c: Likewise.
29172         * lib/mbslen.c: Likewise.
29173         * lib/mbsncasecmp.c: Likewise.
29174         * lib/mbsnlen.c: Likewise.
29175         * lib/mbspbrk.c: Likewise.
29176         * lib/mbspcasecmp.c: Likewise.
29177         * lib/mbsrchr.c: Likewise.
29178         * lib/mbssep.c: Likewise.
29179         * lib/mbsspn.c: Likewise.
29180         * lib/mbsstr.c: Likewise.
29181         * lib/mbstok_r.c: Likewise.
29182         * lib/mbswidth.c: Likewise.
29183         * lib/mbswidth.h: Likewise.
29184         * lib/mbuiter.h: Likewise.
29185         * lib/memcasecmp.c: Likewise.
29186         * lib/memcasecmp.h: Likewise.
29187         * lib/memchr.c: Likewise.
29188         * lib/memcmp.c: Likewise.
29189         * lib/memcoll.c: Likewise.
29190         * lib/memcoll.h: Likewise.
29191         * lib/memcpy.c: Likewise.
29192         * lib/memrchr.c: Likewise.
29193         * lib/mkancesdirs.c: Likewise.
29194         * lib/mkdir-p.c: Likewise.
29195         * lib/mkdir-p.h: Likewise.
29196         * lib/mkdir.c: Likewise.
29197         * lib/mkdirat.c: Likewise.
29198         * lib/mkdtemp.c: Likewise.
29199         * lib/mkstemp-safer.c: Likewise.
29200         * lib/mkstemp.c: Likewise.
29201         * lib/modechange.c: Likewise.
29202         * lib/modechange.h: Likewise.
29203         * lib/mountlist.c: Likewise.
29204         * lib/mountlist.h: Likewise.
29205         * lib/mpsort.c: Likewise.
29206         * lib/nanosleep.c: Likewise.
29207         * lib/obstack.c: Likewise.
29208         * lib/obstack.h: Likewise.
29209         * lib/open-safer.c: Likewise.
29210         * lib/open.c: Likewise.
29211         * lib/openat-die.c: Likewise.
29212         * lib/openat-priv.h: Likewise.
29213         * lib/openat-proc.c: Likewise.
29214         * lib/openat.c: Likewise.
29215         * lib/openat.h: Likewise.
29216         * lib/pagealign_alloc.c: Likewise.
29217         * lib/pagealign_alloc.h: Likewise.
29218         * lib/physmem.c: Likewise.
29219         * lib/physmem.h: Likewise.
29220         * lib/pipe-safer.c: Likewise.
29221         * lib/pipe.c: Likewise.
29222         * lib/pipe.h: Likewise.
29223         * lib/posixtm.c: Likewise.
29224         * lib/posixtm.h: Likewise.
29225         * lib/posixver.c: Likewise.
29226         * lib/printf-frexp.c: Likewise.
29227         * lib/printf-frexp.h: Likewise.
29228         * lib/printf-frexpl.c: Likewise.
29229         * lib/printf-frexpl.h: Likewise.
29230         * lib/printf.c: Likewise.
29231         * lib/progname.c: Likewise.
29232         * lib/progname.h: Likewise.
29233         * lib/progreloc.c: Likewise.
29234         * lib/putenv.c: Likewise.
29235         * lib/quote.c: Likewise.
29236         * lib/quote.h: Likewise.
29237         * lib/quotearg.c: Likewise.
29238         * lib/quotearg.h: Likewise.
29239         * lib/raise.c: Likewise.
29240         * lib/readline.c: Likewise.
29241         * lib/readline.h: Likewise.
29242         * lib/readlink.c: Likewise.
29243         * lib/readtokens.c: Likewise.
29244         * lib/readtokens.h: Likewise.
29245         * lib/readtokens0.c: Likewise.
29246         * lib/readtokens0.h: Likewise.
29247         * lib/readutmp.c: Likewise.
29248         * lib/readutmp.h: Likewise.
29249         * lib/realloc.c: Likewise.
29250         * lib/relocwrapper.c: Likewise.
29251         * lib/rename-dest-slash.c: Likewise.
29252         * lib/rename.c: Likewise.
29253         * lib/rmdir.c: Likewise.
29254         * lib/rpmatch.c: Likewise.
29255         * lib/safe-read.c: Likewise.
29256         * lib/safe-read.h: Likewise.
29257         * lib/safe-write.c: Likewise.
29258         * lib/safe-write.h: Likewise.
29259         * lib/same-inode.h: Likewise.
29260         * lib/same.c: Likewise.
29261         * lib/same.h: Likewise.
29262         * lib/save-cwd.c: Likewise.
29263         * lib/save-cwd.h: Likewise.
29264         * lib/savedir.c: Likewise.
29265         * lib/savedir.h: Likewise.
29266         * lib/savewd.c: Likewise.
29267         * lib/savewd.h: Likewise.
29268         * lib/search.in.h: Likewise.
29269         * lib/setenv.c: Likewise.
29270         * lib/setenv.h: Likewise.
29271         * lib/settime.c: Likewise.
29272         * lib/sh-quote.c: Likewise.
29273         * lib/sh-quote.h: Likewise.
29274         * lib/sig2str.c: Likewise.
29275         * lib/sig2str.h: Likewise.
29276         * lib/signal.in.h: Likewise.
29277         * lib/signbitd.c: Likewise.
29278         * lib/signbitf.c: Likewise.
29279         * lib/signbitl.c: Likewise.
29280         * lib/sigprocmask.c: Likewise.
29281         * lib/sincosl.c: Likewise.
29282         * lib/sleep.c: Likewise.
29283         * lib/sprintf.c: Likewise.
29284         * lib/sqrtl.c: Likewise.
29285         * lib/stat-time.h: Likewise.
29286         * lib/stdio--.h: Likewise.
29287         * lib/stdio-safer.h: Likewise.
29288         * lib/stdlib--.h: Likewise.
29289         * lib/stdlib-safer.h: Likewise.
29290         * lib/stdlib.in.h: Likewise.
29291         * lib/stpcpy.c: Likewise.
29292         * lib/stpncpy.c: Likewise.
29293         * lib/strchrnul.c: Likewise.
29294         * lib/strcspn.c: Likewise.
29295         * lib/strerror.c: Likewise.
29296         * lib/strftime.c: Likewise.
29297         * lib/strftime.h: Likewise.
29298         * lib/striconveh.c: Likewise.
29299         * lib/striconveh.h: Likewise.
29300         * lib/striconveha.c: Likewise.
29301         * lib/striconveha.h: Likewise.
29302         * lib/stripslash.c: Likewise.
29303         * lib/strnlen1.c: Likewise.
29304         * lib/strnlen1.h: Likewise.
29305         * lib/strtod.c: Likewise.
29306         * lib/strtoimax.c: Likewise.
29307         * lib/strtok_r.c: Likewise.
29308         * lib/strtol.c: Likewise.
29309         * lib/strtoll.c: Likewise.
29310         * lib/strtoul.c: Likewise.
29311         * lib/strtoull.c: Likewise.
29312         * lib/sysexits.in.h: Likewise.
29313         * lib/tempname.c: Likewise.
29314         * lib/tempname.h: Likewise.
29315         * lib/timespec.h: Likewise.
29316         * lib/tls.c: Likewise.
29317         * lib/tls.h: Likewise.
29318         * lib/tmpdir.c: Likewise.
29319         * lib/tmpdir.h: Likewise.
29320         * lib/tmpfile-safer.c: Likewise.
29321         * lib/tmpfile.c: Likewise.
29322         * lib/trigl.c: Likewise.
29323         * lib/trigl.h: Likewise.
29324         * lib/trim.c: Likewise.
29325         * lib/trim.h: Likewise.
29326         * lib/trunc.c: Likewise.
29327         * lib/truncf.c: Likewise.
29328         * lib/truncl.c: Likewise.
29329         * lib/tsearch.c: Likewise.
29330         * lib/unicodeio.c: Likewise.
29331         * lib/unicodeio.h: Likewise.
29332         * lib/unistd--.h: Likewise.
29333         * lib/unistd-safer.h: Likewise.
29334         * lib/unistdio/ulc-fprintf.c: Likewise.
29335         * lib/unistdio/ulc-vfprintf.c: Likewise.
29336         * lib/unlinkdir.c: Likewise.
29337         * lib/unlinkdir.h: Likewise.
29338         * lib/unlocked-io.h: Likewise.
29339         * lib/unsetenv.c: Likewise.
29340         * lib/userspec.c: Likewise.
29341         * lib/utime.c: Likewise.
29342         * lib/utimecmp.c: Likewise.
29343         * lib/utimecmp.h: Likewise.
29344         * lib/utimens.c: Likewise.
29345         * lib/verify.h: Likewise.
29346         * lib/verror.c: Likewise.
29347         * lib/verror.h: Likewise.
29348         * lib/version-etc-fsf.c: Likewise.
29349         * lib/version-etc.c: Likewise.
29350         * lib/version-etc.h: Likewise.
29351         * lib/vfprintf.c: Likewise.
29352         * lib/vprintf.c: Likewise.
29353         * lib/vsprintf.c: Likewise.
29354         * lib/w32spawn.h: Likewise.
29355         * lib/wait-process.c: Likewise.
29356         * lib/wait-process.h: Likewise.
29357         * lib/wcwidth.c: Likewise.
29358         * lib/write-any-file.c: Likewise.
29359         * lib/xalloc-die.c: Likewise.
29360         * lib/xalloc.h: Likewise.
29361         * lib/xasprintf.c: Likewise.
29362         * lib/xgetcwd.c: Likewise.
29363         * lib/xgetcwd.h: Likewise.
29364         * lib/xgetdomainname.c: Likewise.
29365         * lib/xgetdomainname.h: Likewise.
29366         * lib/xgethostname.c: Likewise.
29367         * lib/xmalloc.c: Likewise.
29368         * lib/xmalloca.c: Likewise.
29369         * lib/xmalloca.h: Likewise.
29370         * lib/xmemcoll.c: Likewise.
29371         * lib/xnanosleep.c: Likewise.
29372         * lib/xreadlink.c: Likewise.
29373         * lib/xreadlink.h: Likewise.
29374         * lib/xsetenv.c: Likewise.
29375         * lib/xsetenv.h: Likewise.
29376         * lib/xstriconv.c: Likewise.
29377         * lib/xstriconv.h: Likewise.
29378         * lib/xstrndup.c: Likewise.
29379         * lib/xstrndup.h: Likewise.
29380         * lib/xstrtod.c: Likewise.
29381         * lib/xstrtod.h: Likewise.
29382         * lib/xstrtol-error.c: Likewise.
29383         * lib/xstrtol.c: Likewise.
29384         * lib/xstrtol.h: Likewise.
29385         * lib/xtime.h: Likewise.
29386         * lib/xvasprintf.c: Likewise.
29387         * lib/xvasprintf.h: Likewise.
29388         * lib/yesno.c: Likewise.
29389         * lib/yesno.h: Likewise.
29390         * posix-modules: Likewise.
29391         * tests/test-alloca-opt.c: Likewise.
29392         * tests/test-arcfour.c: Likewise.
29393         * tests/test-arctwo.c: Likewise.
29394         * tests/test-argmatch.c: Likewise.
29395         * tests/test-argp-2.sh: Likewise.
29396         * tests/test-argp.c: Likewise.
29397         * tests/test-arpa_inet.c: Likewise.
29398         * tests/test-array_list.c: Likewise.
29399         * tests/test-array_oset.c: Likewise.
29400         * tests/test-atexit.c: Likewise.
29401         * tests/test-avltree_list.c: Likewise.
29402         * tests/test-avltree_oset.c: Likewise.
29403         * tests/test-avltreehash_list.c: Likewise.
29404         * tests/test-base64.c: Likewise.
29405         * tests/test-binary-io.c: Likewise.
29406         * tests/test-byteswap.c: Likewise.
29407         * tests/test-c-ctype.c: Likewise.
29408         * tests/test-c-strcasecmp.c: Likewise.
29409         * tests/test-c-strcasestr.c: Likewise.
29410         * tests/test-c-strncasecmp.c: Likewise.
29411         * tests/test-c-strstr.c: Likewise.
29412         * tests/test-canonicalize-lgpl.c: Likewise.
29413         * tests/test-canonicalize.c: Likewise.
29414         * tests/test-carray_list.c: Likewise.
29415         * tests/test-ceilf.c: Likewise.
29416         * tests/test-ceill.c: Likewise.
29417         * tests/test-count-one-bits.c: Likewise.
29418         * tests/test-crc.c: Likewise.
29419         * tests/test-dirname.c: Likewise.
29420         * tests/test-fbufmode.c: Likewise.
29421         * tests/test-fcntl.c: Likewise.
29422         * tests/test-fflush.c: Likewise.
29423         * tests/test-floorf.c: Likewise.
29424         * tests/test-floorl.c: Likewise.
29425         * tests/test-fopen.c: Likewise.
29426         * tests/test-fprintf-posix.c: Likewise.
29427         * tests/test-fprintf-posix.h: Likewise.
29428         * tests/test-fpurge.c: Likewise.
29429         * tests/test-freadable.c: Likewise.
29430         * tests/test-freadahead.c: Likewise.
29431         * tests/test-freading.c: Likewise.
29432         * tests/test-freopen.c: Likewise.
29433         * tests/test-frexp.c: Likewise.
29434         * tests/test-frexpl.c: Likewise.
29435         * tests/test-fseek.c: Likewise.
29436         * tests/test-fseeko.c: Likewise.
29437         * tests/test-fseterr.c: Likewise.
29438         * tests/test-fstrcmp.c: Likewise.
29439         * tests/test-ftell.c: Likewise.
29440         * tests/test-ftello.c: Likewise.
29441         * tests/test-fwritable.c: Likewise.
29442         * tests/test-fwriting.c: Likewise.
29443         * tests/test-getaddrinfo.c: Likewise.
29444         * tests/test-getpass.c: Likewise.
29445         * tests/test-gettimeofday.c: Likewise.
29446         * tests/test-hmac-md5.c: Likewise.
29447         * tests/test-hmac-sha1.c: Likewise.
29448         * tests/test-iconv.c: Likewise.
29449         * tests/test-iconvme.c: Likewise.
29450         * tests/test-inttypes.c: Likewise.
29451         * tests/test-isnan.c: Likewise.
29452         * tests/test-isnanf.c: Likewise.
29453         * tests/test-isnanl-nolibm.c: Likewise.
29454         * tests/test-isnanl.c: Likewise.
29455         * tests/test-isnanl.h: Likewise.
29456         * tests/test-ldexpl.c: Likewise.
29457         * tests/test-linked_list.c: Likewise.
29458         * tests/test-linkedhash_list.c: Likewise.
29459         * tests/test-locale.c: Likewise.
29460         * tests/test-localename.c: Likewise.
29461         * tests/test-lock.c: Likewise.
29462         * tests/test-lseek.c: Likewise.
29463         * tests/test-malloca.c: Likewise.
29464         * tests/test-math.c: Likewise.
29465         * tests/test-mbscasecmp.c: Likewise.
29466         * tests/test-mbscasestr1.c: Likewise.
29467         * tests/test-mbscasestr2.c: Likewise.
29468         * tests/test-mbscasestr3.c: Likewise.
29469         * tests/test-mbscasestr4.c: Likewise.
29470         * tests/test-mbschr.c: Likewise.
29471         * tests/test-mbscspn.c: Likewise.
29472         * tests/test-mbsncasecmp.c: Likewise.
29473         * tests/test-mbspbrk.c: Likewise.
29474         * tests/test-mbspcasecmp.c: Likewise.
29475         * tests/test-mbsrchr.c: Likewise.
29476         * tests/test-mbsspn.c: Likewise.
29477         * tests/test-mbsstr1.c: Likewise.
29478         * tests/test-mbsstr2.c: Likewise.
29479         * tests/test-mbsstr3.c: Likewise.
29480         * tests/test-md5.c: Likewise.
29481         * tests/test-memmem.c: Likewise.
29482         * tests/test-netinet_in.c: Likewise.
29483         * tests/test-open.c: Likewise.
29484         * tests/test-printf-frexp.c: Likewise.
29485         * tests/test-printf-frexpl.c: Likewise.
29486         * tests/test-printf-posix.c: Likewise.
29487         * tests/test-printf-posix.h: Likewise.
29488         * tests/test-rbtree_list.c: Likewise.
29489         * tests/test-rbtree_oset.c: Likewise.
29490         * tests/test-rbtreehash_list.c: Likewise.
29491         * tests/test-read-file.c: Likewise.
29492         * tests/test-rijndael.c: Likewise.
29493         * tests/test-search.c: Likewise.
29494         * tests/test-signbit.c: Likewise.
29495         * tests/test-sleep.c: Likewise.
29496         * tests/test-snprintf-posix.c: Likewise.
29497         * tests/test-snprintf-posix.h: Likewise.
29498         * tests/test-snprintf.c: Likewise.
29499         * tests/test-sprintf-posix.c: Likewise.
29500         * tests/test-sprintf-posix.h: Likewise.
29501         * tests/test-stat-time.c: Likewise.
29502         * tests/test-stdbool.c: Likewise.
29503         * tests/test-stdint.c: Likewise.
29504         * tests/test-stdio.c: Likewise.
29505         * tests/test-stdlib.c: Likewise.
29506         * tests/test-stpncpy.c: Likewise.
29507         * tests/test-strcasestr.c: Likewise.
29508         * tests/test-striconv.c: Likewise.
29509         * tests/test-striconveh.c: Likewise.
29510         * tests/test-striconveha.c: Likewise.
29511         * tests/test-string.c: Likewise.
29512         * tests/test-sys_select.c: Likewise.
29513         * tests/test-sys_socket.c: Likewise.
29514         * tests/test-sys_stat.c: Likewise.
29515         * tests/test-sys_time.c: Likewise.
29516         * tests/test-sysexits.c: Likewise.
29517         * tests/test-time.c: Likewise.
29518         * tests/test-tls.c: Likewise.
29519         * tests/test-trunc.c: Likewise.
29520         * tests/test-truncf.c: Likewise.
29521         * tests/test-truncl.c: Likewise.
29522         * tests/test-unistd.c: Likewise.
29523         * tests/test-vasnprintf-posix.c: Likewise.
29524         * tests/test-vasnprintf-posix2.c: Likewise.
29525         * tests/test-vasnprintf.c: Likewise.
29526         * tests/test-vasprintf-posix.c: Likewise.
29527         * tests/test-vasprintf.c: Likewise.
29528         * tests/test-verify.c: Likewise.
29529         * tests/test-vfprintf-posix.c: Likewise.
29530         * tests/test-vprintf-posix.c: Likewise.
29531         * tests/test-vsnprintf-posix.c: Likewise.
29532         * tests/test-vsnprintf.c: Likewise.
29533         * tests/test-vsprintf-posix.c: Likewise.
29534         * tests/test-wchar.c: Likewise.
29535         * tests/test-wctype.c: Likewise.
29536         * tests/test-wcwidth.c: Likewise.
29537         * tests/test-xstrtol.c: Likewise.
29538         * tests/test-xvasprintf.c: Likewise.
29539         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
29540         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
29541         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29542         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29543         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29544         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
29545         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29546         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29547         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29548         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
29549         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29550         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29551         * tests/uniname/test-uninames.c: Likewise.
29552         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
29553         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
29554         * tests/unistdio/test-u16-printf1.h: Likewise.
29555         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
29556         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
29557         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
29558         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
29559         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
29560         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
29561         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
29562         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
29563         * tests/unistdio/test-u32-printf1.h: Likewise.
29564         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
29565         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
29566         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
29567         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
29568         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
29569         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
29570         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
29571         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
29572         * tests/unistdio/test-u8-printf1.h: Likewise.
29573         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
29574         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
29575         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
29576         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
29577         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
29578         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
29579         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
29580         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
29581         * tests/unistdio/test-ulc-printf1.h: Likewise.
29582         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
29583         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
29584         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
29585         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
29586         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
29587         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
29588         * tests/uniwidth/test-u16-strwidth.c: Likewise.
29589         * tests/uniwidth/test-u16-width.c: Likewise.
29590         * tests/uniwidth/test-u32-strwidth.c: Likewise.
29591         * tests/uniwidth/test-u32-width.c: Likewise.
29592         * tests/uniwidth/test-u8-strwidth.c: Likewise.
29593         * tests/uniwidth/test-u8-width.c: Likewise.
29594         * tests/uniwidth/test-uc_width.c: Likewise.
29595         * config/srclist-update: Likewise.
29596         (fixlicense): Update to GPLv3+.
29597
29598         Change copyright notice from LGPLv2.1+ to LGPLv3+.
29599         * tests/test-tsearch.c: Change copyright notice.
29600
29601         Change copyright notice from LGPLv2.0+ to LGPLv3+.
29602         * lib/c-strcaseeq.h: Change copyright notice.
29603         * lib/streq.h: Likewise.
29604         * lib/uniconv.h: Likewise.
29605         * lib/uniconv/u-conv-from-enc.h: Likewise.
29606         * lib/uniconv/u-conv-to-enc.h: Likewise.
29607         * lib/uniconv/u-strconv-from-enc.h: Likewise.
29608         * lib/uniconv/u-strconv-to-enc.h: Likewise.
29609         * lib/uniconv/u16-conv-from-enc.c: Likewise.
29610         * lib/uniconv/u16-conv-to-enc.c: Likewise.
29611         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
29612         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
29613         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
29614         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
29615         * lib/uniconv/u32-conv-from-enc.c: Likewise.
29616         * lib/uniconv/u32-conv-to-enc.c: Likewise.
29617         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
29618         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
29619         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
29620         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
29621         * lib/uniconv/u8-conv-from-enc.c: Likewise.
29622         * lib/uniconv/u8-conv-to-enc.c: Likewise.
29623         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
29624         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
29625         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
29626         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
29627         * lib/uniname.h: Likewise.
29628         * lib/uniname/uniname.c: Likewise.
29629         * lib/unistdio.h: Likewise.
29630         * lib/unistdio/u-asnprintf.h: Likewise.
29631         * lib/unistdio/u-asprintf.h: Likewise.
29632         * lib/unistdio/u-printf-args.c: Likewise.
29633         * lib/unistdio/u-printf-args.h: Likewise.
29634         * lib/unistdio/u-printf-parse.h: Likewise.
29635         * lib/unistdio/u-snprintf.h: Likewise.
29636         * lib/unistdio/u-sprintf.h: Likewise.
29637         * lib/unistdio/u-vasprintf.h: Likewise.
29638         * lib/unistdio/u-vsnprintf.h: Likewise.
29639         * lib/unistdio/u-vsprintf.h: Likewise.
29640         * lib/unistdio/u16-asnprintf.c: Likewise.
29641         * lib/unistdio/u16-asprintf.c: Likewise.
29642         * lib/unistdio/u16-printf-parse.c: Likewise.
29643         * lib/unistdio/u16-snprintf.c: Likewise.
29644         * lib/unistdio/u16-sprintf.c: Likewise.
29645         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
29646         * lib/unistdio/u16-u16-asprintf.c: Likewise.
29647         * lib/unistdio/u16-u16-snprintf.c: Likewise.
29648         * lib/unistdio/u16-u16-sprintf.c: Likewise.
29649         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
29650         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
29651         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
29652         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
29653         * lib/unistdio/u16-vasnprintf.c: Likewise.
29654         * lib/unistdio/u16-vasprintf.c: Likewise.
29655         * lib/unistdio/u16-vsnprintf.c: Likewise.
29656         * lib/unistdio/u16-vsprintf.c: Likewise.
29657         * lib/unistdio/u32-asnprintf.c: Likewise.
29658         * lib/unistdio/u32-asprintf.c: Likewise.
29659         * lib/unistdio/u32-printf-parse.c: Likewise.
29660         * lib/unistdio/u32-snprintf.c: Likewise.
29661         * lib/unistdio/u32-sprintf.c: Likewise.
29662         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
29663         * lib/unistdio/u32-u32-asprintf.c: Likewise.
29664         * lib/unistdio/u32-u32-snprintf.c: Likewise.
29665         * lib/unistdio/u32-u32-sprintf.c: Likewise.
29666         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
29667         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
29668         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
29669         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
29670         * lib/unistdio/u32-vasnprintf.c: Likewise.
29671         * lib/unistdio/u32-vasprintf.c: Likewise.
29672         * lib/unistdio/u32-vsnprintf.c: Likewise.
29673         * lib/unistdio/u32-vsprintf.c: Likewise.
29674         * lib/unistdio/u8-asnprintf.c: Likewise.
29675         * lib/unistdio/u8-asprintf.c: Likewise.
29676         * lib/unistdio/u8-printf-parse.c: Likewise.
29677         * lib/unistdio/u8-snprintf.c: Likewise.
29678         * lib/unistdio/u8-sprintf.c: Likewise.
29679         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
29680         * lib/unistdio/u8-u8-asprintf.c: Likewise.
29681         * lib/unistdio/u8-u8-snprintf.c: Likewise.
29682         * lib/unistdio/u8-u8-sprintf.c: Likewise.
29683         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
29684         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
29685         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
29686         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
29687         * lib/unistdio/u8-vasnprintf.c: Likewise.
29688         * lib/unistdio/u8-vasprintf.c: Likewise.
29689         * lib/unistdio/u8-vsnprintf.c: Likewise.
29690         * lib/unistdio/u8-vsprintf.c: Likewise.
29691         * lib/unistdio/ulc-asnprintf.c: Likewise.
29692         * lib/unistdio/ulc-asprintf.c: Likewise.
29693         * lib/unistdio/ulc-printf-parse.c: Likewise.
29694         * lib/unistdio/ulc-snprintf.c: Likewise.
29695         * lib/unistdio/ulc-sprintf.c: Likewise.
29696         * lib/unistdio/ulc-vasnprintf.c: Likewise.
29697         * lib/unistdio/ulc-vasprintf.c: Likewise.
29698         * lib/unistdio/ulc-vsnprintf.c: Likewise.
29699         * lib/unistdio/ulc-vsprintf.c: Likewise.
29700         * lib/unistr.h: Likewise.
29701         * lib/unistr/u-cpy-alloc.h: Likewise.
29702         * lib/unistr/u-cpy.h: Likewise.
29703         * lib/unistr/u-endswith.h: Likewise.
29704         * lib/unistr/u-move.h: Likewise.
29705         * lib/unistr/u-set.h: Likewise.
29706         * lib/unistr/u-startswith.h: Likewise.
29707         * lib/unistr/u-stpcpy.h: Likewise.
29708         * lib/unistr/u-stpncpy.h: Likewise.
29709         * lib/unistr/u-strcat.h: Likewise.
29710         * lib/unistr/u-strcpy.h: Likewise.
29711         * lib/unistr/u-strcspn.h: Likewise.
29712         * lib/unistr/u-strdup.h: Likewise.
29713         * lib/unistr/u-strlen.h: Likewise.
29714         * lib/unistr/u-strncat.h: Likewise.
29715         * lib/unistr/u-strncpy.h: Likewise.
29716         * lib/unistr/u-strnlen.h: Likewise.
29717         * lib/unistr/u-strpbrk.h: Likewise.
29718         * lib/unistr/u-strspn.h: Likewise.
29719         * lib/unistr/u-strstr.h: Likewise.
29720         * lib/unistr/u-strtok.h: Likewise.
29721         * lib/unistr/u16-check.c: Likewise.
29722         * lib/unistr/u16-chr.c: Likewise.
29723         * lib/unistr/u16-cmp.c: Likewise.
29724         * lib/unistr/u16-cpy-alloc.c: Likewise.
29725         * lib/unistr/u16-cpy.c: Likewise.
29726         * lib/unistr/u16-endswith.c: Likewise.
29727         * lib/unistr/u16-mblen.c: Likewise.
29728         * lib/unistr/u16-mbsnlen.c: Likewise.
29729         * lib/unistr/u16-mbtouc-aux.c: Likewise.
29730         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
29731         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
29732         * lib/unistr/u16-mbtouc.c: Likewise.
29733         * lib/unistr/u16-mbtoucr.c: Likewise.
29734         * lib/unistr/u16-move.c: Likewise.
29735         * lib/unistr/u16-next.c: Likewise.
29736         * lib/unistr/u16-prev.c: Likewise.
29737         * lib/unistr/u16-set.c: Likewise.
29738         * lib/unistr/u16-startswith.c: Likewise.
29739         * lib/unistr/u16-stpcpy.c: Likewise.
29740         * lib/unistr/u16-stpncpy.c: Likewise.
29741         * lib/unistr/u16-strcat.c: Likewise.
29742         * lib/unistr/u16-strchr.c: Likewise.
29743         * lib/unistr/u16-strcmp.c: Likewise.
29744         * lib/unistr/u16-strcpy.c: Likewise.
29745         * lib/unistr/u16-strcspn.c: Likewise.
29746         * lib/unistr/u16-strdup.c: Likewise.
29747         * lib/unistr/u16-strlen.c: Likewise.
29748         * lib/unistr/u16-strmblen.c: Likewise.
29749         * lib/unistr/u16-strmbtouc.c: Likewise.
29750         * lib/unistr/u16-strncat.c: Likewise.
29751         * lib/unistr/u16-strncmp.c: Likewise.
29752         * lib/unistr/u16-strncpy.c: Likewise.
29753         * lib/unistr/u16-strnlen.c: Likewise.
29754         * lib/unistr/u16-strpbrk.c: Likewise.
29755         * lib/unistr/u16-strrchr.c: Likewise.
29756         * lib/unistr/u16-strspn.c: Likewise.
29757         * lib/unistr/u16-strstr.c: Likewise.
29758         * lib/unistr/u16-strtok.c: Likewise.
29759         * lib/unistr/u16-to-u32.c: Likewise.
29760         * lib/unistr/u16-to-u8.c: Likewise.
29761         * lib/unistr/u16-uctomb-aux.c: Likewise.
29762         * lib/unistr/u16-uctomb.c: Likewise.
29763         * lib/unistr/u32-check.c: Likewise.
29764         * lib/unistr/u32-chr.c: Likewise.
29765         * lib/unistr/u32-cmp.c: Likewise.
29766         * lib/unistr/u32-cpy-alloc.c: Likewise.
29767         * lib/unistr/u32-cpy.c: Likewise.
29768         * lib/unistr/u32-endswith.c: Likewise.
29769         * lib/unistr/u32-mblen.c: Likewise.
29770         * lib/unistr/u32-mbsnlen.c: Likewise.
29771         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
29772         * lib/unistr/u32-mbtouc.c: Likewise.
29773         * lib/unistr/u32-mbtoucr.c: Likewise.
29774         * lib/unistr/u32-move.c: Likewise.
29775         * lib/unistr/u32-next.c: Likewise.
29776         * lib/unistr/u32-prev.c: Likewise.
29777         * lib/unistr/u32-set.c: Likewise.
29778         * lib/unistr/u32-startswith.c: Likewise.
29779         * lib/unistr/u32-stpcpy.c: Likewise.
29780         * lib/unistr/u32-stpncpy.c: Likewise.
29781         * lib/unistr/u32-strcat.c: Likewise.
29782         * lib/unistr/u32-strchr.c: Likewise.
29783         * lib/unistr/u32-strcmp.c: Likewise.
29784         * lib/unistr/u32-strcpy.c: Likewise.
29785         * lib/unistr/u32-strcspn.c: Likewise.
29786         * lib/unistr/u32-strdup.c: Likewise.
29787         * lib/unistr/u32-strlen.c: Likewise.
29788         * lib/unistr/u32-strmblen.c: Likewise.
29789         * lib/unistr/u32-strmbtouc.c: Likewise.
29790         * lib/unistr/u32-strncat.c: Likewise.
29791         * lib/unistr/u32-strncmp.c: Likewise.
29792         * lib/unistr/u32-strncpy.c: Likewise.
29793         * lib/unistr/u32-strnlen.c: Likewise.
29794         * lib/unistr/u32-strpbrk.c: Likewise.
29795         * lib/unistr/u32-strrchr.c: Likewise.
29796         * lib/unistr/u32-strspn.c: Likewise.
29797         * lib/unistr/u32-strstr.c: Likewise.
29798         * lib/unistr/u32-strtok.c: Likewise.
29799         * lib/unistr/u32-to-u16.c: Likewise.
29800         * lib/unistr/u32-to-u8.c: Likewise.
29801         * lib/unistr/u32-uctomb.c: Likewise.
29802         * lib/unistr/u8-check.c: Likewise.
29803         * lib/unistr/u8-chr.c: Likewise.
29804         * lib/unistr/u8-cmp.c: Likewise.
29805         * lib/unistr/u8-cpy-alloc.c: Likewise.
29806         * lib/unistr/u8-cpy.c: Likewise.
29807         * lib/unistr/u8-endswith.c: Likewise.
29808         * lib/unistr/u8-mblen.c: Likewise.
29809         * lib/unistr/u8-mbsnlen.c: Likewise.
29810         * lib/unistr/u8-mbtouc-aux.c: Likewise.
29811         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
29812         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
29813         * lib/unistr/u8-mbtouc.c: Likewise.
29814         * lib/unistr/u8-mbtoucr.c: Likewise.
29815         * lib/unistr/u8-move.c: Likewise.
29816         * lib/unistr/u8-next.c: Likewise.
29817         * lib/unistr/u8-prev.c: Likewise.
29818         * lib/unistr/u8-set.c: Likewise.
29819         * lib/unistr/u8-startswith.c: Likewise.
29820         * lib/unistr/u8-stpcpy.c: Likewise.
29821         * lib/unistr/u8-stpncpy.c: Likewise.
29822         * lib/unistr/u8-strcat.c: Likewise.
29823         * lib/unistr/u8-strchr.c: Likewise.
29824         * lib/unistr/u8-strcmp.c: Likewise.
29825         * lib/unistr/u8-strcpy.c: Likewise.
29826         * lib/unistr/u8-strcspn.c: Likewise.
29827         * lib/unistr/u8-strdup.c: Likewise.
29828         * lib/unistr/u8-strlen.c: Likewise.
29829         * lib/unistr/u8-strmblen.c: Likewise.
29830         * lib/unistr/u8-strmbtouc.c: Likewise.
29831         * lib/unistr/u8-strncat.c: Likewise.
29832         * lib/unistr/u8-strncmp.c: Likewise.
29833         * lib/unistr/u8-strncpy.c: Likewise.
29834         * lib/unistr/u8-strnlen.c: Likewise.
29835         * lib/unistr/u8-strpbrk.c: Likewise.
29836         * lib/unistr/u8-strrchr.c: Likewise.
29837         * lib/unistr/u8-strspn.c: Likewise.
29838         * lib/unistr/u8-strstr.c: Likewise.
29839         * lib/unistr/u8-strtok.c: Likewise.
29840         * lib/unistr/u8-to-u16.c: Likewise.
29841         * lib/unistr/u8-to-u32.c: Likewise.
29842         * lib/unistr/u8-uctomb-aux.c: Likewise.
29843         * lib/unistr/u8-uctomb.c: Likewise.
29844         * lib/unitypes.h: Likewise.
29845         * lib/uniwidth.h: Likewise.
29846         * lib/uniwidth/cjk.h: Likewise.
29847         * lib/uniwidth/u16-strwidth.c: Likewise.
29848         * lib/uniwidth/u16-width.c: Likewise.
29849         * lib/uniwidth/u32-strwidth.c: Likewise.
29850         * lib/uniwidth/u32-width.c: Likewise.
29851         * lib/uniwidth/u8-strwidth.c: Likewise.
29852         * lib/uniwidth/u8-width.c: Likewise.
29853         * lib/uniwidth/width.c: Likewise.
29854
29855 2007-10-07  Bruno Haible  <bruno@clisp.org>
29856
29857         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
29858         The file is still under LGPL (see modules/inttypes).
29859
29860 2007-10-06  Bruno Haible  <bruno@clisp.org>
29861
29862         * modules/trunc (Dependencies): Add 'extensions'.
29863         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
29864         Reported by Ben Pfaff <blp@gnu.org>.
29865
29866 2007-10-06  Bruno Haible  <bruno@clisp.org>
29867
29868         * modules/freopen-tests: New file.
29869         * tests/test-freopen.c: New file.
29870
29871         * modules/fopen-tests: New file.
29872         * tests/test-fopen.c: New file.
29873
29874         * modules/fopen: New file.
29875         * lib/fopen.c: New file.
29876         * m4/fopen.m4: New file.
29877         * modules/freopen: New file.
29878         * lib/freopen.c: New file.
29879         * m4/freopen.m4: New file.
29880         * lib/stdio.in.h (fopen, freopen): New declarations.
29881         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
29882         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
29883         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
29884         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
29885         * doc/functions/fopen.texi: Mention the 'fopen' module.
29886         * doc/functions/freopen.texi: Mention the 'freopen' module.
29887
29888 2007-10-06  Bruno Haible  <bruno@clisp.org>
29889
29890         * modules/open-tests: New file.
29891         * tests/test-open.c: New file.
29892
29893         * modules/open: New file.
29894         * lib/open.c: New file.
29895         * m4/open.m4: New file.
29896         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
29897         lib/open.c does.
29898         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
29899         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
29900         macros.
29901         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
29902         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
29903         REPLACE_OPEN.
29904         * doc/functions/open.texi: Mention the 'open' module.
29905
29906 2007-10-04  Bruno Haible  <bruno@clisp.org>
29907
29908         * modules/ceill-tests: New file.
29909         * tests/test-ceill.c: New file.
29910
29911         * modules/ceill: New file.
29912         * lib/ceill.c: Replace entire file.
29913         * m4/ceill.m4: New file.
29914         * lib/math.in.h (ceill): Replace declaration.
29915         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
29916         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
29917         * doc/functions/ceill.texi: Mention the 'ceill' module.
29918         * modules/mathl (Files): Remove lib/ceill.c.
29919         (Depends-on): Add ceill.
29920
29921 2007-10-04  Bruno Haible  <bruno@clisp.org>
29922
29923         * modules/ceilf-tests: New file.
29924         * tests/test-ceilf.c: New file.
29925
29926         * modules/ceilf: New file.
29927         * lib/ceil.c: New file.
29928         * lib/ceilf.c: New file.
29929         * m4/ceilf.m4: New file.
29930         * lib/math.in.h (ceilf): New declaration.
29931         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
29932         HAVE_DECL_CEILF.
29933         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
29934         HAVE_DECL_CEILF.
29935         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
29936
29937 2007-10-04  Bruno Haible  <bruno@clisp.org>
29938
29939         * modules/floorl-tests: New file.
29940         * tests/test-floorl.c: New file.
29941
29942         * modules/floorl: New file.
29943         * lib/floorl.c: Replace entire file.
29944         * m4/floorl.m4: New file.
29945         * lib/math.in.h (floorl): Replace declaration.
29946         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
29947         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
29948         * doc/functions/floorl.texi: Mention the 'floorl' module.
29949         * modules/mathl (Files): Remove lib/floorl.c.
29950         (Depends-on): Add floorl.
29951
29952 2007-10-04  Bruno Haible  <bruno@clisp.org>
29953
29954         * modules/floorf-tests: New file.
29955         * tests/test-floorf.c: New file.
29956
29957         * modules/floorf: New file.
29958         * lib/floor.c: New file.
29959         * lib/floorf.c: New file.
29960         * m4/floorf.m4: New file.
29961         * lib/math.in.h (floorf): New declaration.
29962         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
29963         HAVE_DECL_FLOORF.
29964         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
29965         HAVE_DECL_FLOORF.
29966         * doc/functions/floorf.texi: Mention the 'floorf' module.
29967
29968 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
29969             Bruno Haible  <bruno@clisp.org>
29970
29971         Advertise for the Git server instead of the CVS server.
29972         * doc/gnulib-intro.texi (Steady Development): Mention the Git
29973         repository instead of the CVS one.
29974         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
29975         about all VCS systems generically.
29976         * doc/gnulib.texi (Introduction): Capitalize `Git'.
29977
29978 2007-10-04  Bruno Haible  <bruno@clisp.org>
29979
29980         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
29981         means.
29982         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
29983
29984 2007-10-04  Bruno Haible  <bruno@clisp.org>
29985
29986         * modules/truncl-tests: New file.
29987         * tests/test-truncl.c: New file.
29988
29989         * modules/truncl: New file.
29990         * lib/truncl.c: New file.
29991         * m4/truncl.m4: New file.
29992         * lib/math.in.h (truncl): New declaration.
29993         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
29994         HAVE_DECL_TRUNCL.
29995         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
29996         HAVE_DECL_TRUNCL.
29997         * doc/functions/truncl.texi: Mention the 'truncl' module.
29998
29999 2007-10-04  Bruno Haible  <bruno@clisp.org>
30000
30001         * modules/truncf-tests: New file.
30002         * tests/test-truncf.c: New file.
30003
30004         * modules/truncf: New file.
30005         * lib/trunc.c: Make paramerizable through USE_* macros.
30006         * lib/truncf.c: New file.
30007         * m4/truncf.m4: New file.
30008         * lib/math.in.h (truncf): New declaration.
30009         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
30010         HAVE_DECL_TRUNCF.
30011         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
30012         HAVE_DECL_TRUNCF.
30013         * doc/functions/truncf.texi: Mention the 'truncf' module.
30014
30015 2007-10-03  Bruno Haible  <bruno@clisp.org>
30016
30017         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
30018         augmentation also for tests modules.
30019         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
30020         * modules/atexit-tests (Makefile.am): Likewise.
30021         * modules/binary-io-tests (Makefile.am): Likewise.
30022         * modules/c-strcase-tests (Makefile.am): Likewise.
30023         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
30024         * modules/canonicalize-tests (Makefile.am): Likewise.
30025         * modules/closein-tests (Makefile.am): Likewise.
30026         * modules/fprintf-posix-tests (Makefile.am): Likewise.
30027         * modules/freadahead-tests (Makefile.am): Likewise.
30028         * modules/fseek-tests (Makefile.am): Likewise.
30029         * modules/fseeko-tests (Makefile.am): Likewise.
30030         * modules/ftell-tests (Makefile.am): Likewise.
30031         * modules/ftello-tests (Makefile.am): Likewise.
30032         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
30033         * modules/isnanl-tests (Makefile.am): Likewise.
30034         * modules/lseek-tests (Makefile.am): Likewise.
30035         * modules/mbscasecmp-tests (Makefile.am): Likewise.
30036         * modules/mbscasestr-tests (Makefile.am): Likewise.
30037         * modules/mbschr-tests (Makefile.am): Likewise.
30038         * modules/mbscspn-tests (Makefile.am): Likewise.
30039         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
30040         * modules/mbspbrk-tests (Makefile.am): Likewise.
30041         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
30042         * modules/mbsrchr-tests (Makefile.am): Likewise.
30043         * modules/mbsspn-tests (Makefile.am): Likewise.
30044         * modules/mbsstr-tests (Makefile.am): Likewise.
30045         * modules/printf-posix-tests (Makefile.am): Likewise.
30046         * modules/snprintf-posix-tests (Makefile.am): Likewise.
30047         * modules/sprintf-posix-tests (Makefile.am): Likewise.
30048         * modules/tsearch-tests (Makefile.am): Likewise.
30049         * modules/uniname/uniname-tests (Makefile.am): Likewise.
30050         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
30051         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
30052         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
30053         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
30054         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
30055         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
30056         * modules/vprintf-posix-tests (Makefile.am): Likewise.
30057         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
30058         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
30059         * modules/xstrtoimax-tests (Makefile.am): Likewise.
30060         * modules/xstrtol-tests (Makefile.am): Likewise.
30061         * modules/xstrtoumax-tests (Makefile.am): Likewise.
30062         * modules/yesno-tests (Makefile.am): Likewise.
30063
30064 2007-10-03  Bruno Haible  <bruno@clisp.org>
30065
30066         * modules/trunc-tests: New file.
30067         * tests/test-trunc.c: New file.
30068
30069         * modules/trunc: New file.
30070         * lib/trunc.c: New file.
30071         * m4/trunc.m4: New file.
30072         * lib/math.in.h (trunc): New declaration.
30073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
30074         HAVE_DECL_TRUNC.
30075         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
30076         HAVE_DECL_TRUNC.
30077         * doc/functions/trunc.texi: Mention the 'trunc' module.
30078
30079 2007-10-03  Bruno Haible  <bruno@clisp.org>
30080
30081         * tests/test-fpending.c: New file, mostly copied
30082         from coreutils/lib/t-fpending.c.
30083         * modules/fpending-tests: New file.
30084
30085 2007-10-03  Bruno Haible  <bruno@clisp.org>
30086
30087         Port the stdio extensions to QNX (untested).
30088         * lib/fseterr.c (fseterr): Add support for QNX.
30089         * lib/fbufmode.c (fbufmode): Likewise.
30090         * lib/freadable.c (freadable): Likewise.
30091         * lib/fwritable.c (fwritable): Likewise.
30092         * lib/freading.c (freading): Likewise.
30093         * lib/fwriting.c (fwriting): Likewise.
30094         * lib/freadahead.c (freadahed): Likewise.
30095         * lib/fpurge.c (fpurge): Likewise.
30096         * lib/fseeko.c (rpl_fseeko): Likewise.
30097
30098 2007-10-03  Bruno Haible  <bruno@clisp.org>
30099             Jim Meyering  <jim@meyering.net>
30100             Eric Blake  <ebb9@byu.net>
30101
30102         * doc/relocatable.texi: Use @command instead of @program.
30103
30104 2007-10-02  Jim Meyering  <jim@meyering.net>
30105
30106         Perform one more "_.h" -> ".in.h" substitution.
30107         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
30108         instead of unistd_.h here, too.
30109
30110 2007-10-01  Bruno Haible  <bruno@clisp.org>
30111
30112         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
30113         Needed for the alloca-opt module.
30114
30115 2007-09-30  Bruno Haible  <bruno@clisp.org>
30116
30117         * lib/alloca.in.h: Renamed from lib/alloca_.h.
30118         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
30119         alloca_.h.
30120         * lib/argz.in.h: Renamed from lib/argz_.h.
30121         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
30122         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
30123         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
30124         byteswap_.h.
30125         * lib/dirent.in.h: Renamed from lib/dirent_.h.
30126         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
30127         dirent_.h.
30128         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
30129         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
30130         fcntl_.h.
30131         * lib/float.in.h: Renamed from lib/float_.h.
30132         * modules/float (Files, Makefile.am): Use float.in.h instead of
30133         float_.h.
30134         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
30135         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
30136         fnmatch_.h.
30137         * lib/getopt.in.h: Renamed from lib/getopt_.h.
30138         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
30139         getopt_.h.
30140         * lib/glob.in.h: Renamed from lib/glob_.h.
30141         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
30142         * lib/iconv.in.h: Renamed from lib/iconv_.h.
30143         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
30144         iconv_.h.
30145         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
30146         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
30147         inttypes_.h.
30148         * lib/locale.in.h: Renamed from lib/locale_.h.
30149         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
30150         locale_.h.
30151         * lib/math.in.h: Renamed from lib/math_.h.
30152         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
30153         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
30154         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
30155         of netinet_in_.h. Add dependency.
30156         * lib/poll.in.h: Renamed from lib/poll_.h.
30157         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
30158         * lib/search.in.h: Renamed from lib/search_.h.
30159         * modules/search (Files, Makefile.am): Use search.in.h instead of
30160         search_.h.
30161         * lib/signal.in.h: Renamed from lib/signal_.h.
30162         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
30163         _signal.h.
30164         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
30165         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
30166         stdbool_.h.
30167         * lib/stdint.in.h: Renamed from lib/stdint_.h.
30168         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
30169         stdint_.h.
30170         * lib/stdio.in.h: Renamed from lib/stdio_.h.
30171         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
30172         stdio_.h.
30173         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
30174         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
30175         stdlib_.h.
30176         * lib/string.in.h: Renamed from lib/string_.h.
30177         * modules/string (Files, Makefile.am): Use string.in.h instead of
30178         string_.h.
30179         * doc/gnulib-tool.texi (Initial import): Update.
30180         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
30181         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
30182         of sys_select_.h. Add dependency.
30183         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
30184         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
30185         of sys_socket_.h.
30186         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
30187         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
30188         sys_stat_.h.
30189         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
30190         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
30191         sys_time_.h.
30192         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
30193         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
30194         sysexits_.h.
30195         * lib/time.in.h: Renamed from lib/time_.h.
30196         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
30197         * lib/unistd.in.h: Renamed from lib/unistd_.h.
30198         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
30199         unistd_.h.
30200         * lib/wchar.in.h: Renamed from lib/wchar_.h.
30201         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
30202         wchar_.h.
30203         * lib/wctype.in.h: Renamed from lib/wctype_.h.
30204         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
30205         wctype_.h.
30206         * build-aux/bootstrap (slurp): Update.
30207         * lib/.cppi-disable: Update.
30208
30209 2007-09-30  Bruno Haible  <bruno@clisp.org>
30210
30211         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
30212         Needed on BeOS.
30213
30214 2007-09-30  Bruno Haible  <bruno@clisp.org>
30215
30216         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
30217
30218 2007-09-29  Bruno Haible  <bruno@clisp.org>
30219
30220         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
30221
30222 2007-09-29  Bruno Haible  <bruno@clisp.org>
30223
30224         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
30225         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
30226         * build-aux/install-reloc: Compile also areadlink.c.
30227         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
30228
30229 2007-09-29  Bruno Haible  <bruno@clisp.org>
30230
30231         * gnulib-tool (func_emit_initmacro_done): Indentation.
30232
30233 2007-09-29  Bruno Haible  <bruno@clisp.org>
30234
30235         * README: Add CVS checkout update instructions.
30236         Info from Bob Proulx <bob@proulx.com>.
30237
30238 2007-09-28  Eric Blake  <ebb9@byu.net>
30239
30240         Provide move-if-change.
30241         * build-aux/move-if-change: New file, based on best practice
30242         rather than any canonical upstream location.
30243
30244 2007-09-28  Jim Meyering  <jim@meyering.net>
30245
30246         Fix canonicalize loop-detection corner case.
30247         Do not attempt to stat the symlink values stored via seen_triple.
30248         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
30249         on linux-2.6.18, (but not 2.6.22).
30250         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
30251         triple_compare.  The former compares dev,ino,filename, while the latter
30252         would actually stat dirname(filename) when dev and ino were equal.
30253         * lib/hash-triple.c: Install <string.h>.
30254         (STREQ): Define.
30255         (triple_compare_ino_str): New function.
30256         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
30257
30258 2007-09-28  Eric Blake  <ebb9@byu.net>
30259
30260         Enforce that AC_REPLACE_FUNCS files exist.
30261         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
30262         override check for typos.
30263
30264         Fix test-closein on Solaris 10.
30265         * tests/test-closein.c (main): Don't assume stdin can be inherited
30266         closed on all systems.
30267         * tests/test-closein.sh: Likewise.
30268         Reported by Piotr Tarnowski.
30269
30270 2007-09-28  Jim Meyering  <jim@meyering.net>
30271
30272         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
30273
30274 2007-09-27  Jim Meyering  <jim@meyering.net>
30275
30276         canonicalize: Avoid a false-positive cycle failure.
30277         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
30278         Sort.  Remove cycle-check.
30279         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
30280         not cycle-check.h.
30281         (seen_triple): New function.
30282         (canonicalize_filename_mode): Use it instead of cycle-check.
30283         * tests/test-canonicalize.c: Add a test for this bug.
30284         * tests/test-canonicalize.sh: Set up and run the test.
30285
30286         New module, file-set, from coreutils.
30287         * modules/file-set: Define it.
30288         * lib/file-set.c, lib/file-set.h: Implement.
30289
30290         New module, hash-triple, from coreutils.
30291         * modules/hash-triple: Define it.
30292         * lib/hash-triple.c, lib/hash-triple.h: Implement.
30293
30294 2007-09-25  Eric Blake  <ebb9@byu.net>
30295
30296         Fix strerror on Interix.
30297         * lib/string_.h (strerror): Declare replacement.
30298         * doc/functions/strerror.texi (strerror): Document the Interix
30299         shortcoming.
30300         * modules/string (Makefile.am): Support new hooks.
30301         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
30302         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
30303         gl_FUNC_STRERROR_SEPARATE.
30304         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
30305         * lib/strerror.c (rpl_strerror): Provide replacement.
30306         * modules/strerror (Depends-on): Add string.
30307         (configure.ac): Detect use of module.
30308         * tests/test-strerror.c: New file.
30309         * modules/strerror-tests: New test module.
30310         * modules/argp (Depends-on): Add strerror.
30311         * modules/error (Depends-on): Likewise.
30312         Reported by Martin Koeppe.
30313
30314 2007-09-24  Bruno Haible  <bruno@clisp.org>
30315
30316         * README: Update git instructions.
30317
30318 2007-09-24  Eric Blake  <ebb9@byu.net>
30319
30320         Revert fpending breakage from 2007-09-08.
30321         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
30322         __fpending.c.
30323
30324 2007-09-24  Jim Meyering  <jim@meyering.net>
30325
30326         filenamecat.c: Add a test.
30327         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
30328         showing how the function works when DIR is the empty string.
30329
30330 2007-09-21  Simon Josefsson  <simon@josefsson.org>
30331
30332         * tests/test-canonicalize.sh: Turn on executable bit.
30333
30334 2007-09-19  Eric Blake  <ebb9@byu.net>
30335
30336         * README: Update CVS instructions.
30337
30338 2007-09-18  Bruno Haible  <bruno@clisp.org>
30339
30340         * modules/areadlink: New file.
30341         * lib/areadlink.h (areadlink): New declaration.
30342         * lib/areadlink.c: New file, based on lib/xreadlink.c.
30343
30344 2007-09-17  Jim Meyering  <jim@meyering.net>
30345
30346         * lib/savewd.c (ESTALE) [!defined]: Define.
30347         Reported to be required on Interix by Martin Koeppe.
30348
30349 2007-09-17  Bruno Haible  <bruno@clisp.org>
30350
30351         * gnulib-tool (func_version): Use $version.
30352
30353 2007-09-16  Bruno Haible  <bruno@clisp.org>
30354
30355         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
30356         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
30357         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
30358         Reported by Greg Schafer <gschafer@zip.com.au>.
30359
30360 2007-09-15  Bruno Haible  <bruno@clisp.org>
30361
30362         * gnulib-tool (sed): Try a little harder to make bash understand the
30363         alias.
30364         Reported by Bruce Korb <bruce.korb@gmail.com>.
30365
30366 2007-09-13  Eric Blake  <ebb9@byu.net>
30367
30368         * ChangeLog: Remove conflict markers.
30369
30370 2007-09-13  Simon Josefsson  <simon@josefsson.org>
30371
30372         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
30373         Reported by Bruno Haible <bruno@clisp.org>.
30374
30375 2007-09-12  Bruno Haible  <bruno@clisp.org>
30376
30377         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
30378         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
30379         is not defined.
30380
30381 2007-09-12  Eric Blake  <ebb9@byu.net>
30382
30383         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
30384         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
30385         Autoconf definition.
30386         * modules/euidaccess (Depends-on): Add extensions, for
30387         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
30388         * modules/fnmatch (Depends-on): Likewise.
30389         * modules/getaddrinfo (Depends-on): Likewise.
30390         * modules/getdelim (Depends-on): Likewise.
30391         * modules/getline (Depends-on): Likewise.
30392         * modules/getsubopt (Depends-on): Likewise.
30393         * modules/gettext (Depends-on): Likewise.
30394         * modules/group-member (Depends-on): Likewise.
30395         * modules/mbchar (Depends-on): Likewise.
30396         * modules/memmem (Depends-on): Likewise.
30397         * modules/mempcpy (Depends-on): Likewise.
30398         * modules/memrchr (Depends-on): Likewise.
30399         * modules/pagealign_alloc (Depends-on): Likewise.
30400         * modules/readutmp (Depends-on): Likewise.
30401         * modules/stpcpy (Depends-on): Likewise.
30402         * modules/stpncpy (Depends-on): Likewise.
30403         * modules/strchrnul (Depends-on): Likewise.
30404         * modules/strndup (Depends-on): Likewise.
30405         * modules/strsep (Depends-on): Likewise.
30406         * modules/strverscmp (Depends-on): Likewise.
30407         * modules/vasprintf (Depends-on): Likewise.
30408         * modules/wcwidth (Depends-on): Likewise.
30409         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
30410         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
30411         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
30412         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
30413         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
30414         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
30415         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
30416         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
30417         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
30418         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
30419         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30420         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
30421         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
30422         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
30423         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
30424         * m4/readutmp.m4 (gl_READUTMP): Likewise.
30425         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
30426         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
30427         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30428         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
30429         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
30430         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
30431         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
30432         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
30433         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
30434         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30435         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
30436         so that lock.m4 can be used in gettext without extensions module.
30437
30438 2007-09-11  Bruno Haible  <bruno@clisp.org>
30439
30440         * m4/isc-posix.m4: Remove file.
30441         Suggested by Eric Blake.
30442
30443 2007-09-11  Eric Blake  <ebb9@byu.net>
30444
30445         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
30446
30447 2007-09-10  Bruno Haible  <bruno@clisp.org>
30448
30449         * posix-modules: Fix typo in error message.
30450         Reported by Matt <mkraai@beckman.com>.
30451
30452 2007-09-09  Bruno Haible  <bruno@clisp.org>
30453
30454         * doc/functions/getdelim.texi: Update list of platforms lacking the
30455         function.
30456         * doc/functions/getline.texi: Likewise.
30457
30458 2007-09-09  Jim Meyering  <jim@meyering.net>
30459
30460         * lib/hash.c (hash_initialize): Detect calloc failure.
30461         Reported by Bruno Haible.
30462
30463 2007-09-09  Bruno Haible  <bruno@clisp.org>
30464
30465         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
30466         malloc or realloc fails.
30467
30468 2007-09-09  Bruno Haible  <bruno@clisp.org>
30469
30470         * modules/getcwd (Depends-on): Add malloc-posix.
30471         * modules/glob (Depends-on): Likewise.
30472         * modules/putenv (Depends-on): Likewise.
30473         * modules/strdup (Depends-on): Likewise.
30474         * modules/getdelim (Depends-on): Add realloc-posix.
30475         * modules/read-file (Depends-on): Likewise.
30476
30477 2007-09-09  Bruno Haible  <bruno@clisp.org>
30478
30479         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
30480         (gl_FUNC_MALLOC_POSIX): Require it.
30481         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
30482         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
30483         * modules/realloc (Files): Add m4/malloc.m4.
30484         * modules/calloc (Files): Likewise.
30485
30486 2007-09-09  Bruno Haible  <bruno@clisp.org>
30487
30488         * modules/malloc-posix: New file.
30489         * modules/malloc (Depends-on): Add malloc-posix.
30490         * lib/malloc.c: Include errno.h.
30491         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
30492         and a POSIX-compatible malloc into a single function. Set ENOMEM
30493         when returning NULL.
30494         * m4/malloc.m4: New file.
30495         * doc/functions/malloc.texi: Mention the malloc-posix module.
30496         * lib/stdlib_.h (malloc): New declaration.
30497         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
30498         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
30499         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
30500         and HAVE_MALLOC_POSIX.
30501
30502 2007-09-09  Bruno Haible  <bruno@clisp.org>
30503
30504         * modules/realloc-posix: New file.
30505         * modules/realloc (Depends-on): Add realloc-posix.
30506         * lib/realloc.c: Include errno.h.
30507         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
30508         and a POSIX-compatible realloc into a single function. Set ENOMEM
30509         when returning NULL.
30510         * m4/realloc.m4: New file.
30511         * doc/functions/realloc.texi: Mention the realloc-posix module.
30512         * lib/stdlib_.h (realloc): New declaration.
30513         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
30514         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
30515         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
30516         and HAVE_REALLOC_POSIX.
30517
30518 2007-09-09  Bruno Haible  <bruno@clisp.org>
30519
30520         * modules/calloc-posix: New file.
30521         * modules/calloc (Depends-on): Add calloc-posix.
30522         * lib/calloc.c: Include errno.h.
30523         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
30524         and a POSIX-compatible calloc into a single function. Set ENOMEM
30525         when returning NULL.
30526         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
30527         * doc/functions/calloc.texi: Mention the calloc-posix module.
30528         * lib/stdlib_.h (calloc): New declaration.
30529         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
30530         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
30531         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
30532         and HAVE_CALLOC_POSIX.
30533
30534 2007-09-09  Bruno Haible  <bruno@clisp.org>
30535
30536         Allow for modules to show an arbitrary notice.
30537         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
30538         * gnulib-tool: New option --extract-notice.
30539         (func_usage): Document it.
30540         (sed_extract_prog): Update.
30541         (func_get_notice): New function.
30542         (func_modules_notice): New function.
30543         (func_import, func_create_testdir): Invoke it.
30544         Suggested by Jim Meyering.
30545
30546 2007-09-09  Bruno Haible  <bruno@clisp.org>
30547
30548         * gnulib-tool: New options --verbose, --quiet.
30549         (func_usage): Document them.
30550         (verbose): New variable.
30551         (func_execute_command): New function.
30552         (func_import): Don't show the module list and the file list if
30553         $verbose < 0.
30554         (func_create_testdir): Likewise. Use func_execute_command.
30555         (func_create_megatestdir): Use func_execute_command.
30556
30557 2007-09-08  Bruno Haible  <bruno@clisp.org>
30558
30559         * gnulib-tool (func_import): Prefer rsync over wget when available,
30560         for fetching the PO files.
30561
30562 2007-09-08  Bruno Haible  <bruno@clisp.org>
30563
30564         * posix-modules: New file. Portions copied from gnulib-tool.
30565         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
30566
30567 2007-09-08  Jim Meyering  <jim@meyering.net>
30568
30569         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
30570         * lib/fpending.h: Rename from __fpending.h.
30571         * lib/fpending.c: Rename from __fpending.c.
30572         Include "fpending.h", not "__fpending.h".
30573         * lib/__fpending.h, lib/__fpending.c: Remove files.
30574         * modules/fpending (Files): Reflect new file names.
30575         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
30576
30577 2007-09-08  Bruno Haible  <bruno@clisp.org>
30578
30579         * m4/inttypes-h.m4: Remove stub file.
30580
30581 2007-09-07  Simon Josefsson  <simon@josefsson.org>
30582
30583         * doc/headers/stdint.texi: Discuss #include_next issue.
30584
30585 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
30586
30587         * build-aux/bootstrap: Remove obsolete comment about wget --help.
30588
30589 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30590
30591         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
30592         in variable name.
30593
30594 2007-09-03  Jim Meyering  <jim@meyering.net>
30595
30596         New module: git-version-gen.
30597         * modules/git-version-gen: New file.
30598
30599         Import changes from coreutils for bootstrap script.
30600
30601         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
30602
30603         bootstrap: uses rsync to download the .po files
30604         * build-aux/bootstrap (po_download_command_format): New global.
30605         (download_po_files): Use rsync.
30606         (update_po_files): Don't remove .po files after download,
30607         so future rsync runs can take advantage of the copies.
30608
30609         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
30610
30611         Solve the unnecessary-.po-file-regeneration problem once and for all.
30612         * build-aux/bootstrap (download_po_files): New function, renamed from
30613         get_translations.  Now, downloads, but doesn't update LINGUAS.
30614         (update_po_files): New function.
30615
30616         bootstrap: Ignore more.
30617         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
30618         uniwidth to e.g., lib/.gitignore.
30619         (slurp): Handle the sys_stat_.h -> sys mapping, too.
30620
30621         * build-aux/bootstrap: New setting: vc_ignore.
30622         (insert_sorted_if_absent): Create $file if absent.
30623         Adapt to new, possibly empty, list: $vc_ignore.
30624
30625         bootstrap: generate more ignorable names
30626         * build-aux/bootstrap (slurp): When generating ignorable names,
30627         also map .sin to .sed, .gperf to .c, and .y to .c.
30628
30629 2007-09-03  Jim Meyering  <jim@meyering.net>
30630
30631         * build-aux/git-version-gen: New file, from coreutils.  For details, see
30632         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
30633
30634 2007-09-02  Bruno Haible  <bruno@clisp.org>
30635
30636         Fix mis-recognition of 'mcs' on QNX 6.
30637         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
30638         output contains the string "Mono".
30639         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
30640         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
30641
30642 2007-09-01  Bruno Haible  <bruno@clisp.org>
30643
30644         Fix collision between uniwidth/* and linebreak modules.
30645         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
30646         u32_width): Remove declarations.
30647         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
30648         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
30649         streq3, streq2, streq1, streq0): Remove functions.
30650         (STREQ): Remove macro.
30651         (is_cjk_encoding): Remove function.
30652         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
30653         (uc_width, u8_width, u16_width, u32_width): Remove functions.
30654         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
30655         * NEWS: Document the change.
30656
30657 2007-09-01  Bruno Haible  <bruno@clisp.org>
30658
30659         * lib/streq.h: Add double-inclusion guard.
30660
30661 2007-09-01  Karl Berry  <karl@gnu.org>
30662
30663         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
30664
30665 2007-08-28  Jim Meyering  <jim@meyering.net>
30666
30667         Rename mreadlink_with_size to areadlink_with_size.
30668         * NEWS: Document the change.
30669         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
30670         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
30671         * lib/mreadlink.h: Rename this to...
30672         * lib/areadlink.h: ...this.
30673         * modules/mreadlink-with-size: Rename this to...
30674         * modules/areadlink-with-size: ...this.
30675         * lib/canonicalize.c: Reflect the renaming.
30676         * modules/canonicalize: Likewise.
30677
30678 2007-08-26  Bruno Haible  <bruno@clisp.org>
30679
30680         * gnulib-tool (func_import): When deciding which files to remove,
30681         consider also dangling symbolic links.
30682         Reported by Eric Blake.
30683
30684 2007-08-26  Bruno Haible  <bruno@clisp.org>
30685
30686         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
30687
30688 2007-08-23  Simon Josefsson  <simon@josefsson.org>
30689
30690         * lib/readline.c: Don't include getline.h, the prototype is now
30691         found in stdio.h.
30692
30693 2007-08-23  Jim Meyering  <jim@meyering.net>
30694
30695         Getdelim touchup.
30696         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
30697         around the funlockfile call, since funlockfile never sets errno.
30698         Don't set errno upon failed realloc.
30699
30700 2007-08-22  Eric Blake  <ebb9@byu.net>
30701
30702         Getline touchups.
30703         * lib/getdelim.c (getdelim): Revert regression that required *n to
30704         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
30705         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
30706         getdelim, rather than whether implementation is missing.
30707         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
30708         * lib/stdio_.h (getline): Also declare if replacement is
30709         required.
30710         * doc/functions/getdelim.texi: New file.
30711         * doc/functions/getline.texi: Likewise.
30712         * doc/gnulib.texi (Function Substitutes): Add new files.
30713         Reported by Bruno Haible.
30714
30715 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
30716
30717         * users.txt: Add Guile.
30718
30719 2007-08-22  Eric Blake  <ebb9@byu.net>
30720
30721         * tests/test-getdelim.c (main): Use remove, not unlink.
30722         * tests/test-getline.c (main): Likewise.
30723
30724         Move getline and getdelim into stdio.h, per POSIX 200x.
30725         * modules/getline (Files): Remove getline.h.
30726         (Depends-on): Add stdio.
30727         (configure.ac): Add module indicator.
30728         * modules/getdelim (Files): Remove getdelim.h.
30729         (Depends-on): Add stdio.
30730         (configure.ac): Add module indicator.
30731         * modules/stdio (Makefile.am): Work with new indicators.
30732         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
30733         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
30734         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
30735         * lib/getdelim.h: Delete.
30736         * lib/getline.h: Delete.
30737         * lib/stdio_.h (getdelim, getline): Declare.
30738         * modules/getdelim-tests: New module.
30739         * modules/getline-tests: Likewise.
30740         * tests/test-getdelim.c: New file.
30741         * tests/test-getline.c: Likewise.
30742         * NEWS: Document the change.
30743         * lib/getline.c: Update choice of header.
30744         * lib/csharpcomp.c: Likewise.
30745         * lib/getpass.c: Likewise.
30746         * lib/javacomp.c: Likewise.
30747         * lib/javaversion.c: Likewise.
30748         * lib/yesno.c: Likewise.
30749         * lib/getdelim.c: Likewise.
30750         (getdelim): Set errno on failure, and avoid memory leak.
30751
30752 2007-08-19  Bruno Haible  <bruno@clisp.org>
30753
30754         * modules/closein (Depends-on): Add freadahead.
30755         * lib/closein.c: Include freadahead.h.
30756         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
30757         is zero.
30758
30759 2007-08-19  Bruno Haible  <bruno@clisp.org>
30760
30761         * modules/freadahead-tests: New file.
30762         * tests/test-freadahead.sh: New file.
30763         * tests/test-freadahead.c: New file.
30764
30765         * modules/freadahead: New file.
30766         * lib/freadahead.h: New file.
30767         * lib/freadahead.c: New file.
30768         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
30769         fbufmode, fpurge, freadable, fwritable.
30770
30771 2007-08-19  Eric Blake  <ebb9@byu.net>
30772
30773         Test yesno in combination with closein.
30774         * lib/yesno.c (yesno): Document use of stdin.
30775         * modules/yesno-tests (Files): New module.
30776         * tests/test-yesno.c (main): New file.
30777         * tests/test-yesno.sh: Likewise.
30778
30779 2007-08-19  Bruno Haible  <bruno@clisp.org>
30780
30781         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
30782         * lib/fseeko.c (rpl_fseeko): Likewise.
30783         * lib/fseterr.c (fseterr): Likewise.
30784
30785 2007-08-19  Bruno Haible  <bruno@clisp.org>
30786
30787         * tests/test-lseek.c (main): Disable a test for BeOS.
30788         * doc/functions/lseek.texi: Document the BeOS bug.
30789
30790 2007-08-19  Bruno Haible  <bruno@clisp.org>
30791             Eric Blake  <ebb9@byu.net>
30792
30793         * lib/lseek.c: Include <sys/stat.h>.
30794         (rpl_lseek): Add workaround code also for Unix platforms.
30795         Needed for BeOS.
30796         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
30797         * doc/functions/lseek.texi: Document BeOS definiency.
30798
30799 2007-08-18  Bruno Haible  <bruno@clisp.org>
30800
30801         * modules/fstrcmp-tests: New file.
30802         * tests/test-fstrcmp.c: New file.
30803
30804 2007-08-18  Bruno Haible  <bruno@clisp.org>
30805
30806         * modules/fstrcmp: New file, from GNU gettext with modifications.
30807         * lib/fstrcmp.h: New file, from GNU gettext.
30808         * lib/fstrcmp.c: New file, from GNU gettext.
30809         * MODULES.html.sh (String handling): Add fstrcmp.
30810
30811 2007-08-18  Bruno Haible  <bruno@clisp.org>
30812
30813         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
30814         'bool'.
30815         (diag, compareseq): Remove const from the ctxt argument.
30816         (USE_HEURISTIC): Undefine at the end.
30817
30818 2007-08-18  Jim Meyering  <jim@meyering.net>
30819
30820         New file: lib/idcache.h
30821         * NEWS: Mention the addition.
30822         * modules/idcache (Files): Add lib/idcache.h
30823         * lib/idcache.c: Include "idcache.h".
30824         Don't include <sys/types.h>.
30825         Add a FIXME comment.
30826         Move file-scoped "static" declarations to the top.
30827         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
30828
30829 2007-08-17  Bruno Haible  <bruno@clisp.org>
30830         and Paul Eggert  <eggert@cs.ucla.edu>
30831
30832         * MODULES.html.sh: Add diffseq.
30833         * modules/diffseq: New file.
30834         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
30835         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
30836
30837 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
30838
30839         Import changes from coreutils for bootstrap script.
30840
30841         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
30842
30843         * build-aux/bootstrap (slurp): Work even in environments where
30844         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
30845         current code does not slurp files whose names start with ".", and
30846         this looks like it might be a troublesome area.
30847
30848         2007-07-11  Jim Meyering  <jim@meyering.net>
30849
30850         If there's a GPL vN copyright comment, require that N == 3.
30851
30852         2007-07-08  Jim Meyering  <jim@meyering.net>
30853
30854         Run the coreutils-specific code only if tests/Makefile.am.in exists.
30855         * build-aux/bootstrap (mam_template): Move definition out of loop.
30856
30857         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
30858
30859         * build-aux/bootstrap (symlink_to_dir): Rename function from
30860         symlink_to_gnulib.  Add a directory parameter.  Update all
30861         callers.
30862         (cp_mark_as_generated): Also check for -- and link to -- files in
30863         gl/.
30864
30865         2007-07-08  Jim Meyering  <jim@meyering.net>
30866
30867         Adapt to deeper hierarchy in gnulib.
30868         * build-aux/bootstrap (symlink_to_dir): If the destination
30869         directory doesn't exist, create it. This is required at least for
30870         "lib/uniwidth/cjk.h".
30871
30872         2007-05-15  Jim Meyering  <jim@meyering.net>
30873
30874         * build-aux/bootstrap: Now that generated Makefile.am files
30875         are no longer under version control, they must be created at
30876         bootstrap time.
30877
30878 2007-08-14  Ben Pfaff  <blp@gnu.org>
30879
30880         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
30881
30882 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
30883
30884         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
30885         given the changes below.
30886         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
30887         even on hosts that have padding bits beyond the supported 64.
30888
30889 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30890
30891         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
30892         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
30893         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
30894         depends on it.
30895         (xstrtol_error): Remove.
30896         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
30897         but with a different signature.
30898         (ATTRIBUTE_NORETURN, __attribute__): New macros.
30899         * lib/xstrtol-error.c: Include exitfail.h.
30900         (xstrtol_fatal): New function, with a different signature from the
30901         old xstrtol_error, so that the caller need not worry about passing
30902         in an exit status, or about storage management of the option argument.
30903         (xstrtol_error): Now a static function.  Redo signature to
30904         implement xstrtol_fatal.  Output the correct number of hyphens in
30905         front of the option so that the caller need not worry about
30906         storage management.
30907         (N_): New macro.
30908         (_): Remove; not used now.
30909         * modules/xstrtol: Depend on getopt.
30910         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
30911         of old STRTOL_FATAL_ERROR macro.
30912         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
30913         of test program.
30914         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
30915         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
30916
30917 2007-08-08  Eric Blake  <ebb9@byu.net>
30918
30919         * lib/xstrtol-error.c: Add missing include.
30920
30921         Move xstrtol messages into gnulib domain, when --pobase is used.
30922         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
30923         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
30924         * modules/xstrtol (Files): Distribute new file.
30925         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
30926         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
30927         * tests/test-xstrtol.c: ...into new file.
30928         * tests/test-xstrtoul.c: Also test xstrtoul.
30929         * tests/test-xstrtoimax.c: Also test xstrtoimax.
30930         * tests/test-xstrtoumax.c: Also test xstrtoumax.
30931         * tests/test-xstrtol.sh: Drive the tests.
30932         * tests/test-xstrtoimax.sh: Likewise.
30933         * tests/test-xstrtoumax.sh: Likewise.
30934         * modules/xstrtol-tests: New module.
30935         * modules/xstrtoimax-tests: Likewise.
30936         * modules/xstrtoumax-tests: Likewise.
30937
30938 2007-08-08  Jim Meyering  <jim@meyering.net>
30939
30940         New function: mfile_name_concat.
30941         * lib/filenamecat.c (mfile_name_concat): New function, just like
30942         file_name_concat, but return NULL upon failure rather than exiting
30943         with a diagnostic.
30944         * lib/filenamecat.h: Declare it.
30945
30946 2007-08-07  Bruno Haible  <bruno@clisp.org>
30947
30948         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
30949         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
30950         warning from gcc.
30951         Reported by Eric Blake.
30952
30953 2007-08-07  Simon Josefsson  <simon@josefsson.org>
30954
30955         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
30956         * modules/crypto/arcfour (License): Likewise.
30957         * modules/crypto/des-tests (License): Likewise.
30958         * modules/crypto/gc-arctwo-tests (License): Likewise.
30959         * modules/crypto/gc-des-tests (License): Likewise.
30960         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
30961         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
30962         * modules/crypto/gc-md2-tests (License): Likewise.
30963         * modules/crypto/gc-md4-tests (License): Likewise.
30964         * modules/crypto/gc-md5-tests (License): Likewise.
30965         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
30966         * modules/crypto/gc-rijndael-tests (License): Likewise.
30967         * modules/crypto/gc-sha1-tests (License): Likewise.
30968         * modules/crypto/gc-tests (License): Likewise.
30969         * modules/crypto/hmac-md5 (License): Likewise.
30970         * modules/crypto/hmac-sha1 (License): Likewise.
30971         * modules/crypto/md2-tests (License): Likewise.
30972         * modules/crypto/md4-tests (License): Likewise.
30973         * modules/crypto/md5 (License): Likewise.
30974         * modules/crypto/rijndael (License): Likewise.
30975         * modules/crypto/sha1 (License): Likewise.
30976         * modules/memxor (License): Likewise.
30977
30978 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
30979         and Bruno Haible  <bruno@clisp.org>
30980
30981         * NEWS: Describe interface changes to human, xstrtol.
30982         * lib/human.h: Include <xstrtol.h>.
30983         (human_options): Return enum strtol_error, not int.  Remove
30984         bool arg; take int * instead.
30985         * lib/human.c: Don't include "gettext.h".
30986         (_): Remove; no longer used.
30987         Don't include <xstrtol.h>, since human.h does it.
30988         (human_options): Adjust to abovementioned interface changes.
30989         Do not report error to stderr; that's now the caller's
30990         responsibility.
30991         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
30992         interface change.
30993         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
30994         Str, Argument_type_string.  All uses changed.  Put " argument"
30995         in diagnostics to make them clearer.  Change wording of suffix
30996         message for clarity.
30997         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
30998         Argument_type_string.
30999         (STRTOL_FATAL_WARN): Remove; no longer used.
31000         * modules/human (Depends-on): Remove gettext-h.
31001
31002 2007-08-06  Simon Josefsson  <simon@josefsson.org>
31003
31004         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
31005
31006 2007-07-31  Bruno Haible  <bruno@clisp.org>
31007
31008         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
31009         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
31010         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
31011
31012 2007-07-31  Bruno Haible  <bruno@clisp.org>
31013
31014         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
31015         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
31016
31017 2007-07-30  Bruno Haible  <bruno@clisp.org>
31018
31019         * modules/base64 (License): Use the synonymous term "LGPLv2+".
31020         * modules/c-ctype (License): Likewise.
31021         * modules/c-strcase (License): Likewise.
31022         * modules/check-version (License): Likewise.
31023         * modules/iconv (License): Likewise.
31024         * modules/iconv_open (License): Likewise.
31025         * modules/read-file (License): Likewise.
31026         * modules/striconv (License): Likewise.
31027         * modules/strverscmp (License): Likewise.
31028         * modules/vasprintf (License): Likewise.
31029         * modules/crypto/des (License): Likewise.
31030         * modules/crypto/gc (License): Likewise.
31031         * modules/crypto/gc-arcfour (License): Likewise.
31032         * modules/crypto/gc-arctwo (License): Likewise.
31033         * modules/crypto/gc-des (License): Likewise.
31034         * modules/crypto/gc-hmac-md5 (License): Likewise.
31035         * modules/crypto/gc-hmac-sha1 (License): Likewise.
31036         * modules/crypto/gc-md2 (License): Likewise.
31037         * modules/crypto/gc-md4 (License): Likewise.
31038         * modules/crypto/gc-md5 (License): Likewise.
31039         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
31040         * modules/crypto/gc-random (License): Likewise.
31041         * modules/crypto/gc-rijndael (License): Likewise.
31042         * modules/crypto/gc-sha1 (License): Likewise.
31043         * modules/crypto/md2 (License): Likewise.
31044         * modules/crypto/md4 (License): Likewise.
31045
31046 2007-07-30  Jim Meyering  <jim@meyering.net>
31047
31048         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
31049         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
31050         it has valid stat data.  This bug would cause du not to count the
31051         sizes of inaccessible directories.
31052         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
31053         in <http://bugzilla.redhat.com/250077>.
31054
31055 2007-07-25  Peter O'Gorman  <peter@pogma.com>
31056             Bruno Haible  <bruno@clisp.org>
31057
31058         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
31059         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
31060         #include_next, gives a diagnostic about it, but reports no error in
31061         the exit code.
31062         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
31063
31064 2007-07-24  Ben Pfaff  <blp@gnu.org>
31065
31066         Improve name: "count-one-bits" is better than "popcount".
31067         * MODULES.html.sh: Update name.
31068         * lib/popcount.h: Renamed lib/count-one-bits.h.
31069         (popcount): Renamed count_one_bits.
31070         (popcountl): Renamed count_one_bits_l.
31071         (popcountll): Renamed count_one_bits_ll.
31072         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
31073         * modules/popcount: Renamed module/count-one-bits.
31074         * modules/popcount-tests: Renamed module/count-one-bits-tests.
31075         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
31076
31077 2007-07-23  Ben Pfaff  <blp@gnu.org>
31078
31079         * lib/popcount.h (popcount32): Reduce size of constants, to allow
31080         better code generation, and add U to large constants to avoid
31081         warnings, in non-GCC case.
31082         Suggested by Bruno Haible.
31083
31084 2007-07-23  Ben Pfaff  <blp@gnu.org>
31085
31086         * lib/popcount.h: Use verify_true instead of if...abort.
31087         * modules/popcount: Depend on verify module.
31088         Suggested by Jim Meyering.
31089
31090 2007-07-23  Bruno Haible  <bruno@clisp.org>
31091
31092         * gnulib-tool (func_import): Create a .cvsignore file also when the
31093         directory is not yet in CVS but the toplevel directory is. When
31094         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
31095         Reported by Karl Berry.
31096
31097 2007-07-22  Ben Pfaff  <blp@gnu.org>
31098
31099         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
31100         case.
31101         Suggested by Eric Blake.
31102
31103 2007-07-22  Ben Pfaff  <blp@gnu.org>
31104
31105         New module: popcount.
31106         * MODULES.html.sh: Add popcount.
31107         * modules/popcount: New file.
31108         * modules/popcount-tests: New file.
31109         * tests/test-popcount.c: New file.
31110         * lib/popcount.h: New file.
31111         * m4/popcount.m4: New file.
31112
31113 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
31114
31115         * build-aux/announce-gen: Update to GPLv3.
31116
31117         * build-aux/config.guess: Update from config.
31118
31119 2007-07-21  Bruno Haible  <bruno@clisp.org>
31120
31121         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
31122         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
31123
31124 2007-07-20  Jim Meyering  <jim@meyering.net>
31125
31126         * check-module: Diagnose a self-dependency.
31127
31128 2007-07-19  Bruno Haible  <bruno@clisp.org>
31129
31130         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
31131         empty.
31132         Reported by Eric Blake.
31133
31134 2007-07-18  Bruno Haible  <bruno@clisp.org>
31135
31136         * gnulib-tool: New options --po-base, --po-domain.
31137         (func_usage): Document them.
31138         (pobase, po_domain): New variables.
31139         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
31140         DEFAULT_TEXT_DOMAIN.
31141         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
31142         (func_import): Consider pobase and po_domain. Create a po/ directory.
31143         (func_create_testdir): Set pobase and po_domain to empty.
31144         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
31145         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
31146
31147 2007-07-18  Bruno Haible  <bruno@clisp.org>
31148
31149         * gnulib-tool (func_get_automake_snippet): Synthesize also an
31150         EXTRA_DIST augmentation for files in build-aux/.
31151
31152 2007-07-16  Bruno Haible  <bruno@clisp.org>
31153
31154         * modules/lseek (License): Use the synonymous term "LGPLv2+".
31155         * modules/getdelim (License): Likewise.
31156
31157 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31158
31159         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
31160         * modules/d-type (License): Likewise.
31161         * modules/extensions (License): Likewise.
31162         * modules/fnmatch (License): Likewise.
31163         * modules/fseeko (License): Likewise.
31164         * modules/getaddrinfo (License): Likewise.
31165         * modules/getline (License): Likewise.
31166         * modules/getlogin_r (License): Likewise.
31167         * modules/getpass (License): Likewise.
31168         * modules/gettimeofday (License): Likewise.
31169         * modules/glob (License): Likewise.
31170         * modules/inet_ntop (License): Likewise.
31171         * modules/malloc (License): Likewise.
31172         * modules/malloca (License): Likewise.
31173         * modules/memmem (License): Likewise.
31174         * modules/mempcpy (License): Likewise.
31175         * modules/memset (License): Likewise.
31176         * modules/minmax (License): Likewise.
31177         * modules/mktime (License): Likewise.
31178         * modules/netinet_in (License): Likewise.
31179         * modules/pathmax (License): Likewise.
31180         * modules/poll (License): Likewise.
31181         * modules/regex (License): Likewise.
31182         * modules/snprintf (License): Likewise.
31183         * modules/stdbool (License): Likewise.
31184         * modules/stdint (License): Likewise.
31185         * modules/stdio (License): Likewise.
31186         * modules/strcase (License): Likewise.
31187         * modules/strcasestr (License): Likewise.
31188         * modules/strdup (License): Likewise.
31189         * modules/string (License): Likewise.
31190         * modules/strndup (License): Likewise.
31191         * modules/strnlen (License): Likewise.
31192         * modules/strpbrk (License): Likewise.
31193         * modules/strptime (License): Likewise.
31194         * modules/strsep (License): Likewise.
31195         * modules/sys_select (License): Likewise.
31196         * modules/sys_socket (License): Likewise.
31197         * modules/sys_stat (License): Likewise.
31198         * modules/sys_time (License): Likewise.
31199         * modules/time (License): Likewise.
31200         * modules/time_r (License): Likewise.
31201         * modules/timegm (License): Likewise.
31202         * modules/unistd (License): Likewise.
31203         * modules/vsnprintf (License): Likewise.
31204         * modules/wctype (License): Likewise.
31205
31206 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31207
31208         * modules/argz (License): LGPLv2+.
31209
31210 2007-07-15  Karl Berry  <karl@gnu.org>
31211
31212         * doc/gnulib.texi: revise node structure per new fdl.texi.
31213
31214 2007-07-14  Bruno Haible  <bruno@clisp.org>
31215
31216         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
31217         the output file.
31218         * lib/uniname/uninames.h: Regenerated.
31219
31220 2007-07-14  Karl Berry  <karl@gnu.org>
31221
31222         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
31223         omitting sectioning and index commands.
31224
31225 2007-07-13  Bruno Haible  <bruno@clisp.org>
31226
31227         New gnulib-tool option --more-symlinks.
31228         * gnulib-tool (func_usage): Document --more-symlinks.
31229         (do_copyrights): New variable.
31230         Recognize option --more-symlinks.
31231         (func_import): Don't add a copyright notice transform to
31232         sed_transform_lib_file if do_copyrights is empty.
31233
31234 2007-07-13  Bruno Haible  <bruno@clisp.org>
31235
31236         * lib/vasnprintf.c (decimal_point_char): Define also if
31237         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
31238         && !NEED_PRINTF_DIRECTIVE_A.
31239         Reported by Clemens Koller <clemens.koller@anagramm.de> via
31240         Gary V. Vaughan <gary@gnu.org>.
31241
31242 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
31243
31244         * lib/inttypes_.h: Undo previous change, since it was fixed
31245         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
31246
31247 2007-07-13  Bruno Haible  <bruno@clisp.org>
31248
31249         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
31250         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
31251
31252 2007-07-13  Jim Meyering  <jim@meyering.net>
31253
31254         df: Don't fail for Tru64's "file-on-file mount".
31255         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
31256         so we fall through and use statfs instead.  Details here:
31257         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
31258         Reported by Albert Chin.
31259
31260 2007-07-13  Bruno Haible  <bruno@clisp.org>
31261
31262         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
31263         * modules/configmake (License): Likewise.
31264         * modules/gettext (License): Likewise.
31265         * modules/gettext-h (License): Likewise.
31266         * modules/include_next (License): Likewise.
31267         * modules/link-warning (License): Likewise.
31268         * modules/localcharset (License): Likewise.
31269         * modules/localename (License): Likewise.
31270         * modules/lock (License): Likewise.
31271         * modules/relocatable-lib-lgpl (License): Likewise.
31272         * modules/size_max (License): Likewise.
31273         * modules/vasnprintf (License): Likewise.
31274         * modules/wchar (License): Likewise.
31275         * modules/xsize (License): Likewise.
31276
31277 2007-07-13  Bruno Haible  <bruno@clisp.org>
31278
31279         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
31280         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
31281
31282 2007-07-12  Bruno Haible  <bruno@clisp.org>
31283
31284         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
31285         in the modules files.
31286
31287 2007-07-11  Karl Berry  <karl@gnu.org>
31288
31289         * MODULES.html.sh (func_module): use
31290          sed -e '\|^'"${includefile}"'$|d'
31291          instead of /.../d, to avoid errors on $includefile's containing /.
31292
31293 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
31294
31295         * gnulib-tool (func_import): Avoid duplication of --avoid
31296         statements
31297         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
31298         names to `_' in variable names.
31299
31300 2007-07-10  Eric Blake  <ebb9@byu.net>
31301
31302         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
31303         * NEWS: Document this change.
31304
31305 2007-07-08  Bruno Haible  <bruno@clisp.org>
31306
31307         Update to Unicode 5.0.
31308         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
31309         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
31310         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
31311         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
31312         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
31313         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
31314         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
31315         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
31316         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
31317         U+10A3F, U+1D242..U+1D244.
31318         (nonspacing_table_ind): Update.
31319         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
31320         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
31321
31322 2007-07-08  Bruno Haible  <bruno@clisp.org>
31323
31324         Update to Unicode 5.0.
31325         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
31326         code transform. Extend the name index field of unicode_name_to_code and
31327         unicode_code_to_name from 16 to 24 bits.
31328         * lib/uniname/uniname.c (unicode_character_name,
31329         unicode_name_character): Add the range 0x12xxx to the code transform.
31330         * lib/uniname/uninames.h: Regenerated.
31331         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
31332
31333 2007-07-07  Bruno Haible  <bruno@clisp.org>
31334
31335         * modules/wcwidth-tests: New file.
31336         * tests/test-wcwidth.c: New file.
31337
31338         Work around MacOS X wcwidth() bug.
31339         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
31340         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
31341         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
31342         original wcwidth in non-UTF-8 locales.
31343         * modules/wcwidth (Depends-on): Add localcharset, streq,
31344         uniwidth/width.
31345         * doc/functions/wcwidth.texi: Update.
31346
31347 2007-07-07  Bruno Haible  <bruno@clisp.org>
31348
31349         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
31350         (wcwidth): New declaration.
31351         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
31352         macros.
31353         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
31354         here. Prepare for creating <wchar.h> unconditionally.
31355         * modules/wchar (Depends-on): Add link-warning.
31356         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
31357         REPLACE_WCWIDTH, and GL_LINK_WARNING.
31358         * lib/wcwidth.h: Remove file.
31359         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
31360         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
31361         * modules/wcwidth (Files): Remove lib/wcwidth.h.
31362         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
31363         (Include): Replace wcwidth.h with <wchar.h>.
31364         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
31365         * lib/mbchar.h: Don't include wcwidth.h.
31366         * lib/mbswidth.c: Likewise.
31367         * NEWS: Mention the change.
31368
31369 2007-07-07  Bruno Haible  <bruno@clisp.org>
31370
31371         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
31372         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
31373         definition with an external declaration.
31374         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
31375         defined as a function. Remove AC_C_INLINE requirement.
31376         * modules/wcwidth (Files): Add lib/wcwidth.c.
31377         (Makefile.am): Remove redundant statement.
31378
31379 2007-07-07  Bruno Haible  <bruno@clisp.org>
31380
31381         * MODULES.html.sh (Unicode string functions): Add the new modules.
31382
31383         * tests/uniwidth/test-u32-strwidth.c: New file.
31384         * modules/uniwidth/u32-strwidth-tests: New file.
31385
31386         * lib/uniwidth/u32-strwidth.c: New file.
31387         * modules/uniwidth/u32-strwidth: New file.
31388
31389         * tests/uniwidth/test-u16-strwidth.c: New file.
31390         * modules/uniwidth/u16-strwidth-tests: New file.
31391
31392         * lib/uniwidth/u16-strwidth.c: New file.
31393         * modules/uniwidth/u16-strwidth: New file.
31394
31395         * tests/uniwidth/test-u8-strwidth.c: New file.
31396         * modules/uniwidth/u8-strwidth-tests: New file.
31397
31398         * lib/uniwidth/u8-strwidth.c: New file.
31399         * modules/uniwidth/u8-strwidth: New file.
31400
31401         * tests/uniwidth/test-u32-width.c: New file.
31402         * modules/uniwidth/u32-width-tests: New file.
31403
31404         * lib/uniwidth/u32-width.c: New file.
31405         * modules/uniwidth/u32-width: New file.
31406
31407         * tests/uniwidth/test-u16-width.c: New file.
31408         * modules/uniwidth/u16-width-tests: New file.
31409
31410         * lib/uniwidth/u16-width.c: New file.
31411         * modules/uniwidth/u16-width: New file.
31412
31413         * tests/uniwidth/test-u8-width.c: New file.
31414         * modules/uniwidth/u8-width-tests: New file.
31415
31416         * lib/uniwidth/u8-width.c: New file.
31417         * modules/uniwidth/u8-width: New file.
31418
31419         * tests/uniwidth/test-uc_width.c: New file.
31420         * modules/uniwidth/width-tests: New file.
31421
31422         * lib/uniwidth/width.c: New file, from GNU libiconv.
31423         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
31424         * modules/uniwidth/width: New file.
31425
31426         * lib/uniwidth.h: New file, from GNU libiconv.
31427         * modules/uniwidth/base: New file.
31428
31429 2007-07-07  Bruno Haible  <bruno@clisp.org>
31430
31431         * lib/uniname.h: New file, from GNU gettext.
31432         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
31433         * lib/uniname/uninames.h: New file, from GNU gettext.
31434         * lib/uniname/uniname.c: New file, from GNU gettext.
31435         * tests/uniname/test-uninames.sh: New file.
31436         * tests/uniname/test-uninames.c: New file, from GNU gettext.
31437         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
31438         * modules/uniname/base: New file.
31439         * modules/uniname/uniname: New file.
31440         * modules/uniname/uniname-tests: New file.
31441         * MODULES.html.sh (Unicode string functions): Add the new modules.
31442
31443 2007-07-06  Bruno Haible  <bruno@clisp.org>
31444
31445         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
31446
31447 2007-07-06  Bruno Haible  <bruno@clisp.org>
31448
31449         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
31450         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
31451         includes <cygwin/sys_time.h> which includes <sys/select.h> which
31452         include <sys/time.h>.
31453         Reported by Eric Blake.
31454
31455 2007-07-06  Eric Blake  <ebb9@byu.net>
31456
31457         Fix testing canonicalize on cygwin.
31458         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
31459         Revert patch from 2007-06-19.
31460         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
31461         canonicalize module is also in use.
31462         * tests/test-canonicalize.c: New file.
31463         * tests/test-canonicalize.sh: Likewise.
31464         * modules/canonicalize-tests: Likewise.
31465
31466 2007-07-06  Jim Meyering  <jim@meyering.net>
31467
31468         * lib/getugroups.c (getugroups): Detect getgrent failure.
31469         Adjust comment to reflect reality: this function may return -1.
31470
31471 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31472
31473         * build-aux/bootstrap (TP_URL,get_translations): Update to use
31474         the new TP address.
31475         (usage): Fix typo
31476         (gnulib_mk): New variable.
31477
31478 2007-07-05  Jim Meyering  <jim@meyering.net>
31479
31480         Don't let endgrent clobber errno, no matter how improbable.
31481         * lib/getugroups.c (getugroups): Save and restore errno around
31482         endgrent call.
31483
31484         Close the group DB even when failing with 2^31 or more members.
31485         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
31486
31487 2007-07-04  Jim Meyering  <jim@meyering.net>
31488
31489         * lib/getugroups.h: New file.
31490         * lib/getugroups.c: Include "getugroups.h".
31491         Remove uses of "register" keyword.
31492         Move local variable, "cp", down into scope where used.
31493         Give "username" parameter the "const" attribute.
31494         * modules/getugroups (Files): Add lib/getugroups.h
31495
31496 2007-07-04  Karl Berry  <karl@gnu.org>
31497
31498         * MODULES.html.sh (func_all_modules): Complete rename of
31499         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
31500
31501 2007-07-02  Bruno Haible  <bruno@clisp.org>
31502
31503         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
31504         mode, when inttypes.h comes from gnulib.
31505         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
31506
31507 2007-07-02  Simon Josefsson  <simon@josefsson.org>
31508
31509         * NEWS: Mention lgpl module name change.
31510
31511         * modules/lgpl-2.1: Renamed from lgpl.
31512
31513         * NEWS: Mention gpl module name change.
31514
31515         * modules/gpl-3.0: New file, based on gpl-2.0.
31516
31517         * modules/gpl-2.0: Renamed from gpl.
31518
31519         * modules/gpl: Fix filename, doc/gpl.texi is now found at
31520         doc/gpl-2.0.texi.
31521
31522 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
31523
31524         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
31525         #define __STDC_LIMIT_MACROS temporarily while including
31526         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
31527         Problem reported by Joel E. Denny in
31528         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
31529
31530 2007-07-01  Bruno Haible  <bruno@clisp.org>
31531
31532         * lib/unistdio.h: New file.
31533         * lib/unistdio/u-asnprintf.h: New file.
31534         * lib/unistdio/u-asprintf.h: New file.
31535         * lib/unistdio/u-printf-args.c: New file.
31536         * lib/unistdio/u-printf-args.h: New file.
31537         * lib/unistdio/u-printf-parse.h: New file.
31538         * lib/unistdio/u-snprintf.h: New file.
31539         * lib/unistdio/u-sprintf.h: New file.
31540         * lib/unistdio/u-vasprintf.h: New file.
31541         * lib/unistdio/u-vsnprintf.h: New file.
31542         * lib/unistdio/u-vsprintf.h: New file.
31543         * lib/unistdio/ulc-asnprintf.c: New file.
31544         * lib/unistdio/ulc-asprintf.c: New file.
31545         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
31546         * lib/unistdio/ulc-printf-parse.c: New file.
31547         * lib/unistdio/ulc-snprintf.c: New file.
31548         * lib/unistdio/ulc-sprintf.c: New file.
31549         * lib/unistdio/ulc-vasnprintf.c: New file.
31550         * lib/unistdio/ulc-vasprintf.c: New file.
31551         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
31552         * lib/unistdio/ulc-vsnprintf.c: New file.
31553         * lib/unistdio/ulc-vsprintf.c: New file.
31554         * lib/unistdio/u8-asnprintf.c: New file.
31555         * lib/unistdio/u8-asprintf.c: New file.
31556         * lib/unistdio/u8-printf-parse.c: New file.
31557         * lib/unistdio/u8-snprintf.c: New file.
31558         * lib/unistdio/u8-sprintf.c: New file.
31559         * lib/unistdio/u8-vasnprintf.c: New file.
31560         * lib/unistdio/u8-vasprintf.c: New file.
31561         * lib/unistdio/u8-vsnprintf.c: New file.
31562         * lib/unistdio/u8-vsprintf.c: New file.
31563         * lib/unistdio/u8-u8-asnprintf.c: New file.
31564         * lib/unistdio/u8-u8-asprintf.c: New file.
31565         * lib/unistdio/u8-u8-snprintf.c: New file.
31566         * lib/unistdio/u8-u8-sprintf.c: New file.
31567         * lib/unistdio/u8-u8-vasnprintf.c: New file.
31568         * lib/unistdio/u8-u8-vasprintf.c: New file.
31569         * lib/unistdio/u8-u8-vsnprintf.c: New file.
31570         * lib/unistdio/u8-u8-vsprintf.c: New file.
31571         * lib/unistdio/u16-asnprintf.c: New file.
31572         * lib/unistdio/u16-asprintf.c: New file.
31573         * lib/unistdio/u16-printf-parse.c: New file.
31574         * lib/unistdio/u16-snprintf.c: New file.
31575         * lib/unistdio/u16-sprintf.c: New file.
31576         * lib/unistdio/u16-vasnprintf.c: New file.
31577         * lib/unistdio/u16-vasprintf.c: New file.
31578         * lib/unistdio/u16-vsnprintf.c: New file.
31579         * lib/unistdio/u16-vsprintf.c: New file.
31580         * lib/unistdio/u16-u16-asnprintf.c: New file.
31581         * lib/unistdio/u16-u16-asprintf.c: New file.
31582         * lib/unistdio/u16-u16-snprintf.c: New file.
31583         * lib/unistdio/u16-u16-sprintf.c: New file.
31584         * lib/unistdio/u16-u16-vasnprintf.c: New file.
31585         * lib/unistdio/u16-u16-vasprintf.c: New file.
31586         * lib/unistdio/u16-u16-vsnprintf.c: New file.
31587         * lib/unistdio/u16-u16-vsprintf.c: New file.
31588         * lib/unistdio/u32-asnprintf.c: New file.
31589         * lib/unistdio/u32-asprintf.c: New file.
31590         * lib/unistdio/u32-printf-parse.c: New file.
31591         * lib/unistdio/u32-snprintf.c: New file.
31592         * lib/unistdio/u32-sprintf.c: New file.
31593         * lib/unistdio/u32-vasnprintf.c: New file.
31594         * lib/unistdio/u32-vasprintf.c: New file.
31595         * lib/unistdio/u32-vsnprintf.c: New file.
31596         * lib/unistdio/u32-vsprintf.c: New file.
31597         * lib/unistdio/u32-u32-asnprintf.c: New file.
31598         * lib/unistdio/u32-u32-asprintf.c: New file.
31599         * lib/unistdio/u32-u32-snprintf.c: New file.
31600         * lib/unistdio/u32-u32-sprintf.c: New file.
31601         * lib/unistdio/u32-u32-vasnprintf.c: New file.
31602         * lib/unistdio/u32-u32-vasprintf.c: New file.
31603         * lib/unistdio/u32-u32-vsnprintf.c: New file.
31604         * lib/unistdio/u32-u32-vsprintf.c: New file.
31605         * tests/unistdio/test-ulc-asnprintf1.c: New file.
31606         * tests/unistdio/test-ulc-asnprintf1.h: New file.
31607         * tests/unistdio/test-ulc-printf1.h: New file.
31608         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
31609         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
31610         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
31611         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
31612         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
31613         * tests/unistdio/test-ulc-vasprintf1.c: New file.
31614         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
31615         * tests/unistdio/test-ulc-vsprintf1.c: New file.
31616         * tests/unistdio/test-u8-asnprintf1.c: New file.
31617         * tests/unistdio/test-u8-asnprintf1.h: New file.
31618         * tests/unistdio/test-u8-printf1.h: New file.
31619         * tests/unistdio/test-u8-vasnprintf1.c: New file.
31620         * tests/unistdio/test-u8-vasnprintf2.c: New file.
31621         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
31622         * tests/unistdio/test-u8-vasnprintf3.c: New file.
31623         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
31624         * tests/unistdio/test-u8-vasprintf1.c: New file.
31625         * tests/unistdio/test-u8-vsnprintf1.c: New file.
31626         * tests/unistdio/test-u8-vsprintf1.c: New file.
31627         * tests/unistdio/test-u16-asnprintf1.c: New file.
31628         * tests/unistdio/test-u16-asnprintf1.h: New file.
31629         * tests/unistdio/test-u16-printf1.h: New file.
31630         * tests/unistdio/test-u16-vasnprintf1.c: New file.
31631         * tests/unistdio/test-u16-vasnprintf2.c: New file.
31632         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
31633         * tests/unistdio/test-u16-vasnprintf3.c: New file.
31634         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
31635         * tests/unistdio/test-u16-vasprintf1.c: New file.
31636         * tests/unistdio/test-u16-vsnprintf1.c: New file.
31637         * tests/unistdio/test-u16-vsprintf1.c: New file.
31638         * tests/unistdio/test-u32-asnprintf1.c: New file.
31639         * tests/unistdio/test-u32-asnprintf1.h: New file.
31640         * tests/unistdio/test-u32-printf1.h: New file.
31641         * tests/unistdio/test-u32-vasnprintf1.c: New file.
31642         * tests/unistdio/test-u32-vasnprintf2.c: New file.
31643         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
31644         * tests/unistdio/test-u32-vasnprintf3.c: New file.
31645         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
31646         * tests/unistdio/test-u32-vasprintf1.c: New file.
31647         * tests/unistdio/test-u32-vsnprintf1.c: New file.
31648         * tests/unistdio/test-u32-vsprintf1.c: New file.
31649         * modules/unistdio/base: New file.
31650         * modules/unistdio/u-printf-args: New file.
31651         * modules/unistdio/ulc-asnprintf: New file.
31652         * modules/unistdio/ulc-asprintf: New file.
31653         * modules/unistdio/ulc-fprintf: New file.
31654         * modules/unistdio/ulc-printf-parse: New file.
31655         * modules/unistdio/ulc-snprintf: New file.
31656         * modules/unistdio/ulc-sprintf: New file.
31657         * modules/unistdio/ulc-vasnprintf: New file.
31658         * modules/unistdio/ulc-vasprintf: New file.
31659         * modules/unistdio/ulc-vfprintf: New file.
31660         * modules/unistdio/ulc-vsnprintf: New file.
31661         * modules/unistdio/ulc-vsprintf: New file.
31662         * modules/unistdio/u8-asnprintf: New file.
31663         * modules/unistdio/u8-asprintf: New file.
31664         * modules/unistdio/u8-printf-parse: New file.
31665         * modules/unistdio/u8-snprintf: New file.
31666         * modules/unistdio/u8-sprintf: New file.
31667         * modules/unistdio/u8-vasnprintf: New file.
31668         * modules/unistdio/u8-vasprintf: New file.
31669         * modules/unistdio/u8-vsnprintf: New file.
31670         * modules/unistdio/u8-vsprintf: New file.
31671         * modules/unistdio/u8-u8-asnprintf: New file.
31672         * modules/unistdio/u8-u8-asprintf: New file.
31673         * modules/unistdio/u8-u8-snprintf: New file.
31674         * modules/unistdio/u8-u8-sprintf: New file.
31675         * modules/unistdio/u8-u8-vasnprintf: New file.
31676         * modules/unistdio/u8-u8-vasprintf: New file.
31677         * modules/unistdio/u8-u8-vsnprintf: New file.
31678         * modules/unistdio/u8-u8-vsprintf: New file.
31679         * modules/unistdio/u16-asnprintf: New file.
31680         * modules/unistdio/u16-asprintf: New file.
31681         * modules/unistdio/u16-printf-parse: New file.
31682         * modules/unistdio/u16-snprintf: New file.
31683         * modules/unistdio/u16-sprintf: New file.
31684         * modules/unistdio/u16-vasnprintf: New file.
31685         * modules/unistdio/u16-vasprintf: New file.
31686         * modules/unistdio/u16-vsnprintf: New file.
31687         * modules/unistdio/u16-vsprintf: New file.
31688         * modules/unistdio/u16-u16-asnprintf: New file.
31689         * modules/unistdio/u16-u16-asprintf: New file.
31690         * modules/unistdio/u16-u16-snprintf: New file.
31691         * modules/unistdio/u16-u16-sprintf: New file.
31692         * modules/unistdio/u16-u16-vasnprintf: New file.
31693         * modules/unistdio/u16-u16-vasprintf: New file.
31694         * modules/unistdio/u16-u16-vsnprintf: New file.
31695         * modules/unistdio/u16-u16-vsprintf: New file.
31696         * modules/unistdio/u32-asnprintf: New file.
31697         * modules/unistdio/u32-asprintf: New file.
31698         * modules/unistdio/u32-printf-parse: New file.
31699         * modules/unistdio/u32-snprintf: New file.
31700         * modules/unistdio/u32-sprintf: New file.
31701         * modules/unistdio/u32-vasnprintf: New file.
31702         * modules/unistdio/u32-vasprintf: New file.
31703         * modules/unistdio/u32-vsnprintf: New file.
31704         * modules/unistdio/u32-vsprintf: New file.
31705         * modules/unistdio/u32-u32-asnprintf: New file.
31706         * modules/unistdio/u32-u32-asprintf: New file.
31707         * modules/unistdio/u32-u32-snprintf: New file.
31708         * modules/unistdio/u32-u32-sprintf: New file.
31709         * modules/unistdio/u32-u32-vasnprintf: New file.
31710         * modules/unistdio/u32-u32-vasprintf: New file.
31711         * modules/unistdio/u32-u32-vsnprintf: New file.
31712         * modules/unistdio/u32-u32-vsprintf: New file.
31713         * modules/unistdio/ulc-asnprintf-tests: New file.
31714         * modules/unistdio/ulc-vasnprintf-tests: New file.
31715         * modules/unistdio/ulc-vasprintf-tests: New file.
31716         * modules/unistdio/ulc-vsnprintf-tests: New file.
31717         * modules/unistdio/ulc-vsprintf-tests: New file.
31718         * modules/unistdio/u8-asnprintf-tests: New file.
31719         * modules/unistdio/u8-vasnprintf-tests: New file.
31720         * modules/unistdio/u8-vasprintf-tests: New file.
31721         * modules/unistdio/u8-vsnprintf-tests: New file.
31722         * modules/unistdio/u8-vsprintf-tests: New file.
31723         * modules/unistdio/u16-asnprintf-tests: New file.
31724         * modules/unistdio/u16-vasnprintf-tests: New file.
31725         * modules/unistdio/u16-vasprintf-tests: New file.
31726         * modules/unistdio/u16-vsnprintf-tests: New file.
31727         * modules/unistdio/u16-vsprintf-tests: New file.
31728         * modules/unistdio/u32-asnprintf-tests: New file.
31729         * modules/unistdio/u32-vasnprintf-tests: New file.
31730         * modules/unistdio/u32-vasprintf-tests: New file.
31731         * modules/unistdio/u32-vsnprintf-tests: New file.
31732         * modules/unistdio/u32-vsprintf-tests: New file.
31733         * MODULES.html.sh (Unicode string functions): Add the new modules.
31734
31735 2007-07-01  Bruno Haible  <bruno@clisp.org>
31736
31737         * lib/sprintf.c (sprintf): Limit the available length estimation,
31738         to avoid address wraparound.
31739         * lib/vsprintf.c (vsprintf): Likewise.
31740         * modules/sprintf-posix (Dependencies): Add stdint.
31741         * modules/vsprintf-posix (Dependencies): Likewise.
31742
31743 2007-07-01  Bruno Haible  <bruno@clisp.org>
31744
31745         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
31746         Windows PATH as well. Conservative double-quoting. Comments.
31747
31748 2007-07-01  Bruno Haible  <bruno@clisp.org>
31749             Eric Blake  <ebb9@byu.net>
31750             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31751
31752         * gnulib-tool (self_abspathname): Fix algorithm to cope with
31753         empty components in $PATH, denoting '.'.
31754
31755 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31756
31757         * gnulib-tool: Fix indentation.
31758         (func_create_megatestdir): Likewise.
31759         Report by Bruno Haible.
31760
31761 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31762
31763         Sync from Automake.
31764         * build-aux/gnupload: Fix shell portability issues with for loops.
31765         Report by Karl Berry.
31766
31767 2007-06-29  Simon Josefsson  <simon@josefsson.org>
31768
31769         * build-aux/maint.mk (POURL): Use translationproject.org.
31770
31771 2007-06-27  Simon Josefsson  <simon@josefsson.org>
31772             Bruno Haible  <bruno@clisp.org>
31773
31774         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
31775         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
31776         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
31777         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
31778         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
31779
31780 2007-06-27  Bruno Haible  <bruno@clisp.org>
31781
31782         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
31783         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
31784
31785 2007-06-26  Karl Berry  <karl@gnu.org>
31786
31787         * MODULES.html.sh: remove xreadlink-with-size.
31788
31789 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
31790
31791         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
31792         method that I hope also handles the double-include problem noted
31793         by Bruno Haible in
31794         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
31795
31796 2007-06-23  Bruno Haible  <bruno@clisp.org>
31797
31798         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31799         Don't let the 'mostlyclean' target fail if the last subdirectory could
31800         not be removed.
31801         Reported by Karl Berry.
31802
31803 2007-06-23  Bruno Haible  <bruno@clisp.org>
31804
31805         * gnulib-tool (echo): Add a speedier workaround for ksh.
31806         * tests/test-echo.sh: Likewise.
31807
31808 2007-06-23  Bruno Haible  <bruno@clisp.org>
31809
31810         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
31811         * tests/test-echo.sh: Likewise.
31812
31813 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31814
31815         * gnulib-tool (IFS): Initialize early, so we don't set it to
31816         empty later.
31817         (self_abspathname): Rewrite algorithm to set it, reindent.
31818         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
31819         (func_create_megatestdir): Merge some sed scripts.
31820
31821 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
31822
31823         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
31824         exposed by Sun Studio 11 cc on Solaris 8.
31825
31826 2007-06-22  Bruno Haible  <bruno@clisp.org>
31827
31828         * gnulib-tool (echo): Ensure the echo primitive does not interpret
31829         backslashes.
31830         * tests/test-echo.sh: New file.
31831
31832 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31833
31834         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
31835         simplify `sed_replace_build_aux' scripts, they are portable but
31836         echoing them with `echo' is not.
31837         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
31838
31839 2007-06-21  Karl Berry  <karl@gnu.org>
31840
31841         * config/srclist.txt: guess we can't handle the licenses via
31842         srclist at the moment.
31843
31844 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
31845
31846         * MODULES.html.sh: Add include_next.
31847         * modules/include_next: New file.
31848
31849 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
31850
31851         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
31852         INCLUDE_NEXT.
31853         (gl_CHECK_NEXT_HEADERS): New macro.
31854         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
31855         the obsolescent gl_ABSOLUTE_HEADER.
31856         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
31857         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
31858         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
31859         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31860         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31861         * m4/math_h.m4 (gl_MATH_H): Likewise.
31862         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
31863         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31864         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
31865         * m4/stdint.m4 (gl_STDINT_H): Likewise.
31866         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
31867         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
31868         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
31869         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31870         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31871         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31872         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
31873         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
31874         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
31875         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
31876         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31877         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
31878         * m4/inttypes.m4 (gl_INTTYPES_H): Define
31879         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
31880         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
31881         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
31882         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
31883         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
31884         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
31885         * lib/float_.h: Likewise.
31886         * lib/inttypes_.h: Likewise.
31887         * lib/math_.h: Likewise.
31888         * lib/search_.h: Likewise.
31889         * lib/signal_.h: Likewise.
31890         * lib/stdint_.h: Likewise.
31891         * lib/stdio_.h: Likewise.
31892         * lib/stdlib_.h: Likewise.
31893         * lib/string_.h: Likewise.
31894         * lib/sys_stat_.h: Likewise.
31895         * lib/sys_time_.h: Likewise.
31896         * lib/time_.h: Likewise.
31897         * lib/unistd_.h: Likewise.
31898         * lib/wchar_.h: Likewise.
31899         * lib/wctype_.h: Likewise.
31900         * lib/dirent_.h: Likewise.
31901         * lib/iconv_.h: Likewise.
31902         * lib/locale_.h: Likewise.
31903         * lib/netinet_in_.h: Likewise.
31904         * lib/sys_select_.h: Likewise.
31905         * lib/sys_socket_.h: Likewise.
31906         * lib/sysexits_.h: Likewise.
31907         * modules/fcntl (Depends-on): Depend on include_next, not
31908         absolute_header.
31909         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
31910         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
31911         * modules/fchdir: Likewise.
31912         * modules/float: Likewise.
31913         * modules/iconv_open: Likewise.
31914         * modules/inttypes: Likewise.
31915         * modules/locale: Likewise.
31916         * modules/math: Likewise.
31917         * modules/netinet_in: Likewise.
31918         * modules/search: Likewise.
31919         * modules/signal: Likewise.
31920         * modules/stdint: Likewise.
31921         * modules/stdio: Likewise.
31922         * modules/stdlib: Likewise.
31923         * modules/string: Likewise.
31924         * modules/sys_select: Likewise.
31925         * modules/sys_socket: Likewise.
31926         * modules/sys_stat: Likewise.
31927         * modules/sys_time: Likewise.
31928         * modules/sysexits: Likewise.
31929         * modules/time: Likewise.
31930         * modules/unistd: Likewise.
31931         * modules/wchar: Likewise.
31932         * modules/wctype: Likewise.
31933         * modules/sys_stat: Change maintainer to "all".
31934         * modules/unistd: Likewise.
31935
31936 2007-06-20  Karl Berry  <karl@gnu.org>
31937
31938         * config/srclist.txt: track www changes in license files.
31939
31940 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
31941
31942         * build-aux/bootstrap: Remove stray dot.
31943         Make sure build_aux settings are honored when linking
31944         gnulib_extra_files.
31945
31946 2007-06-19  Eric Blake  <ebb9@byu.net>
31947
31948         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
31949         Allow compilation on cygwin.
31950
31951 2007-06-19  Jim Meyering  <jim@meyering.net>
31952
31953         xreadlink-with-size: Remove module.  No longer used.
31954         Ex-callers now use xreadlink or mreadlink-with-size.
31955         * modules/xreadlink-with-size: Remove module.
31956         * lib/xreadlink-with-size.c: Remove file.
31957         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
31958         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
31959         just before the function definition *is* accurate.
31960
31961         Eliminate one way canonicalize_filename_mode could exit.
31962         * lib/canonicalize.c (canonicalize_filename_mode):
31963         Use mreadlink_with_size, not xreadlink_with_size.
31964
31965 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
31966
31967         Detect porting problems to FreeBSD/arm, which has time_t wider than
31968         long int.  Original problem reported for GNU diff by Xin Li in
31969         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
31970         * modules/getdate (Depends-on): Add intprops, verify.
31971         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
31972         is an integer type no wider than long int.
31973
31974 2007-06-18  Jim Meyering  <jim@meyering.net>
31975
31976         New module: mreadlink-with-size.
31977         * MODULES.html.sh: Add mreadlink-with-size.
31978         * modules/mreadlink-with-size: New module
31979         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
31980         not xreadlink-with-size.
31981         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
31982
31983 2007-06-16  Bruno Haible  <bruno@clisp.org>
31984
31985         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
31986         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
31987         Reported by Gary V. Vaughan <gary@gnu.org>.
31988
31989 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
31990
31991         Revamp lchown so that it lives in unistd.h where it belongs.
31992         * lib/lchown.h: Remove.
31993         * lib/dirchownmod.c: Don't include lib/lchown.h.
31994         * lib/fchownat.c: Likewise.
31995         * lib/openat.c: Likewise.
31996         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
31997         does not follow symlinks.
31998         (EOPNOTSUPP): Define if not defined.
31999         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
32000         is defined to 0.
32001         (lchown): New decl.
32002         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
32003         Do not check for lchown decl.
32004         Set REPLACE_LCHOWN.
32005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
32006         REPLACE_LCHOWN.
32007         * modules/chown: Make it clear it follows symlinks.
32008         * modules/lchown: Make it clear it doesn't follow symlinks.
32009         (Files): Remove lib/lchown.h
32010         (Depends-on): Add unistd.
32011         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
32012         (Include): Include <unistd.h>, not "lchown.h".
32013         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
32014         REPLACE_LCHOWN.
32015
32016 2007-06-15  Jim Meyering  <jim@meyering.net>
32017
32018         Change license (GPL to LGPL) of fsusage and dependents.
32019         * modules/fsusage (License): Change to LGPL.
32020         * modules/full-read (License): Likewise.
32021         * modules/full-write (License): Likewise.
32022         * modules/safe-read (License): Likewise.
32023         * modules/safe-write (License): Likewise.
32024
32025 2007-06-14  Ben Pfaff  <blp@gnu.org>
32026
32027         Missing part of allocsa -> malloca transition.
32028         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
32029         gl_MALLOCA.
32030
32031 2007-06-12  Bruno Haible  <bruno@clisp.org>
32032
32033         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
32034         to ia64, x86_64, i386.
32035         Reported by Eric Blake.
32036
32037 2007-06-12  Bruno Haible  <bruno@clisp.org>
32038
32039         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
32040         cross-compiling to x86_64.
32041
32042 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
32043
32044         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
32045         glitch reported by Ralf Wildenhues in
32046         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
32047
32048         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
32049         Vin Shelton.
32050
32051 2007-06-11  Bruno Haible  <bruno@clisp.org>
32052
32053         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
32054         replacement string.
32055         Reported by Eric Blake.
32056
32057 2007-06-10  Bruno Haible  <bruno@clisp.org>
32058
32059         Prepare vasnprintf code for use with Unicode strings.
32060         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
32061         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
32062         TYPE_U32_STRING.
32063         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
32064         a_u32_string variants.
32065         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
32066         * lib/printf-args.c: Don't include config.h and the specification
32067         header if PRINTF_FETCHARGS is already defined.
32068         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
32069         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
32070         TYPE_U16_STRING, TYPE_U32_STRING.
32071         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
32072         u16_directive, u16_directives, u32_directive, u32_directives): New
32073         types.
32074         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
32075         New declarations.
32076         * lib/printf-parse.c: Don't include config.h and the specification
32077         header if PRINTF_PARSE is already defined. Eliminate the set of
32078         parameters for WIDE_CHAR_VERSION; the user of this file must provide
32079         them now. Include c-ctype.h.
32080         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
32081         directive and CHAR_T_ONLY_ASCII.
32082         * lib/vasnprintf.c: Don't include config.h and the specification header
32083         if VASNPRINTF is already defined.
32084         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
32085         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
32086         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
32087         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
32088         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
32089         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
32090         code accordingly.
32091         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
32092         pad_ourselves also in this case, with the 'c' and 's' directives, and
32093         with a different notion of "width".
32094         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
32095
32096 2007-06-10  Bruno Haible  <bruno@clisp.org>
32097
32098         * modules/unistr/u32-mbsnlen: New file.
32099         * lib/unistr/u32-mbsnlen.c: New file.
32100
32101         * modules/unistr/u16-mbsnlen: New file.
32102         * lib/unistr/u16-mbsnlen.c: New file.
32103
32104         * modules/unistr/u8-mbsnlen: New file.
32105         * lib/unistr/u8-mbsnlen.c: New file.
32106
32107         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
32108         declarations.
32109
32110 2007-06-10  Bruno Haible  <bruno@clisp.org>
32111
32112         * lib/string_.h (mbsnlen): New declaration.
32113         * lib/mbsnlen.c: New file.
32114         * m4/mbsnlen.m4: New file.
32115         * modules/mbsnlen: New file.
32116         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
32117         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
32118         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
32119
32120 2007-06-10  Bruno Haible  <bruno@clisp.org>
32121
32122         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
32123
32124 2007-06-10  Bruno Haible  <bruno@clisp.org>
32125
32126         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
32127         * lib/mbuiter.h: Likewise.
32128
32129 2007-06-10  Bruno Haible  <bruno@clisp.org>
32130
32131         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
32132         declaration.
32133
32134 2007-06-10  Karl Berry  <karl@gnu.org>
32135
32136         * config/srclist.txt: remove gettext entries, Bruno prefers
32137         to update individually.
32138
32139 2007-06-10  Bruno Haible  <bruno@clisp.org>
32140
32141         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
32142         'maxlen'. Ensure only length + width bytes are allocated, not
32143         length + 1 + width.
32144
32145 2007-06-09  Bruno Haible  <bruno@clisp.org>
32146
32147         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
32148         (CHAR_T): Remove macro.
32149         (VASNPRINTF): Update.
32150
32151 2007-06-09  Bruno Haible  <bruno@clisp.org>
32152
32153         * MODULES.html.sh (Unicode string functions): Add the new modules.
32154
32155         * modules/uniconv/u32-conv-to-enc: New file.
32156         * lib/uniconv/u32-conv-to-enc.c: New file.
32157         * modules/uniconv/u32-conv-to-enc-tests: New file.
32158         * tests/uniconv/test-u32-conv-to-enc.c: New file.
32159
32160         * modules/uniconv/u16-conv-to-enc: New file.
32161         * lib/uniconv/u16-conv-to-enc.c: New file.
32162         * lib/uniconv/u-conv-to-enc.h: New file.
32163         * modules/uniconv/u16-conv-to-enc-tests: New file.
32164         * tests/uniconv/test-u16-conv-to-enc.c: New file.
32165
32166         * modules/uniconv/u8-conv-to-enc: New file.
32167         * lib/uniconv/u8-conv-to-enc.c: New file.
32168         * modules/uniconv/u8-conv-to-enc-tests: New file.
32169         * tests/uniconv/test-u8-conv-to-enc.c: New file.
32170
32171         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
32172         u32_conv_to_encoding): New declarations.
32173
32174 2007-06-09  Bruno Haible  <bruno@clisp.org>
32175
32176         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
32177
32178 2007-06-09  Bruno Haible  <bruno@clisp.org>
32179
32180         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
32181         * modules/malloca: Renamed from modules/allocsa, updated.
32182         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
32183         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
32184         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
32185         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
32186         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
32187         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
32188         * modules/xmalloca: Renamed from modules/xallocsa, updated.
32189         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
32190         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
32191         * modules/c-strcasestr (Depends-on): Update.
32192         * lib/c-strcasestr.c: Update.
32193         * modules/c-strstr (Depends-on): Update.
32194         * lib/c-strstr.c: Update.
32195         * modules/canonicalize-lgpl (Depends-on): Update.
32196         * lib/canonicalize-lgpl.c: Update.
32197         * modules/clean-temp (Depends-on): Update.
32198         * lib/clean-temp.c: Update.
32199         * modules/csharpcomp (Depends-on): Update.
32200         * lib/csharpcomp.c: Update.
32201         * modules/csharpexec (Depends-on): Update.
32202         * lib/csharpexec.c: Update.
32203         * modules/javacomp (Depends-on): Update.
32204         * lib/javacomp.c: Update.
32205         * modules/javaexec (Depends-on): Update.
32206         * lib/javaexec.c: Update.
32207         * modules/mbscasestr (Depends-on): Update.
32208         * lib/mbscasestr.c: Update.
32209         * modules/mbsstr (Depends-on): Update.
32210         * lib/mbsstr.c: Update.
32211         * modules/setenv (Depends-on): Update.
32212         * lib/setenv.c: Update.
32213         * modules/strcasestr (Depends-on): Update.
32214         * lib/strcasestr.c: Update.
32215         * modules/striconveha (Depends-on): Update.
32216         * lib/striconveha.c: Update.
32217         * modules/relocatable-prog-wrapper (Files): Update.
32218         * lib/relocwrapper.c: Update.
32219         * build-aux/install-reloc: Update.
32220         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
32221
32222 2007-06-08  Bruno Haible  <bruno@clisp.org>
32223
32224         Port to uClibc.
32225         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
32226         * lib/fpurge.c (fpurge): Likewise.
32227         * lib/freading.c (freading): Likewise.
32228         * lib/fseeko.c (rpl_fseeko): Likewise.
32229         * lib/fseterr.c (fseterr): Likewise.
32230         * lib/fwriting.c (fwriting): Likewise.
32231         * tests/test-fflush.c (main): Avoid a failure on uClibc.
32232
32233 2007-06-08  Bruno Haible  <bruno@clisp.org>
32234
32235         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
32236         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
32237         * modules/gettext (Files): Add m4/intlmacosx.m4.
32238
32239 2007-06-07  Bruno Haible  <bruno@clisp.org>
32240
32241         * modules/localename-tests: New file.
32242         * tests/test-localename.c: New file.
32243
32244         New module 'localename'.
32245         * lib/localename.h: New file.
32246         * lib/localename.c: New file, from GNU gettext.
32247         * m4/localename.m4: New file.
32248         * modules/localename: New file.
32249
32250 2007-06-07  Bruno Haible  <bruno@clisp.org>
32251
32252         Work around the lack of <wchar.h> on some builds of uClibc.
32253         * doc/headers/wchar.texi: Update.
32254         * lib/wchar_.h: Include <wchar.h> only if it exists.
32255         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
32256         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
32257         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
32258         doesn't exist.
32259         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
32260         * modules/mbfile (Depends-on): Add wchar.
32261         * modules/mbiter (Depends-on): Likewise.
32262         * modules/mbuiter (Depends-on): Likewise.
32263         Reported by Simon Josefsson.
32264
32265 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
32266
32267         Work around problem reported by Steven M. Schweda in
32268         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
32269         Tru64 5.1B with the Compaq compiler environment installed declares
32270         an 'isblank' function but does not define it in the C library.
32271         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
32272         * lib/regex_internal.h (isblank): Likewise.
32273         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
32274         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32275
32276 2007-06-05  Bruno Haible  <bruno@clisp.org>
32277
32278         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
32279         ia64.
32280         * modules/printf-safe: New file.
32281         * modules/fprintf-posix (Depends-on): Add printf-safe.
32282         * modules/printf-posix (Depends-on): Likewise.
32283         * modules/snprintf-posix (Depends-on): Likewise.
32284         * modules/sprintf-posix (Depends-on): Likewise.
32285         * modules/vasnprintf-posix (Depends-on): Likewise.
32286         * modules/vasprintf-posix (Depends-on): Likewise.
32287         * modules/vfprintf-posix (Depends-on): Likewise.
32288         * modules/vprintf-posix (Depends-on): Likewise.
32289         * modules/vsnprintf-posix (Depends-on): Likewise.
32290         * modules/vsprintf-posix (Depends-on): Likewise.
32291         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
32292         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
32293         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
32294         "no" on i386, x86_64, ia64.
32295         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
32296         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
32297         on i386, x86_64, ia64.
32298         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
32299         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
32300         on i386, x86_64, ia64.
32301         * tests/test-vasnprintf-posix.c: Include float.h.
32302         (LDBL80_WORDS): New macro.
32303         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
32304         on i386, x86_64, ia64.
32305         * tests/test-vasprintf-posix.c: Include float.h.
32306         (LDBL80_WORDS): New macro.
32307         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
32308         on i386, x86_64, ia64.
32309         * tests/test-snprintf-posix.c: Include float.h.
32310         * tests/test-sprintf-posix.c: Likewise.
32311         * tests/test-vsnprintf-posix.c: Likewise.
32312         * tests/test-vsprintf-posix.c: Likewise.
32313
32314 2007-06-05  Bruno Haible  <bruno@clisp.org>
32315
32316         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
32317         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
32318         non-IEEE numbers on i386, x86_64, ia64.
32319         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
32320         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
32321         * tests/test-isnanl.h: Include float.h.
32322         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
32323
32324 2007-06-05  Bruno Haible  <bruno@clisp.org>
32325
32326         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
32327         also the %a / %A. Handle the %a / %A code before this extra handling.
32328
32329 2007-06-05  Bruno Haible  <bruno@clisp.org>
32330
32331         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
32332         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
32333
32334 2007-06-05  Bruno Haible  <bruno@clisp.org>
32335
32336         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
32337         typo in variable name.
32338
32339 2007-06-05  Eric Blake  <ebb9@byu.net>
32340
32341         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
32342         Reported by Simon Josefsson.
32343
32344 2007-06-04  Bruno Haible  <bruno@clisp.org>
32345
32346         Avoid test failures on some PowerPC platforms.
32347         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
32348         Define differently for PowerPC.
32349         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
32350         Reported by Gary V. Vaughan <gary@gnu.org>.
32351
32352 2007-06-02  Bruno Haible  <bruno@clisp.org>
32353
32354         Fix test-stdint failure on FreeBSD/ia64.
32355         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
32356         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
32357         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
32358         * doc/headers/stdint.texi: Update.
32359
32360 2007-06-01  Bruno Haible  <bruno@clisp.org>
32361
32362         * tests/test-binary-io.c (main): Pass a third argument to open().
32363         Reported by Gary V. Vaughan <gary@gnu.org>.
32364
32365 2007-06-01  Bruno Haible  <bruno@clisp.org>
32366
32367         * doc/functions/frexpl.texi: Update for mingw.
32368
32369 2007-06-01  Bruno Haible  <bruno@clisp.org>
32370
32371         * tests/test-lseek.c (main): Disable test of errno for invalid third
32372         argument.
32373         * doc/functions/lseek.texi: Update.
32374         Reported by Gary V. Vaughan <gary@gnu.org>.
32375
32376 2007-05-28  Bruno Haible  <bruno@clisp.org>
32377
32378         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
32379
32380 2007-05-31  Eric Blake  <ebb9@byu.net>
32381
32382         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
32383         cross compiling.
32384
32385 2007-05-30  Eric Blake  <ebb9@byu.net>
32386         and Bruno Haible  <bruno@clisp.org>
32387
32388         Work around mingw test failures exposed by m4-1.4.9b.
32389         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
32390         * tests/test-unistd.c: Disable uid_t and git_t tests for the
32391         moment.
32392
32393 2007-05-30  Bruno Haible  <bruno@clisp.org>
32394
32395         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
32396         assuming that they are closed. Needed on HP-UX 11.
32397
32398 2007-05-29  Bruno Haible  <bruno@clisp.org>
32399
32400         Fix a problem with #include_next.
32401         * lib/dirent_.h: Split the double-inclusion guard.
32402         * lib/fcntl_.h: Likewise.
32403         * lib/float_.h: Likewise.
32404         * lib/iconv_.h: Likewise.
32405         * lib/inttypes_.h: Likewise.
32406         * lib/locale_.h: Likewise.
32407         * lib/math_.h: Likewise.
32408         * lib/netinet_in_.h: Likewise.
32409         * lib/search_.h: Likewise.
32410         * lib/signal_.h: Likewise.
32411         * lib/stdint_.h: Likewise.
32412         * lib/stdio_.h: Likewise.
32413         * lib/stdlib_.h: Likewise.
32414         * lib/string_.h: Likewise.
32415         * lib/sys_select_.h: Likewise.
32416         * lib/sys_socket_.h: Likewise.
32417         * lib/sys_stat_.h: Likewise.
32418         * lib/sys_time_.h: Likewise.
32419         * lib/sysexits_.h: Likewise.
32420         * lib/time_.h: Likewise.
32421         * lib/unistd_.h: Likewise.
32422         * lib/wchar_.h: Likewise.
32423         * lib/wctype_.h: Likewise.
32424
32425 2007-05-29  Bruno Haible  <bruno@clisp.org>
32426
32427         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
32428         for the moment.
32429
32430 2007-05-29  Bruno Haible  <bruno@clisp.org>
32431
32432         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
32433         invocation.
32434         Reported by Eric Blake.
32435
32436 2007-05-29  Bruno Haible  <bruno@clisp.org>
32437
32438         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
32439         compiling case.
32440
32441 2007-05-29  Eric Blake  <ebb9@byu.net>
32442             Bruno Haible  <bruno@clisp.org>
32443
32444         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
32445         cross compiles.
32446
32447 2007-05-28  Eric Blake  <ebb9@byu.net>
32448
32449         * modules/closein-tests (test_closein_LDADD): Support test on
32450         cygwin with libtool.
32451
32452 2007-05-28  Bruno Haible  <bruno@clisp.org>
32453
32454         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
32455         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32456         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32457         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32458         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32459         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32460         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32461         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32462         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32463
32464 2007-05-28  Eric Blake  <ebb9@byu.net>
32465
32466         Unconditionally include <config.h> in unit tests.
32467         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
32468         * tests/test-allocsa.c, tests/test-arcfour.c,
32469         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
32470         tests/test-array_list.c, tests/test-array_oset.c,
32471         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
32472         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
32473         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
32474         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
32475         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
32476         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
32477         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
32478         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
32479         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
32480         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
32481         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
32482         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
32483         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
32484         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
32485         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
32486         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
32487         test-md5.c, test-memmem.c, test-printf-posix.c,
32488         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
32489         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
32490         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
32491         test-strcasestr.c, test-striconv.c, test-striconveh.c,
32492         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
32493         test-vasnprintf-posix2.c, test-vasnprintf.c,
32494         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
32495         test-vfprintf-posix.c, test-vprintf-posix.c,
32496         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
32497         test-xvasprintf.c: Likewise.
32498
32499 2007-05-28  Bruno Haible  <bruno@clisp.org>
32500
32501         * gnulib-tool (func_import): Remember the --with-tests command-line
32502         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
32503         Reported by Eric Blake.
32504
32505 2007-05-28  Bruno Haible  <bruno@clisp.org>
32506
32507         * modules/ftell-tests: New file.
32508         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
32509         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
32510
32511         * lib/ftell.c: New file.
32512         * modules/ftell: New file.
32513         * m4/ftell.m4: New file.
32514         * doc/functions/ftell.texi: Update.
32515         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
32516         REPLACE_FTELL.
32517         * lib/stdio_.h (rpl_ftell): New declaration.
32518         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
32519         REPLACE_FTELL.
32520
32521 2007-05-28  Eric Blake  <ebb9@byu.net>
32522
32523         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
32524
32525 2007-05-28  Bruno Haible  <bruno@clisp.org>
32526
32527         * modules/fseek-tests: New file.
32528         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
32529         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
32530
32531         * lib/fseek.c: New file.
32532         * modules/fseek: New file.
32533         * m4/fseek.m4: New file.
32534         * doc/functions/fseek.texi: Update.
32535         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
32536         REPLACE_FSEEK.
32537         * lib/stdio_.h (rpl_fseek): New declaration.
32538         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
32539         REPLACE_FSEEK.
32540
32541 2007-05-28  Bruno Haible  <bruno@clisp.org>
32542
32543         * lib/stdio_.h (fflush): More comments.
32544
32545 2007-05-28  Bruno Haible  <bruno@clisp.org>
32546
32547         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
32548         runtime test.
32549
32550 2007-05-28  Eric Blake  <ebb9@byu.net>
32551
32552         Improve lseek module.
32553         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
32554         * lib/unistd_.h (lseek): Scale back link warning message.
32555         * tests/test-lseek.c: Beef up test.
32556         * tests/test-lseek.sh: Exercise more facets of lseek.
32557         Reported by Bruno Haible.
32558
32559 2007-05-28  Bruno Haible  <bruno@clisp.org>
32560
32561         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
32562         to define.
32563
32564 2007-05-27  Bruno Haible  <bruno@clisp.org>
32565
32566         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
32567
32568 2007-05-27  Bruno Haible  <bruno@clisp.org>
32569
32570         * modules/openmp: New file.
32571         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
32572         Noah Misch.
32573
32574 2007-05-26  Bruno Haible  <bruno@clisp.org>
32575
32576         * modules/chdir-long (Depends-on): Add fchdir.
32577         * modules/chdir-safer (Depends-on): Likewise.
32578         * modules/fts (Depends-on): Likewise.
32579         * modules/fts-lgpl (Depends-on): Likewise.
32580         * modules/openat (Depends-on): Likewise.
32581         * modules/savewd (Depends-on): Likewise.
32582
32583 2007-05-24  Eric Blake  <ebb9@byu.net>
32584
32585         Fix lseek on mingw.
32586         * modules/lseek: New module.
32587         * m4/lseek.m4: New file.
32588         * lib/lseek.c: New file.
32589         * modules/lseek-tests: New file.
32590         * tests/test-lseek.c: New file.
32591         * tests/test-lseek.sh: New file.
32592         * MODULES.html.sh: Document lseek module.
32593         * modules/fflush (Depends-on): Add lseek, fseeko.
32594         * modules/fseeko (Depends-on): Likewise.
32595         * modules/ftello (Depends-on): Likewise.
32596         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
32597         broken.
32598         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
32599         broken.
32600         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
32601         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
32602         * lib/ftello.c (rpl_ftello): Likewise.
32603         * tests/test-fseeko.c (main): Test this.
32604         * tests/test-fseeko.sh: Likewise.
32605         * tests/test-ftello.c (main): Likewise.
32606         * tests/test-ftello.sh: Likewise.
32607         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
32608         implies replacing fseek.
32609         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
32610         HAVE_FTELLO.
32611         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
32612         * modules/unistd (Makefile.am): Likewise.
32613         * lib/unistd_.h (lseek): Declare a replacement.
32614         * doc/functions/lseek.texi (lseek): Document this fix.
32615         * doc/functions/fseek.texi (fseek): Likewise.
32616         * doc/functions/ftell.texi (ftell): Likewise.
32617
32618 2007-05-24  Bruno Haible  <bruno@clisp.org>
32619
32620         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
32621         in the printed representation of a NaN.
32622         * tests/test-vasprintf-posix.c (test_function): Likewise.
32623         * tests/test-snprintf-posix.h (test_function): Likewise.
32624         * tests/test-sprintf-posix.h (test_function): Likewise.
32625         Reported by Eric Blake.
32626
32627 2007-05-23  Eric Blake  <ebb9@byu.net>
32628
32629         Fix fseeko/ftello on cygwin 1.5.24.
32630         * doc/functions/fseeko.texi (fseeko): Document the fix.
32631         * doc/functions/ftello.texi (ftello): Document the fix.
32632         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
32633         * doc/functions/stdout.text (stdout): New file.
32634         * doc/functions/stderr.text (stderr): New file.
32635         * doc/gnulib.texi (Function Substitutes): Use new files.
32636         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
32637         prior to 1.7.0.
32638         * tests/test-ftello.c (main): Likewise for ftello.
32639         * tests/test-fseeko.sh: New file.
32640         * tests/test-ftello.sh: New file.
32641         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
32642         with seekable stdin.
32643         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
32644         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
32645         (gl_REPLACE_FSEEKO): New macro.
32646         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
32647         * modules/fseeko (Files): Distribute fseeko.c.
32648         * modules/ftello (Files): Distribute ftello.c.
32649         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
32650         mode.
32651         * lib/ftello.c (rpl_ftello): New file.
32652         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
32653         fseeko, ftello.
32654         (gl_STDIN_LARGE_OFFSET): New macro.
32655         * modules/stdio (Makefile.am): Perform the replacement.
32656         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
32657
32658 2007-05-23  Bruno Haible  <bruno@clisp.org>
32659
32660         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
32661         GNULIB_POSIXCHECK is defined.
32662
32663 2007-05-21  Bruno Haible  <bruno@clisp.org>
32664
32665         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
32666         Check also the output for NaN arguments. When cross-compiling, guess
32667         no on IRIX.
32668         * lib/vasnprintf.c: Update comments.
32669         * tests/test-vasnprintf-posix.c (strisnan): New function.
32670         (test_function): Use it.
32671         * tests/test-vasprintf-posix.c (strisnan): New function.
32672         (test_function): Use it.
32673         * tests/test-snprintf-posix.h (strisnan): New function.
32674         (test_function): Use it.
32675         * tests/test-sprintf-posix.h (strisnan): New function.
32676         (test_function): Use it.
32677         Reported by Eric Blake.
32678
32679 2007-05-20  Bruno Haible  <bruno@clisp.org>
32680
32681         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
32682         numbers that fails on BeOS.
32683         * doc/functions/frexpl.texi: Update.
32684
32685 2007-05-20  Jim Meyering  <jim@meyering.net>
32686
32687         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
32688         forced upon us by glibc-2.6.
32689
32690 2007-05-20  Bruno Haible  <bruno@clisp.org>
32691
32692         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
32693         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
32694         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
32695         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
32696         NEED_PRINTF_INFINITE.
32697         (is_infinitel): New function.
32698         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
32699         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
32700         gl_PREREQ_VASNPRINTF_INFINITE.
32701         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
32702         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32703         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
32704         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
32705         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
32706         gl_PREREQ_VASNPRINTF_INFINITE.
32707         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32708         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32709         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32710         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32711         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32712         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32713         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32714         * doc/functions/fprintf.texi: Update.
32715         * doc/functions/printf.texi: Update.
32716         * doc/functions/snprintf.texi: Update.
32717         * doc/functions/sprintf.texi: Update.
32718         * doc/functions/vfprintf.texi: Update.
32719         * doc/functions/vprintf.texi: Update.
32720         * doc/functions/vsnprintf.texi: Update.
32721         * doc/functions/vsprintf.texi: Update.
32722
32723 2007-05-20  Bruno Haible  <bruno@clisp.org>
32724
32725         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
32726         was not found in libc.
32727         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
32728
32729 2007-05-20  Bruno Haible  <bruno@clisp.org>
32730
32731         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
32732         printed as "-nan" instead of "nan".
32733         * tests/test-vasprintf-posix.c (test_function): Likewise.
32734         * tests/test-snprintf-posix.h (test_function): Likewise.
32735         * tests/test-sprintf-posix.h (test_function): Likewise.
32736         Needed for HP-UX 11.
32737
32738 2007-05-20  Jim Meyering  <jim@meyering.net>
32739
32740         Fix buggy test for the fchownat-deref bug.
32741         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
32742         symlink required for the run-test.  Without it, this test would
32743         always declare that fchownat doesn't work, and client code would
32744         unnecessarily use the replacement function with fixed libc.
32745         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
32746         Reported by Greg Schafer.
32747
32748 2007-05-19  Bruno Haible  <bruno@clisp.org>
32749
32750         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
32751         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
32752         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
32753         Needed for IRIX 6.5 and Solaris 2.5.1.
32754
32755 2007-05-19  Bruno Haible  <bruno@clisp.org>
32756
32757         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
32758         (test_function): Skip tests involving -0.0 on platforms where
32759         -0.0 = 0.0.
32760         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
32761         (test_function): Skip tests involving -0.0 on platforms where
32762         -0.0 = 0.0.
32763         * tests/test-snprintf-posix.h (have_minus_zero): New function.
32764         (test_function): Skip tests involving -0.0 on platforms where
32765         -0.0 = 0.0.
32766         * tests/test-sprintf-posix.h (have_minus_zero): New function.
32767         (test_function): Skip tests involving -0.0 on platforms where
32768         -0.0 = 0.0.
32769         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
32770         tests.
32771         * tests/test-printf-posix.h (test_function): Likewise.
32772         * tests/test-printf-posix.output: Remove all -0.0 related results.
32773         Needed for IRIX 6.5.
32774
32775 2007-05-19  Bruno Haible  <bruno@clisp.org>
32776
32777         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
32778         printed as "nan0x7fffffff" instead of "nan".
32779         * tests/test-vasprintf-posix.c (test_function): Likewise.
32780         * tests/test-snprintf-posix.h (test_function): Likewise.
32781         * tests/test-sprintf-posix.h (test_function): Likewise.
32782         * tests/test-fprintf-posix.h (NaN): Remove macro.
32783         (test_function): Remove all NaN related tests.
32784         * tests/test-printf-posix.h (NaN): Remove macro.
32785         (test_function): Remove all NaN related tests.
32786         * tests/test-printf-posix.output: Remove all NaN related results.
32787         Needed for IRIX 6.5.
32788
32789 2007-05-19  Bruno Haible  <bruno@clisp.org>
32790
32791         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
32792         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
32793
32794 2007-05-19  Bruno Haible  <bruno@clisp.org>
32795
32796         * lib/float_.h: New file.
32797         * m4/float_h.m4: New file.
32798         * modules/float: New file.
32799         * modules/isnanl (Dependencies): Add float.
32800         * modules/isnanl-nolibm (Dependencies): Likewise.
32801         * modules/mathl (Dependencies): Likewise.
32802         * modules/printf-frexpl (Dependencies): Likewise.
32803         * modules/signbit (Dependencies): Likewise.
32804         * modules/vasnprintf (Dependencies): Likewise.
32805         * doc/headers/float.texi: Update.
32806
32807 2007-05-19  Jim Meyering  <jim@meyering.net>
32808
32809         * lib/utimens.c (gl_futimens): Rename from futimens,
32810         now that glibc-2.6 declares futimens.
32811         * lib/utimens.h: Likewise.
32812
32813 2007-05-19  Bruno Haible  <bruno@clisp.org>
32814
32815         Avoid test failures on mingw.
32816         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
32817         * tests/test-printf-posix.sh: Likewise.
32818         * tests/test-vfprintf-posix.sh: Likewise.
32819         * tests/test-vprintf-posix.sh: Likewise.
32820
32821 2007-05-19  Bruno Haible  <bruno@clisp.org>
32822
32823         Fix *printf result for NaN, Inf, -0.0 on mingw.
32824         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
32825         * lib/vasnprintf.c: Include math.h and isnan.h.
32826         (is_infinite_or_zero): New function.
32827         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
32828         values in the %f, %F, %e, %E, %g, %G directives.
32829         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
32830         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32831         gl_PRINTF_INFINITE and test its result. Invoke
32832         gl_PREREQ_VASNPRINTF_INFINITE.
32833         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32834         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32835         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32836         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32837         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32838         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32839         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32840         * doc/functions/fprintf.texi: Update.
32841         * doc/functions/printf.texi: Update.
32842         * doc/functions/snprintf.texi: Update.
32843         * doc/functions/sprintf.texi: Update.
32844         * doc/functions/vfprintf.texi: Update.
32845         * doc/functions/vprintf.texi: Update.
32846         * doc/functions/vsnprintf.texi: Update.
32847         * doc/functions/vsprintf.texi: Update.
32848
32849 2007-05-19  Bruno Haible  <bruno@clisp.org>
32850
32851         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
32852         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
32853         Instead of multiplying with 10^k, set extra_zeroes to k.
32854         (scale10_round_long_double): Remove function.
32855
32856 2007-05-18  Bruno Haible  <bruno@clisp.org>
32857
32858         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
32859         introduced on 2007-05-06.
32860
32861 2007-05-18  Bruno Haible  <bruno@clisp.org>
32862
32863         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
32864         %g directives.
32865         * tests/test-vasprintf-posix.c (test_function): Likewise.
32866         * tests/test-snprintf-posix.h (test_function): Likewise.
32867         * tests/test-sprintf-posix.h (test_function): Likewise.
32868
32869 2007-05-18  Bruno Haible  <bruno@clisp.org>
32870
32871         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
32872         (strmatch): New function.
32873         (test_function): Test the %f directive on numbers of various exponents.
32874         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
32875         (strmatch): New function.
32876         (test_function): Test the %f directive on numbers of various exponents.
32877         * tests/test-snprintf-posix.h (strmatch): New function.
32878         (test_function): Test the %f directive on numbers of various exponents.
32879         * tests/test-sprintf-posix.h (strmatch): New function.
32880         (test_function): Test the %f directive on numbers of various exponents.
32881         * tests/test-snprintf-posix.c (SIZEOF): New macro.
32882         * tests/test-sprintf-posix.c (SIZEOF): New macro.
32883         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
32884         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
32885
32886 2007-05-18  Bruno Haible  <bruno@clisp.org>
32887
32888         Add support for 'long double' number output.
32889         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
32890         * lib/vasnprintf.c: Include math.h and float+.h.
32891         (mp_limb_t): New type.
32892         (GMP_LIMB_BITS): New macro.
32893         (mp_twolimb_t): New type.
32894         (GMP_TWOLIMB_BITS): New macro.
32895         (mpn_t): New type.
32896         (multiply, divide, convert_to_decimal, decode_long_double,
32897         scale10_round_long_double, scale10_round_decimal_long_double,
32898         floorlog10l): New functions.
32899         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
32900         for the %f, %F, %e, %E, %g, %G directives.
32901         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
32902         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32903         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
32904         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
32905         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32906         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32907         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32908         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32909         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32910         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32911         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32912         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
32913         * modules/snprintf-posix (Depends-on): Likewise.
32914         * modules/sprintf-posix (Depends-on): Likewise.
32915         * modules/vasnprintf-posix (Depends-on): Likewise.
32916         * modules/vasprintf-posix (Depends-on): Likewise.
32917         * modules/vfprintf-posix (Depends-on): Likewise.
32918         * modules/vsnprintf-posix (Depends-on): Likewise.
32919         * modules/vsprintf-posix (Depends-on): Likewise.
32920         * modules/vasnprintf (Files): Add lib/float+.h.
32921         * doc/functions/fprintf.texi: Update.
32922         * doc/functions/printf.texi: Update.
32923         * doc/functions/snprintf.texi: Update.
32924         * doc/functions/sprintf.texi: Update.
32925         * doc/functions/vfprintf.texi: Update.
32926         * doc/functions/vprintf.texi: Update.
32927         * doc/functions/vsnprintf.texi: Update.
32928         * doc/functions/vsprintf.texi: Update.
32929
32930 2007-05-18  Bruno Haible  <bruno@clisp.org>
32931
32932         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
32933
32934 2007-05-18  Bruno Haible  <bruno@clisp.org>
32935
32936         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
32937         for printing 64-bit integers. Needed for mingw.
32938
32939 2007-05-18  Bruno Haible  <bruno@clisp.org>
32940
32941         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
32942         gl_FUNC_FREXPL_WORKS.
32943         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
32944
32945 2007-05-18  Bruno Haible  <bruno@clisp.org>
32946
32947         * modules/frexpl-nolibm-tests: New file.
32948
32949         * modules/frexpl-nolibm: New file.
32950         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
32951
32952 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
32953
32954         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
32955         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
32956         GCC 4.2, which otherwise issues a lot of warnings.
32957         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
32958         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
32959         Likewise.
32960         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
32961         * modules/iconv_open (iconv.h): Likewise.
32962         * modules/locale (locale.h): Likewise.
32963         * modules/netinet_in (netinet/in.h): Likewise.
32964         * modules/sys_select (sys_select.h): Likewise.
32965         * modules/sys_socket (sys/socket.h): Likewise.
32966         * modules/sys_stat (sys/stat.h): Likewise.
32967         * modules/sysexits (sysexits.h): Likewise.
32968         * modules/unistd (unistd.h): Likewise.
32969
32970 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32971
32972         * modules/closein-tests (Makefile.am): Distribute
32973         `test-closein.sh'.
32974
32975 2007-05-17  Bruno Haible  <bruno@clisp.org>
32976
32977         * tests/test-printf-posix.output: Renamed from
32978         tests/test-fprintf-posix.out.
32979         * modules/fprintf-posix-tests: Update.
32980         * modules/printf-posix-tests: Update.
32981         * modules/vfprintf-posix-tests: Update.
32982         * modules/vprintf-posix-tests: Update.
32983         * tests/test-fprintf-posix.sh: Update.
32984         * tests/test-printf-posix.sh: Update.
32985         * tests/test-vfprintf-posix.sh: Update.
32986         * tests/test-vprintf-posix.sh: Update.
32987         Reported by Ralf Wildenhues.
32988
32989 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
32990
32991         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
32992         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
32993         GCC 4.2, which otherwise issues a lot of warnings.
32994         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
32995         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
32996         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
32997         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
32998         it should no longer be needed.
32999         * lib/string_.h: Likewise.
33000         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
33001         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
33002         * modules/inttypes (inttypes.h): Likewise.
33003         * modules/math (math.h): Likewise.
33004         * modules/search (search.h): Likewise.
33005         * modules/signal (signal.h): Likewise.
33006         * modules/stdint (stdint.h): Likewise.
33007         * modules/stdio (stdio.h): Likewise.
33008         * modules/stdlib (stdlib.h): Likewise.
33009         * modules/string (string.h): Likewise.
33010         * modules/sys_time (sys/time.h): Likewise.
33011         * modules/time (time.h): Likewise.
33012         * modules/wchar (wchar.h): Likewise.
33013         * modules/wctype (wtype.h): Likewise.
33014
33015 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
33016
33017         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
33018
33019 2007-05-13  Bruno Haible  <bruno@clisp.org>
33020
33021         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
33022         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
33023         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
33024         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
33025         (gl_PREREQ_STRTOK_R): Don't require it here.
33026
33027 2007-05-13  Bruno Haible  <bruno@clisp.org>
33028
33029         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
33030         when used in C++ mode.
33031
33032 2007-05-12  Bruno Haible  <bruno@clisp.org>
33033
33034         * lib/linebuffer.h: Tweak doc.
33035         * lib/linebuffer.c: Likewise.
33036
33037 2007-05-12  James Youngman  <jay@gnu.org>
33038
33039         * lib/linebuffer.c (readlinebuffer_delim): New function,
33040         like readlinebuffer, but use a caller-specified delimiter.
33041         (readlinebuffer): Just call readlinebuffer_delim with '\n'
33042         as the delimiter.
33043         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
33044
33045 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
33046
33047         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
33048         * modules/openat (Files): Remove openat-die.c.
33049         (Depends-on): Add openat-die.
33050         * modules/openat-die: New module.
33051
33052 2007-05-06  Bruno Haible  <bruno@clisp.org>
33053
33054         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
33055         Update with info about Cygwin.
33056         * doc/functions/fprintf.texi: Update.
33057         * doc/functions/printf.texi: Update.
33058         * doc/functions/snprintf.texi: Update.
33059         * doc/functions/sprintf.texi: Update.
33060         * doc/functions/vfprintf.texi: Update.
33061         * doc/functions/vprintf.texi: Update.
33062         * doc/functions/vsnprintf.texi: Update.
33063         * doc/functions/vsprintf.texi: Update.
33064         Reported by Eric Blake.
33065
33066 2007-05-06  Bruno Haible  <bruno@clisp.org>
33067
33068         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
33069         padding ourselves for the floating-point directives.
33070         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
33071         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
33072         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
33073         gl_PRINTF_FLAG_ZERO and test its result. Invoke
33074         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
33075         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33076         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
33077         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33078         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33079         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33080         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33081         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33082         * tests/test-snprintf-posix.h (test_function): Also check the width
33083         and some flags in the %f directive.
33084         * tests/test-sprintf-posix.h (test_function): Likewise.
33085         * tests/test-vasnprintf-posix.c (test_function): Likewise.
33086         * tests/test-vasprintf-posix.c (test_function): Likewise.
33087         * doc/functions/fprintf.texi: Update.
33088         * doc/functions/printf.texi: Update.
33089         * doc/functions/snprintf.texi: Update.
33090         * doc/functions/sprintf.texi: Update.
33091         * doc/functions/vfprintf.texi: Update.
33092         * doc/functions/vprintf.texi: Update.
33093         * doc/functions/vsnprintf.texi: Update.
33094         * doc/functions/vsprintf.texi: Update.
33095
33096 2007-05-06  Bruno Haible  <bruno@clisp.org>
33097
33098         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
33099         pass the ' flag character to sprintf or snprintf.
33100         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
33101         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
33102         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
33103         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
33104         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
33105         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33106         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
33107         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33108         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33109         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33110         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33111         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33112         * tests/test-snprintf-posix.h (test_function): Also check the grouping
33113         flag.
33114         * tests/test-sprintf-posix.h (test_function): Likewise.
33115         * tests/test-vasnprintf-posix.c (test_function): Likewise.
33116         * tests/test-vasprintf-posix.c (test_function): Likewise.
33117         * doc/functions/fprintf.texi: Update.
33118         * doc/functions/printf.texi: Update.
33119         * doc/functions/snprintf.texi: Update.
33120         * doc/functions/sprintf.texi: Update.
33121         * doc/functions/vfprintf.texi: Update.
33122         * doc/functions/vprintf.texi: Update.
33123         * doc/functions/vsnprintf.texi: Update.
33124         * doc/functions/vsprintf.texi: Update.
33125
33126 2007-05-01  Bruno Haible  <bruno@clisp.org>
33127
33128         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
33129
33130 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
33131
33132         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
33133         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
33134
33135 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
33136
33137         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
33138         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
33139         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
33140
33141 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
33142
33143         * lib/argp-help.c (struct hol_entry): New member `ord'.
33144         (HOL_ENTRY_PTRCMP): Use ord for comparison
33145         (hol_sort): Initialize ord.
33146
33147 2007-05-01  Bruno Haible  <bruno@clisp.org>
33148
33149         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
33150         Reported by Eric Blake.
33151         * doc/gnulib.texi (Function Substitutes): Update.
33152
33153 2007-05-01  Bruno Haible  <bruno@clisp.org>
33154
33155         * doc/functions.texi: Remove file, now redundant through
33156         doc/functions/*.texi.
33157
33158 2007-05-01  Bruno Haible  <bruno@clisp.org>
33159
33160         * modules/argp (Depends-on): Add sleep.
33161
33162 2007-05-01  Bruno Haible  <bruno@clisp.org>
33163
33164         * modules/sleep-tests: New file.
33165         * tests/test-sleep.c: New file.
33166
33167         * modules/sleep: New file.
33168         * lib/sleep.c: New file.
33169         * m4/sleep.m4: New file.
33170         * lib/unistd_.h (sleep): New declaration.
33171         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
33172         HAVE_SLEEP.
33173         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
33174         * doc/functions/sleep.texi: Document the sleep module.
33175
33176 2007-05-01  Bruno Haible  <bruno@clisp.org>
33177
33178         * lib/sigprocmask.h: Remove file.
33179         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
33180         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
33181         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
33182         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
33183         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
33184         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
33185         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
33186         HAVE_SIGSET_T as a shell variable.
33187         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
33188         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
33189         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
33190         (Depends-on): Add signal. Remove verify.
33191         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
33192         (Include): Mention <signal.h> instead of sigprocmask.h.
33193         * NEWS: Mention the change.
33194         * lib/fatal-signal.c: Don't include sigprocmask.h.
33195
33196 2007-05-01  Bruno Haible  <bruno@clisp.org>
33197
33198         * modules/signal: New file.
33199         * lib/signal_.h: New file.
33200         * m4/signal_h.m4: New file.
33201
33202 2007-05-01  Bruno Haible  <bruno@clisp.org>
33203
33204         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
33205         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
33206         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
33207         HAVE_WCTYPE_CTMP_BUG into wctype.h.
33208
33209 2007-05-01  Bruno Haible  <bruno@clisp.org>
33210
33211         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
33212         configure time.
33213         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
33214         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
33215         * modules/sys_stat (Makefile.am): Substitute their values into
33216         sys/stat.h.
33217
33218 2007-05-01  Bruno Haible  <bruno@clisp.org>
33219
33220         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
33221         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
33222         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
33223
33224 2007-05-01  Bruno Haible  <bruno@clisp.org>
33225
33226         * doc/header/assert.texi: Undo last change: don't mention the gnulib
33227         'assert' module here.
33228
33229 2007-05-01  Bruno Haible  <bruno@clisp.org>
33230
33231         * doc/functions/*.texi: New files.
33232         * doc/functions/google-ranking.txt: New file.
33233         * doc/gnulib.texi (Function Substitutes): New chapter.
33234         (ctime, inet_ntoa): Remove sections.
33235         * doc/ctime.texi: Remove file.
33236         * doc/inet_ntoa.texi: Remove file.
33237         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
33238         dependencies.
33239         (%.info): New rule, specifying a --reference-limit.
33240
33241 2007-05-01  Bruno Haible  <bruno@clisp.org>
33242
33243         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
33244
33245 2007-05-01  Bruno Haible  <bruno@clisp.org>
33246
33247         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
33248         the portability of 'mkdir' to mingw systems.
33249
33250 2007-05-01  Bruno Haible  <bruno@clisp.org>
33251
33252         * doc/headers/google-ranking.txt: New file.
33253
33254 2007-04-30  Eric Blake  <ebb9@byu.net>
33255
33256         Prefer fseeko to fseek.
33257         * modules/getpass (Depends-on): Add fseeko.
33258         * lib/getpass.c (getpass): Use fseeko, not fseek.
33259
33260 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
33261
33262         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
33263         assumes the sorting is stable, while most qsort implementations
33264         are not.  Use argument addresses to ensure they never compare as
33265         equal.
33266
33267         * tests/test-argp-2.sh (usage-indent test): Fix output
33268         (func_compare): Restore diff options
33269         * tests/test-argp.c: Restore #include "progname.h"
33270
33271 2007-04-29  Bruno Haible  <bruno@clisp.org>
33272
33273         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
33274         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
33275         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
33276         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33277         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
33278         (configure.ac): Define CHECK_SNPRINTF_POSIX.
33279         (TESTS, check_PROGRAMS): Add test-snprintf.
33280         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
33281         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
33282         (TESTS, check_PROGRAMS): Add test-vsnprintf.
33283         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
33284         assertions that fail on HP-UX, OSF/1, or IRIX.
33285         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
33286
33287 2007-04-29  Bruno Haible  <bruno@clisp.org>
33288
33289         * MODULES.html.sh (posix_functions): Remove 'contents'.
33290
33291 2007-04-29  Karl Berry  <karl@gnu.org>
33292
33293         * config/srclist.txt (gendocs_template_min): new entry.
33294
33295 2007-04-29  Bruno Haible  <bruno@clisp.org>
33296
33297         Work around fpurge bug on BSD systems.
33298         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
33299         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
33300         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
33301         fpurge to rpl_fpurge if the system already has this function.
33302         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
33303         the case where the system already has this function. Correct invariants
33304         on BSD systems.
33305         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
33306         BSD systems.
33307
33308 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
33309
33310         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
33311         proposed by Sven Verdoolaege.
33312
33313         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
33314         options.
33315         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
33316         (usage and help tests): Update
33317
33318 2007-04-29  Bruno Haible  <bruno@clisp.org>
33319
33320         * tests/test-fflush.c (main): Use a file of size 17, not 10.
33321         Print more information in case of failure. Disable a test on BeOS.
33322
33323 2007-04-29  Bruno Haible  <bruno@clisp.org>
33324
33325         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
33326         This helps debugging on systems on which no gdb is available.
33327
33328 2007-04-29  Bruno Haible  <bruno@clisp.org>
33329
33330         * lib/freading.h: Improve comments.
33331         * lib/fwriting.h: Likewise.
33332         * tests/test-freading.c (main): Don't check freading immediately after
33333         repositioning. Needed for glibc.
33334
33335 2007-04-29  Bruno Haible  <bruno@clisp.org>
33336
33337         * lib/freading.c (freading): Trivial simplification.
33338
33339 2007-04-28  Bruno Haible  <bruno@clisp.org>
33340
33341         * tests/test-fwriting.c (main): Also test the interaction between
33342         fflush and fwriting.
33343         * modules/fwriting-tests (Depends-on): Add fflush.
33344
33345         * tests/test-freading.c (main): Also test the interaction between
33346         fflush and freading.
33347         * modules/freading-tests (Depends-on): Add fflush.
33348
33349 2007-04-28  Bruno Haible  <bruno@clisp.org>
33350
33351         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
33352         fseeko and ftello.
33353         Suggested by Eric Blake.
33354
33355 2007-04-28  Jim Meyering  <jim@meyering.net>
33356
33357         Avoid false-negative in gl_STDINT_H's C99 conformance test.
33358         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
33359         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
33360
33361 2007-04-27  Eric Blake  <ebb9@byu.net>
33362
33363         * doc/headers/assert.texi (assert.h): Document assert module use.
33364
33365 2007-04-27  Bruno Haible  <bruno@clisp.org>
33366
33367         * doc/headers/*.texi: New files.
33368         * doc/gnulib.texi (Header File Substitutes): New chapter.
33369         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
33370         dependencies.
33371         (standards.info ,standards.html, standards.dvi): Update dependencies.
33372         (mostlyclean, clean): New targets.
33373
33374 2007-04-27  Bruno Haible  <bruno@clisp.org>
33375
33376         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
33377         * modules/sysexits (Files, Makefile.am): Update.
33378
33379         * lib/sys_socket_.h: Renamed from lib/socket_.h.
33380         * modules/sys_socket (Files, Makefile.am): Update.
33381
33382         * lib/sys_stat_.h: Renamed from lib/stat_.h.
33383         * modules/sys_stat (Files, Makefile.am): Update.
33384
33385 2007-04-27  Eric Blake  <ebb9@byu.net>
33386
33387         * lib/freading.h: Improve comments.
33388         * lib/fwriting.h: Likewise.
33389         * lib/fflush.c: Likewise.
33390
33391         Fix closein for mingw.
33392         * modules/closein-tests: Add tests for closein.
33393         * tests/test-closein.c: New file.
33394         * tests/test-closein.sh: Likewise.
33395         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
33396         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
33397
33398 2007-04-27  Bruno Haible  <bruno@clisp.org>
33399
33400         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
33401         version is < 6.
33402         * lib/math_.h [__DECC]: Likewise.
33403         * lib/stdio_.h [__DECC]: Likewise.
33404         * lib/stdlib_.h [__DECC]: Likewise.
33405         * lib/string_.h [__DECC]: Likewise.
33406         * lib/time_.h [__DECC]: Likewise.
33407         * lib/wchar_.h [__DECC]: Likewise.
33408         * lib/wctype_.h [__DECC]: Likewise.
33409
33410 2007-04-27  Bruno Haible  <bruno@clisp.org>
33411
33412         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
33413
33414 2007-04-27  Bruno Haible  <bruno@clisp.org>
33415
33416         * lib/fflush.c: Add comments.
33417         * modules/fpurge-tests (Depends-on): Add fflush.
33418         * modules/freadable-tests (Depends-on): Likewise.
33419         * modules/fwritable-tests (Depends-on): Likewise.
33420
33421 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
33422
33423         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
33424         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
33425         Report by Bruno Haible <bruno@clisp.org>.
33426
33427 2007-04-26  Eric Blake  <ebb9@byu.net>
33428
33429         Fix fflush on mingw.
33430         * modules/fflush (Depends-on): Add freading.
33431         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
33432         but unread data.
33433
33434 2007-04-26  Eric Blake  <ebb9@byu.net>
33435         and Bruno Haible  <bruno@clisp.org>
33436
33437         Implement freading and fwriting.
33438         * lib/freading.c: New file.
33439         * lib/freading.h: Likewise.
33440         * m4/freading.m4: Likewise.
33441         * modules/freading: Likewise.
33442         * modules/freading-tests: Likewise.
33443         * tests/test-freading.c: Likewise.
33444         * lib/fwriting.c: New file.
33445         * lib/fwriting.h: Likewise.
33446         * m4/fwriting.m4: Likewise.
33447         * modules/fwriting: Likewise.
33448         * modules/fwriting-tests: Likewise.
33449         * tests/test-fwriting.c: Likewise.
33450         * MODULES.html.sh (File stream based Input/Output): Mention them.
33451
33452 2007-04-26  Bruno Haible  <bruno@clisp.org>
33453
33454         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
33455         'long' when we assume it.
33456         Suggested by Eric Blake.
33457
33458 2007-04-26  Bruno Haible  <bruno@clisp.org>
33459
33460         Ensure fseeko, ftello are declared on glibc systems.
33461         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
33462         * modules/fseeko (configure.ac-early): Likewise.
33463         * modules/ftello (configure.ac-early): Likewise.
33464         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
33465         AC_FUNC_FSEEKO for this.
33466         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
33467         (gl_CHECK_FSEEKO): Remove macro.
33468
33469 2007-04-26  Bruno Haible  <bruno@clisp.org>
33470
33471         * tests/test-fflush.c (main): Also check the ftell result after
33472         fflush and fseek/fseeko.
33473         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
33474         file descriptor position cache in the stream.
33475         * lib/fseeko.c (rpl_fseeko): Likewise.
33476
33477 2007-04-26  Bruno Haible  <bruno@clisp.org>
33478
33479         * modules/fflush-tests (Depends-on): Add fseeko.
33480
33481 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
33482             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33483
33484         * lib/argz_.h: ensure error_t definition is obtained in same
33485         mechanism system argz.h would have.
33486         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
33487         argz facilities are known bad.  Err on the side of caution if
33488         cross-compiling.
33489
33490 2007-04-25  Eric Blake  <ebb9@byu.net>
33491
33492         * lib/fpurge.c (includes): Use stdlib.h for free.
33493         * tests/test-fflush.c (main): Also test fflush-fseeko.
33494
33495 2007-04-25  Bruno Haible  <bruno@clisp.org>
33496
33497         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
33498         * lib/fseeko.c: New file.
33499         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
33500         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
33501         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
33502         gl_FUNC_FSEEKO.
33503         (gl_FUNC_FSEEKO): Invoke it.
33504         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
33505         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
33506         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
33507
33508 2007-04-25  Bruno Haible  <bruno@clisp.org>
33509
33510         * modules/fflush (Depends-on): Add ftello.
33511
33512 2007-04-25  Bruno Haible  <bruno@clisp.org>
33513
33514         * modules/ftello-tests: New file.
33515         * tests/test-ftello.c: New file.
33516
33517         * modules/ftello: New file.
33518         * m4/ftello.m4: New file.
33519         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
33520         HAVE_FTELLO.
33521         * lib/stdio_.h (ftello): New declaration.
33522         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
33523         HAVE_FTELLO.
33524
33525 2007-04-25  Bruno Haible  <bruno@clisp.org>
33526
33527         * modules/fseeko-tests: New file.
33528         * tests/test-fseeko.c: New file.
33529
33530         * modules/fseeko: New file.
33531         * m4/fseeko.m4: New file.
33532         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
33533         HAVE_FSEEKO.
33534         * lib/stdio_.h (fseeko): New declaration.
33535         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
33536         HAVE_FSEEKO.
33537
33538 2007-04-25  Bruno Haible  <bruno@clisp.org>
33539
33540         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
33541
33542 2007-04-25  Bruno Haible  <bruno@clisp.org>
33543
33544         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
33545         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
33546         * tests/test-unistd.c: Likewise.
33547         * tests/test-fcntl.c: Likewise.
33548
33549 2007-04-23  Eric Blake  <ebb9@byu.net>
33550
33551         * lib/fflush.c: Fix missing include.
33552         Reported by Bruno Haible.
33553
33554 2007-04-23  Bruno Haible  <bruno@clisp.org>
33555
33556         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
33557         Reported by Eric Blake.
33558
33559 2007-04-23  Bruno Haible  <bruno@clisp.org>
33560
33561         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
33562
33563 2007-04-23  Bruno Haible  <bruno@clisp.org>
33564
33565         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
33566
33567 2007-04-23  Bruno Haible  <bruno@clisp.org>
33568
33569         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
33570         Needed on HP-UX 11.
33571
33572 2007-04-16  Eric Blake  <ebb9@byu.net>
33573
33574         Make fflush rely on fpurge.
33575         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
33576         open coding all variants.
33577         * modules/fflush (Depends-on): Add fpurge and unistd.
33578         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
33579         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
33580
33581         Fix --with-tests compilation on cygwin.
33582         * modules/argmatch-tests (Makefile.am): List gnulib library first
33583         in LDADD.
33584         * modules/argp-tests (Makefile.am): Likewise.
33585         * modules/array-list-tests (Makefile.am): Likewise.
33586         * modules/array-oset-tests (Makefile.am): Likewise.
33587         * modules/avltree-list-tests (Makefile.am): Likewise.
33588         * modules/avltree-oset-tests (Makefile.am): Likewise.
33589         * modules/avltreehash-list-tests (Makefile.am): Likewise.
33590         * modules/carray-list-tests (Makefile.am): Likewise.
33591         * modules/dirname-tests (Makefile.am): Likewise.
33592         * modules/frexp-tests (Makefile.am): Likewise.
33593         * modules/isnanl-tests (Makefile.am): Likewise.
33594         * modules/linked-list-tests (Makefile.am): Likewise.
33595         * modules/linkedhash-list-tests (Makefile.am): Likewise.
33596         * modules/lock-tests (Makefile.am): Likewise.
33597         * modules/rbtree-list-tests (Makefile.am): Likewise.
33598         * modules/rbtree-oset-tests (Makefile.am): Likewise.
33599         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
33600         * modules/tls-tests (Makefile.am): Likewise.
33601         * modules/tsearch-tests (Makefile.am): Likewise.
33602         * modules/xvasprintf-tests (Makefile.am): Likewise.
33603
33604         Fix fpurge for cygwin.
33605         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
33606         value.
33607         * modules/fpurge-tests (Depends-on): Clean up trash.
33608
33609 2007-04-16  Simon Josefsson  <simon@josefsson.org>
33610
33611         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
33612
33613         * m4/autobuild.m4: Re-indent.
33614
33615 2007-04-13  Bruno Haible  <bruno@clisp.org>
33616
33617         * modules/fpurge-tests: New file.
33618         * tests/test-fpurge.c: New file.
33619
33620         * modules/fpurge: New file.
33621         * lib/fpurge.h: New file.
33622         * lib/fpurge.c: New file.
33623         * m4/fpurge.m4: New file.
33624
33625 2007-04-13  Bruno Haible  <bruno@clisp.org>
33626
33627         * modules/fbufmode-tests: New file.
33628         * tests/test-fbufmode.c: New file.
33629
33630         * modules/fbufmode: New file.
33631         * lib/fbufmode.h: New file.
33632         * lib/fbufmode.c: New file.
33633         * m4/fbufmode.m4: New file.
33634
33635 2007-04-13  Bruno Haible  <bruno@clisp.org>
33636
33637         * modules/fwritable-tests: New file.
33638         * tests/test-fwritable.c: New file.
33639
33640         * modules/fwritable: New file.
33641         * lib/fwritable.h: New file.
33642         * lib/fwritable.c: New file.
33643         * m4/fwritable.m4: New file.
33644
33645 2007-04-13  Bruno Haible  <bruno@clisp.org>
33646
33647         * modules/freadable-tests: New file.
33648         * tests/test-freadable.c: New file.
33649
33650         * modules/freadable: New file.
33651         * lib/freadable.h: New file.
33652         * lib/freadable.c: New file.
33653         * m4/freadable.m4: New file.
33654
33655 2007-04-13  Bruno Haible  <bruno@clisp.org>
33656
33657         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
33658         MOSTLYCLEANFILES.
33659
33660 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
33661
33662         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
33663         gzip bootstrap.conf to avoid dragging in i18n machinery.
33664         (gnulib_tool_option): Use it.
33665
33666 2007-04-13  Bruno Haible  <bruno@clisp.org>
33667
33668         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
33669         %F directives.
33670         * tests/test-vasprintf-posix.c (test_function): Likewise.
33671         * tests/test-snprintf-posix.h (test_function): Likewise.
33672         * tests/test-sprintf-posix.h (test_function): Likewise.
33673         * tests/test-fprintf-posix.h (test_function): Likewise.
33674         * tests/test-printf-posix.h (test_function): Likewise.
33675         * tests/test-fprintf-posix.out: Likewise.
33676
33677 2007-04-13  Bruno Haible  <bruno@clisp.org>
33678
33679         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
33680         * modules/tls-tests (configure.ac): Likewise.
33681         Reported by Arto C. Nirkko <anirkko@insel.ch>.
33682
33683 2007-04-13  Bruno Haible  <bruno@clisp.org>
33684
33685         * lib/tls.c (glthread_tls_get): Fix return type.
33686         Patch by Arto C. Nirkko <anirkko@insel.ch>.
33687
33688 2007-04-12  Eric Blake  <ebb9@byu.net>
33689
33690         * modules/gettime (Depends-on): Remove gettime.
33691         Reported by Dmitry V. Levin.
33692
33693 2007-04-12  Bruno Haible  <bruno@clisp.org>
33694
33695         * modules/fflush (Include): Mention <stdio.h>.
33696         * modules/strtoimax (Include): Mention <inttypes.h>.
33697         * modules/strtoumax (Include): Likewise.
33698
33699 2007-04-12  Eric Blake  <ebb9@byu.net>
33700
33701         * .cvsignore: New file.
33702         * .gitignore: Likewise.
33703
33704 2007-04-12  Bruno Haible  <bruno@clisp.org>
33705
33706         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
33707         not before, since $(LDADD) often contains libgnu.a.
33708         * modules/striconv-tests (test_striconv_LDADD): Likewise.
33709         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
33710         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
33711         Needed on Cygwin.
33712
33713 2007-04-12  Eric Blake  <ebb9@byu.net>
33714
33715         Work around glibc's failure to flush stdin on fclose.
33716         * lib/closein.c (close_stdin): Flush stdin before closing.
33717
33718         Work around glibc's failure to reset seekable stdin on exit.
33719         * modules/closein: New module.
33720         * lib/closein.c: New file.
33721         * lib/closein.h: Likewise.
33722         * m4/closein.m4: Likewise.
33723         * MODULES.html.sh (File stream based Input/Output): Document it.
33724
33725 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33726
33727         * gnulib-tool: Rename generated 'autobuild' script to
33728         'do-autobuild' in --create-megatestdir output.
33729
33730         * doc/gnulib.texi (Build robot for gnulib): Fix.
33731
33732 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33733
33734         * modules/sysexits (Depends-on): Add absolute-header.
33735
33736 2007-04-12  Eric Blake  <ebb9@byu.net>
33737
33738         No need to preserve errno on success.
33739         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
33740         Reported by Bruno Haible.
33741
33742 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33743
33744         * MODULES.html.sh (Support for maintaining and releasing
33745         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
33746
33747 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33748
33749         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
33750
33751 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33752
33753         * modules/autobuild: New module.
33754
33755         * m4/autobuild.m4: New file.
33756
33757 2007-04-11  Bruno Haible  <bruno@clisp.org>
33758
33759         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
33760         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
33761         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
33762         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
33763         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33764         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33765         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33766         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
33767         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33768         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33769         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
33770         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33771         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33772         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
33773         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33774         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33775         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
33776         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33777         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33778         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
33779         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33780         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33781         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
33782         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33783         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33784         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
33785         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33786         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33787         Reported by Eric Blake.
33788
33789 2007-04-11  Bruno Haible  <bruno@clisp.org>
33790
33791         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
33792
33793 2007-04-10  Bruno Haible  <bruno@clisp.org>
33794
33795         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
33796         for NaN and Infinity. Needed on FreeBSD 6.1.
33797         * tests/test-vasnprintf-posix.c (test_function): Undo last change
33798         regarding results for "%010a" of Infinity and NaN.
33799         * tests/test-vasprintf-posix.c (test_function): Likewise.
33800         * tests/test-snprintf-posix.h (test_function): Likewise.
33801         * tests/test-sprintf-posix.h (test_function): Likewise.
33802         * tests/test-fprintf-posix.h (test_function): Likewise.
33803         * tests/test-printf-posix.h (test_function): Likewise.
33804         * tests/test-fprintf-posix.out: Likewise.
33805
33806 2007-04-10  Bruno Haible  <bruno@clisp.org>
33807
33808         * modules/locale-tests: New file.
33809         * tests/test-locale.c: New file.
33810
33811         * modules/locale: New file.
33812         * lib/locale_.h: New file.
33813         * m4/locale_h.m4: New file.
33814
33815 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
33816             Bruno Haible  <bruno@clisp.org>
33817
33818         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
33819         be determined, test for availability of the copysignf, copysign,
33820         copysignl functions.
33821         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
33822         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
33823         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
33824
33825 2007-04-09  Eric Blake  <ebb9@byu.net>
33826
33827         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
33828         * modules/stdio (Makefile.am): Support fflush.
33829         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
33830         * modules/fflush: New file.
33831         * lib/fflush.c: Likewise.
33832         * m4/fflush.m4: Likewise.
33833         * modules/fflush-tests: New test.
33834         * tests/test-fflush.c: Likewise.
33835         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
33836
33837 2007-04-06  Bruno Haible  <bruno@clisp.org>
33838
33839         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
33840         (VASNPRINTF): Use signbit for faster determination whether to print a
33841         minus sign.
33842         * modules/vasnprintf (Files): Remove lib/float+.h.
33843         * modules/fprintf-posix (Depends-on): Add signbit.
33844         * modules/snprintf-posix (Depends-on): Likewise.
33845         * modules/sprintf-posix (Depends-on): Likewise.
33846         * modules/vasnprintf-posix (Depends-on): Likewise.
33847         * modules/vasprintf-posix (Depends-on): Likewise.
33848         * modules/vfprintf-posix (Depends-on): Likewise.
33849         * modules/vsnprintf-posix (Depends-on): Likewise.
33850         * modules/vsprintf-posix (Depends-on): Likewise.
33851
33852 2007-04-06  Bruno Haible  <bruno@clisp.org>
33853
33854         * tests/test-frexp.c (main): Test also the sign bit of zero results.
33855         * tests/test-frexpl.c (main): Likewise.
33856         * tests/test-ldexpl.c (main): Likewise.
33857         * modules/frexp-tests (Depends-on): Add signbit.
33858         * modules/frexpl-tests (Depdends-on): Likewise.
33859         * modules/ldexpl-tests (Depdends-on): Likewise.
33860
33861 2007-04-06  Bruno Haible  <bruno@clisp.org>
33862
33863         * modules/signbit-tests: New file.
33864         * tests/test-signbit.c: New file.
33865
33866         * modules/signbit: New file.
33867         * lib/signbitf.c: New file.
33868         * lib/signbitd.c: New file.
33869         * lib/signbitl.c: New file.
33870         * m4/signbit.m4: New file.
33871         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
33872         (signbit): New macro.
33873         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
33874         REPLACE_SIGNBIT.
33875         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
33876         REPLACE_FREXPL into math.h.
33877
33878 2007-04-06  Bruno Haible  <bruno@clisp.org>
33879
33880         * modules/isnanf-nolibm-tests: New file.
33881         * tests/test-isnanf.c: New file.
33882
33883         * modules/isnanf-nolibm: New file.
33884         * lib/isnanf.h: New file.
33885         * lib/isnanf.c: New file.
33886         * lib/isnan.c: Consider the USE_FLOAT macro.
33887         * m4/isnanf.m4: New file.
33888
33889 2007-04-06  Bruno Haible  <bruno@clisp.org>
33890
33891         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
33892         (Link): New section.
33893
33894         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
33895
33896 2007-04-06  Bruno Haible  <bruno@clisp.org>
33897
33898         Assume the 'long double' type.
33899         * m4/longdouble.m4: Remove file.
33900         * config/srclist.txt: Don't mention longdouble.m4.
33901         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
33902         * lib/float+.h: Likewise.
33903         * lib/frexp.c: Likewise.
33904         * lib/printf-args.h: Likewise.
33905         * lib/printf-args.c: Likewise.
33906         * lib/printf-frexp.c: Likewise.
33907         * lib/printf-parse.c: Likewise.
33908         * lib/vasnprintf.c: Likewise.
33909         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
33910         * m4/intl.m4: Likewise.
33911         * m4/isnanl.m4: Likewise.
33912         * m4/printf.m4: Likewise.
33913         * m4/printf-frexpl.m4: Likewise.
33914         * m4/vasnprintf.m4: Likewise.
33915         * modules/allocsa (Files): Remove m4/longdouble.m4.
33916         * modules/gettext (Files): Likewise.
33917         * modules/relocatable-prog-wrapper (Files): Likewise.
33918         * modules/vasnprintf (Files): Likewise.
33919         * modules/isnanl (Files): Likewise.
33920         (Include): Simplify.
33921         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
33922         (Include): Simplify.
33923         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
33924         (Include): Simplify.
33925         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
33926         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33927         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
33928         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33929         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
33930         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33931         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
33932         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33933         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
33934         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33935         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
33936         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33937         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
33938         * tests/test-isnanl.c: Likewise.
33939         * tests/test-snprintf-posix.h: Likewise.
33940         * tests/test-sprintf-posix.h: Likewise.
33941         * tests/test-vasnprintf-posix.c: Likewise.
33942         * tests/test-vasnprintf-posix2.c: Likewise.
33943         * tests/test-vasprintf-posix.c: Likewise.
33944
33945 2007-04-06  Bruno Haible  <bruno@clisp.org>
33946
33947         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
33948         * lib/math_.h [__DECC]: Include the overridden include file through
33949         #include_next, outside the double-inclusion guard.
33950         * lib/stdio_.h [__DECC]: Likewise.
33951         * lib/stdlib_.h [__DECC]: Likewise.
33952         * lib/string_.h [__DECC]: Likewise.
33953         * lib/time_.h [__DECC]: Likewise.
33954         * lib/wchar_.h [__DECC]: Likewise.
33955         * lib/wctype_.h [__DECC]: Likewise.
33956         * lib/inttypes_.h [__DECC]: Likewise.
33957         Reported by Albert Chin <china@thewrittenword.com> in
33958         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
33959
33960 2007-04-04  Eric Blake  <ebb9@byu.net>
33961
33962         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
33963         1.5.x.
33964
33965 2007-04-04  Bruno Haible  <bruno@clisp.org>
33966
33967         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
33968         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
33969
33970 2007-04-04  Bruno Haible  <bruno@clisp.org>
33971
33972         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
33973         results for "%010a" of Infinity and NaN.
33974         * tests/test-vasprintf-posix.c (test_function): Likewise.
33975         * tests/test-snprintf-posix.h (test_function): Likewise.
33976         * tests/test-sprintf-posix.h (test_function): Likewise.
33977         * tests/test-fprintf-posix.h (test_function): Remove these tests.
33978         * tests/test-printf-posix.h (test_function): Likewise.
33979         * tests/test-fprintf-posix.out: Update.
33980         Needed for FreeBSD 6.1.
33981
33982 2007-04-04  Bruno Haible  <bruno@clisp.org>
33983
33984         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
33985         directly used by the gnulib modules nor by gnulib-tool.
33986
33987 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
33988
33989         * DEPENDENCIES: Give overall description of version dependency
33990         desirability.  Use more-typical names for apps.
33991         Add shell, coreutils, diffutils, grep, tar, gzip.
33992
33993 2007-04-04  Simon Josefsson  <simon@josefsson.org>
33994
33995         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
33996
33997 2007-04-04  Karl Berry  <karl@gnu.org>
33998
33999         * MODULES.html.sh (func_module): missing '.
34000
34001 2007-04-03  Bruno Haible  <bruno@clisp.org>
34002
34003         * modules/argmatch-tests (Makefile.am): New variable
34004         test_argmatch_LDADD.
34005         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
34006         * modules/array-list-tests (Makefile.am): New variable
34007         test_array_list_LDADD.
34008         * modules/array-oset-tests (Makefile.am): New variable
34009         test_array_oset_LDADD.
34010         * modules/avltree-list-tests (Makefile.am): New variable
34011         test_avltree_list_LDADD.
34012         * modules/avltree-oset-tests (Makefile.am): New variable
34013         test_avltree_oset_LDADD.
34014         * modules/avltreehash-list-tests (Makefile.am): New variable
34015         test_avltreehash_list_LDADD.
34016         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
34017         test_canonicalize_lgpl_LDADD.
34018         * modules/carray-list-tests (Makefile.am): New variable
34019         test_carray_list_LDADD.
34020         * modules/dirname-tests (Makefile.am): New variable
34021         test_dirname_LDADD.
34022         * modules/linked-list-tests (Makefile.am): New variable
34023         test_linked_list_LDADD.
34024         * modules/linkedhash-list-tests (Makefile.am): New variable
34025         test_linkedhash_list_LDADD.
34026         * modules/rbtree-list-tests (Makefile.am): New variable
34027         test_rbtree_list_LDADD.
34028         * modules/rbtree-oset-tests (Makefile.am): New variable
34029         test_rbtree_oset_LDADD.
34030         * modules/rbtreehash-list-tests (Makefile.am): New variable
34031         test_rbtreehash_list_LDADD.
34032         * modules/xvasprintf-tests (Makefile.am): New variable
34033         test_xvasprintf_LDADD.
34034         Reported by Eric Blake.
34035
34036 2007-04-03  Eric Blake  <ebb9@byu.net>
34037
34038         * DEPENDENCIES: Weaken m4 requirements.
34039
34040 2007-04-03  Bruno Haible  <bruno@clisp.org>
34041
34042         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
34043         * modules/isnanl-tests (configure.ac): Likewise.
34044
34045 2007-04-03  Ben Pfaff  <blp@gnu.org>
34046
34047         * modules/iconv_open: Add $(srcdir)/ to source directory
34048         references in Makefile fragments that call gperf, to fix VPATH
34049         builds.
34050
34051 2007-04-03  Bruno Haible  <bruno@clisp.org>
34052
34053         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
34054         * lib/ldexpl.c: Undo last change.
34055
34056 2007-04-03  Bruno Haible  <bruno@clisp.org>
34057
34058         * modules/printf-frexpl (Depends-on): Undo last change.
34059         (Files): Add m4/ldexpl.m4.
34060
34061 2007-04-03  Bruno Haible  <bruno@clisp.org>
34062
34063         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
34064         * modules/isnanl (Link): New section.
34065
34066         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
34067         * modules/frexp (Link): New section.
34068
34069         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
34070         * modules/frexpl (Link): New section.
34071
34072         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
34073         * modules/ldexpl (Link): New section.
34074
34075 2007-04-03  Bruno Haible  <bruno@clisp.org>
34076
34077         * modules/TEMPLATE-EXTENDED: New file.
34078         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
34079
34080 2007-04-03  Bruno Haible  <bruno@clisp.org>
34081
34082         * DEPENDENCIES: New file.
34083         Suggested by Simon Josefsson.
34084
34085 2007-04-03  Bruno Haible  <bruno@clisp.org>
34086
34087         * doc/gnulib.texi: Escape @.
34088
34089 2007-04-03  James Youngman  <jay@gnu.org>
34090         and Paul Eggert  <eggert@cs.ucla.edu>
34091
34092         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
34093         birthtime on all systems that have birthtime, not just those which
34094         use st_birthtimensec rather than st_birthtim.  Putting zero in
34095         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
34096         that the birth time is not available for files on an NFS mount.
34097
34098 2007-04-03  Simon Josefsson  <simon@josefsson.org>
34099
34100         * modules/memxor: Move back from crypto/, suggested by Bruno.
34101         * modules/crypto/hmac-sha1: Fix memxor dependency.
34102
34103         * modules/crypto/gc: Moved from ../.
34104
34105 2007-04-02  Eric Blake  <ebb9@byu.net>
34106
34107         * lib/ldexpl.c (includes): Avoid libm.
34108
34109         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
34110
34111 2007-04-02  Bruno Haible  <bruno@clisp.org>
34112
34113         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
34114         on IRIX.
34115
34116 2007-04-02  Bruno Haible  <bruno@clisp.org>
34117
34118         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
34119         x86 or x86_64 platforms running MacOS X.
34120         Reported by Ryan Schmidt <@ryandesign.com>.
34121
34122 2007-04-02  Bruno Haible  <bruno@clisp.org>
34123
34124         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
34125         i386.
34126
34127 2007-04-01  Simon Josefsson  <simon@josefsson.org>
34128
34129         * modules/crypto/arcfour: Moved from ../.
34130         * modules/crypto/arcfour-tests: Moved from ../.
34131         * modules/crypto/arctwo: Moved from ../.
34132         * modules/crypto/arctwo-tests: Moved from ../.
34133         * modules/crypto/des: Moved from ../.
34134         * modules/crypto/des-tests: Moved from ../.
34135         * modules/crypto/gc-arcfour: Moved from ../.
34136         * modules/crypto/gc-arcfour-tests: Moved from ../.
34137         * modules/crypto/gc-arctwo: Moved from ../.
34138         * modules/crypto/gc-arctwo-tests: Moved from ../.
34139         * modules/crypto/gc-des: Moved from ../.
34140         * modules/crypto/gc-des-tests: Moved from ../.
34141         * modules/crypto/gc-hmac-md5: Moved from ../.
34142         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
34143         * modules/crypto/gc-hmac-sha1: Moved from ../.
34144         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
34145         * modules/crypto/gc-md2: Moved from ../.
34146         * modules/crypto/gc-md2-tests: Moved from ../.
34147         * modules/crypto/gc-md4: Moved from ../.
34148         * modules/crypto/gc-md4-tests: Moved from ../.
34149         * modules/crypto/gc-md5: Moved from ../.
34150         * modules/crypto/gc-md5-tests: Moved from ../.
34151         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
34152         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
34153         * modules/crypto/gc-random: Moved from ../.
34154         * modules/crypto/gc-rijndael: Moved from ../.
34155         * modules/crypto/gc-rijndael-tests: Moved from ../.
34156         * modules/crypto/gc-sha1: Moved from ../.
34157         * modules/crypto/gc-sha1-tests: Moved from ../.
34158         * modules/crypto/gc-tests: Moved from ../.
34159         * modules/crypto/hmac-md5: Moved from ../.
34160         * modules/crypto/hmac-md5-tests: Moved from ../.
34161         * modules/crypto/hmac-sha1: Moved from ../.
34162         * modules/crypto/hmac-sha1-tests: Moved from ../.
34163         * modules/crypto/md2: Moved from ../.
34164         * modules/crypto/md2-tests: Moved from ../.
34165         * modules/crypto/md4: Moved from ../.
34166         * modules/crypto/md4-tests: Moved from ../.
34167         * modules/crypto/md5: Moved from ../.
34168         * modules/crypto/md5-tests: Moved from ../.
34169         * modules/crypto/memxor: Moved from ../.
34170         * modules/crypto/rijndael: Moved from ../.
34171         * modules/crypto/rijndael-tests: Moved from ../.
34172         * modules/crypto/sha1: Moved from ../.
34173
34174 2007-03-30  James Youngman  <jay@gnu.org>
34175
34176         * tests/test-stat-time.c (prepare_test): use chmod() rather than
34177         rename() to change the ctime of a file (because ctime is unaffected
34178         by rename on jfs2 on AIX 5.1).
34179         (main): Start by doing cleanup, in case a previous run failed leaving
34180         test files behind.
34181
34182 2007-03-31  Bruno Haible  <bruno@clisp.org>
34183
34184         Support old proprietary implementations of iconv.
34185         * modules/iconv_open: New file.
34186         * lib/iconv_.h: New file.
34187         * m4/iconv_h.m4: New file.
34188         * lib/iconv_open.c: New file.
34189         * lib/iconv_open-aix.gperf: New file.
34190         * lib/iconv_open-hpux.gperf: New file.
34191         * lib/iconv_open-irix.gperf: New file.
34192         * lib/iconv_open-osf.gperf: New file.
34193         * m4/iconv_open.m4: New file.
34194         * modules/linebreak (Depends-on): Add iconv_open.
34195         * modules/striconv (Depends-on): Likewise.
34196         * modules/striconveh (Depends-on): Likewise.
34197         * modules/unicodeio (Depends-on): Likewise.
34198         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
34199         (iconv_t)(-1).
34200         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
34201         conversion if cd is (iconv_t)(-1).
34202         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
34203         is not possible.
34204
34205 2007-03-31  Bruno Haible  <bruno@clisp.org>
34206
34207         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
34208         work on Solaris either. Protect also second use of "autodetect_jp".
34209
34210 2007-03-31  Bruno Haible  <bruno@clisp.org>
34211
34212         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
34213         the function is not present.
34214
34215 2007-03-31  Bruno Haible  <bruno@clisp.org>
34216
34217         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
34218         the function is not present.
34219
34220 2007-03-31  Bruno Haible  <bruno@clisp.org>
34221
34222         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
34223         a bug in HP-UX iconv_open().
34224
34225 2007-03-31  Bruno Haible  <bruno@clisp.org>
34226
34227         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
34228         (Mathematics <math.h>): New section, add fpieee.
34229         (Input/output <stdio.h>): Add fseterr.
34230         (Mathematics <math.h>): New section, add printf-frexp.
34231         (Container data structures): Add sublist.
34232         (Core language properties): Add fpucw, inline.
34233         (Functions for greatest-width integer types <inttypes.h>): Add
34234         imaxabs, imaxdiv, inttypes.
34235         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
34236         isnanl-nolibm, ldexp.
34237         (Mathematics <math.h>): New section, add printf-frexpl.
34238         (Support for systems lacking POSIX:2001): Add fprintf-posix,
34239         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
34240         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
34241         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
34242         (Unicode string functions): Add unistr/u*-mbtoucr.
34243         (Java): Add javacomp-script, javaexec-script.
34244         (C#): Add csharpcomp-script, csharpexec-script.
34245         (Support for building libraries and executables): Add havelib,
34246         relocatable-*.
34247         (Support for maintaining and releasing projects): Renamed from
34248         'Support for maintaining and release projects'. Add announce-gen.
34249
34250 2007-03-31  Bruno Haible  <bruno@clisp.org>
34251
34252         * README: Talk primarily about git.
34253         (git and CVS): Renamed from CVS.
34254         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
34255         gnulib is available through git.
34256         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
34257
34258 2007-03-30  Bruno Haible  <bruno@clisp.org>
34259
34260         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
34261         * lib/poll_.h: Likewise.
34262         * lib/stat_.h: Likewise.
34263         * lib/sys_time_.h: Likewise.
34264         * lib/sysexit_.h: Likewise.
34265         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
34266         * lib/stdbool_.h: Likewise.
34267         * lib/byteswap_.h: Add double-inclusion guard.
34268
34269 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
34270
34271         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
34272
34273 2007-03-30  Karl Berry  <karl@gnu.org>
34274
34275         * config/srclist-update: double space after USA in the license
34276         substitution, since that's how it's usually (?) written.
34277
34278 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
34279
34280         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
34281         reported by Bruno Haible.
34282
34283 2007-03-29  Bruno Haible  <bruno@clisp.org>
34284
34285         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
34286         a bug in AIX iconv().
34287
34288 2007-03-29  Bruno Haible  <bruno@clisp.org>
34289
34290         * modules/ldexpl-tests: New file.
34291         * tests/test-ldexpl.c: New file.
34292
34293 2007-03-29  Bruno Haible  <bruno@clisp.org>
34294
34295         * lib/ldexpl.c: Include fpucw.h.
34296         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
34297         multiplication.
34298         * modules/ldexpl (Depends-on): Add fpucw.
34299
34300 2007-03-29  Bruno Haible  <bruno@clisp.org>
34301
34302         * modules/ldexpl: New file.
34303         * m4/ldexpl.m4: New file.
34304         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
34305         set.
34306         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
34307         REPLACE_LDEXPL.
34308         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
34309         REPLACE_LDEXPL.
34310         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
34311         gl_FUNC_LDEXPL_WORKS.
34312         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
34313         * modules/mathl (Files): Remove lib/ldexpl.c.
34314         (Depends-on): Add ldexpl.
34315
34316 2007-03-29  Bruno Haible  <bruno@clisp.org>
34317
34318         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
34319
34320 2007-03-29  Bruno Haible  <bruno@clisp.org>
34321
34322         * tests/test-striconveh.c (main): Don't assume that a direct conversion
34323         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
34324         and possibly also HP-UX.
34325         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
34326         work on AIX, IRIX, HP-UX, OSF/1.
34327         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
34328         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
34329         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
34330         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
34331         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
34332         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
34333
34334 2007-03-29  Bruno Haible  <bruno@clisp.org>
34335
34336         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
34337
34338 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
34339
34340         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
34341         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
34342
34343 2007-03-29  Eric Blake  <ebb9@byu.net>
34344
34345         * lib/acl-internal.h: Remove redundant include.
34346         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
34347         Cygwin when a file is locked.
34348
34349 2007-03-29  Bruno Haible  <bruno@clisp.org>
34350
34351         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
34352         file.
34353         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
34354
34355 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
34356
34357         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
34358         try to remove a parent directory if the child couldn't be removed
34359         (except for the first rmdir, which could fail because the child
34360         doesn't exist).  Problem reported by Jeff Blaine in
34361         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
34362
34363 2007-03-28  Bruno Haible  <bruno@clisp.org>
34364
34365         * lib/striconveh.c (utf8conv_carefully): New function.
34366         (mem_cd_iconveh_internal): Invoke it.
34367
34368 2007-03-28  Bruno Haible  <bruno@clisp.org>
34369
34370         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
34371         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
34372         input.
34373         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
34374         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
34375         unistr/u8-uctomb.
34376
34377 2007-03-28  Bruno Haible  <bruno@clisp.org>
34378
34379         * modules/unistr/u8-mbtoucr: New file.
34380         * lib/unistr/u8-mbtoucr.c: New file.
34381         * modules/unistr/u16-mbtoucr: New file.
34382         * lib/unistr/u16-mbtoucr.c: New file.
34383         * modules/unistr/u16-mbtoucr: New file.
34384         * lib/unistr/u16-mbtoucr.c: New file.
34385         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
34386
34387 2007-03-27  Simon Josefsson  <simon@josefsson.org>
34388             Bruno Haible  <bruno@clisp.org>
34389
34390         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
34391         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
34392         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
34393
34394         * m4/stdio_h.m4: Add stubs for vasprintf too.
34395
34396         * modules/stdio: Support vasprintf in sed command.
34397
34398         * modules/vasprintf: Depend on stdio for prototypes.  Remove
34399         vasprintf.h.  Add stdio module indicator.
34400
34401         * lib/stdio_.h: Declare asprintf and vasprintf, based on
34402         vasprintf.h.
34403
34404         * lib/vasprintf.h: File removed.
34405
34406         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
34407         * lib/vasprintf.c: Ditto.
34408         * lib/xvasprintf.c: Ditto.
34409         * tests/test-vasprintf-posix.c: Ditto.
34410         * tests/test-vasprintf.c: Ditto.
34411
34412 2007-03-27  Bruno Haible  <bruno@clisp.org>
34413
34414         Make vasnprintf multithread-safe.
34415         * lib/vasnprintf.c (decimal_point_char): New function.
34416         (VASNPRINTF): Use it.
34417         Suggested by Simon Josefsson.
34418
34419 2007-03-27  Eric Blake  <ebb9@byu.net>
34420
34421         Support sub-second birthtime on cygwin.
34422         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
34423         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
34424         (get_stat_birthtime): Also work with st_birthtim.
34425
34426 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
34427
34428         * lib/stat-time.h (USE_BIRTHTIME): Remove.
34429         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
34430         (get_stat_birthtime_ns): Do not try to use "spare" fields.
34431         (get_stat_birthtime_ns): Simplify compile-time tests.
34432         (get_stat_birthtime): Change the API to look like
34433         get_stat_mtime etc., except return a negative tv_nsec on error.
34434         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
34435         Don't check for "spare" fields.
34436         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
34437         or for struct stat.st_birthtime, as these tests aren't used.
34438         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
34439
34440 2007-03-27  Bruno Haible  <bruno@clisp.org>
34441
34442         * lib/stat-time.h: Include <sys/stat.h>.
34443
34444 2007-03-27  James Youngman  <jay@gnu.org>
34445
34446         * lib/stat-time.h (get_stat_birthtime): New function for
34447           retrieving st_birthtime as provided by UFS2 (hence *BSD).
34448         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
34449           and its variants.
34450         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
34451         * modules/stat-time-test: New file.
34452         * tests/test-stat-time.c: New test, devised by Bruno Haible.
34453
34454 2007-03-26  Bruno Haible  <bruno@clisp.org>
34455
34456         Better support of signalling NaNs.
34457         * lib/atanl.c: Include isnanl.h.
34458         (atanl): Perform test for NaN at the beginning of the function and
34459         through a call to isnanl.
34460         * lib/cosl.c: Include isnanl.h.
34461         (cosl): Perform test for NaN at the beginning of the function and
34462         through a call to isnanl.
34463         * lib/ldexpl.c: Include isnanl.h.
34464         (ldexpl): Perform test for NaN through a call to isnanl.
34465         * lib/logl.c: Include isnanl.h.
34466         (logl): Perform test for NaN at the beginning of the function and
34467         through a call to isnanl.
34468         * lib/sinl.c: Include isnanl.h.
34469         (sinl): Perform test for NaN at the beginning of the function and
34470         through a call to isnanl.
34471         * lib/sqrtl.c: Include isnanl.h.
34472         (sqrtl): Perform test for NaN at the beginning of the function and
34473         through a call to isnanl.
34474         * lib/tanl.c: Include isnanl.h.
34475         (tanl): Perform test for NaN at the beginning of the function and
34476         through a call to isnanl.
34477         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
34478         * modules/mathl (Depends-on): Add isnanl.
34479
34480 2007-03-26  Eric Blake  <ebb9@byu.net>
34481
34482         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
34483         regression in logic sense of previous patch.
34484
34485 2007-03-26  Bruno Haible  <bruno@clisp.org>
34486
34487         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
34488         unportable shell command "if ! ...".
34489         Reported by Ralf Wildenhues.
34490
34491 2007-03-25  Bruno Haible  <bruno@clisp.org>
34492
34493         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
34494         <sysexits.h> file, and only add EX_CONFIG.
34495         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
34496         absolute file name and whether it is sufficient. Substitute also
34497         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
34498         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
34499         ABSOLUTE_SYSEXITS_H into sysexits.h.
34500
34501 2007-03-25  Bruno Haible  <bruno@clisp.org>
34502
34503         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
34504         hints is NULL.
34505
34506 2007-03-25  Bruno Haible  <bruno@clisp.org>
34507
34508         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
34509         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
34510
34511 2007-03-25  Bruno Haible  <bruno@clisp.org>
34512
34513         * lib/vasnprintf.c: Include langinfo.h.
34514         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
34515         multithread-safe.
34516         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
34517         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
34518         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
34519         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
34520         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
34521         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
34522         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
34523         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
34524         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
34525         Reported by Simon Josefsson.
34526
34527 2007-03-25  Bruno Haible  <bruno@clisp.org>
34528
34529         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
34530         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
34531         * modules/vasnprintf (Depends-on): Add stdint.
34532
34533 2007-03-25  Bruno Haible  <bruno@clisp.org>
34534
34535         * modules/fpieee: New file.
34536         * m4/fpieee.m4: New file.
34537         * modules/isnan-nolibm (Depends-on): Add fpieee.
34538         * modules/isnanl-nolibm (Depends-on): Add fpieee.
34539         * modules/isnanl (Depends-on): Add fpieee.
34540
34541 2007-03-25  Bruno Haible  <bruno@clisp.org>
34542
34543         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
34544
34545 2007-03-25  Bruno Haible  <bruno@clisp.org>
34546
34547         Avoid test failures on IRIX 6.5.
34548         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
34549         (main): Use it.
34550         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
34551         macros.
34552         (main): Use them.
34553
34554 2007-03-25  Bruno Haible  <bruno@clisp.org>
34555
34556         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
34557         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
34558         exists but doesn't work.
34559         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
34560         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
34561         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
34562         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
34563
34564 2007-03-25  Bruno Haible  <bruno@clisp.org>
34565
34566         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
34567         returns inf. Needed on IRIX 6.5.
34568
34569 2007-03-25  Bruno Haible  <bruno@clisp.org>
34570
34571         * tests/test-frexpl.c: Include isnanl-nolibm.h.
34572         (main): Use isnanl instead of x != x idiom.
34573         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
34574
34575         * tests/test-frexp.c: Include isnan.h.
34576         (main): Use isnan instead of x != x idiom.
34577         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
34578
34579 2007-03-25  Bruno Haible  <bruno@clisp.org>
34580
34581         * tests/test-frexp.c (NaN): New function/macro.
34582         (main): Use it instead of 0.0 / 0.0.
34583         * tests/test-isnan.c (NaN): New function/macro.
34584         (main): Use it instead of 0.0 / 0.0.
34585         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
34586         (test_function): Use it instead of 0.0 / 0.0.
34587         * tests/test-vasprintf-posix.c (NaN): New function/macro.
34588         (test_function): Use it instead of 0.0 / 0.0.
34589         * tests/test-snprintf-posix.h (NaN): New function/macro.
34590         (test_function): Use it instead of 0.0 / 0.0.
34591         * tests/test-sprintf-posix.h (NaN): New function/macro.
34592         (test_function): Use it instead of 0.0 / 0.0.
34593         * tests/test-fprintf-posix.h (NaN): New function/macro.
34594         (test_function): Use it instead of 0.0 / 0.0.
34595         * tests/test-printf-posix.h (NaN): New function/macro.
34596         (test_function): Use it instead of 0.0 / 0.0.
34597
34598         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
34599
34600 2007-03-25  Bruno Haible  <bruno@clisp.org>
34601
34602         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
34603
34604 2007-03-25  Bruno Haible  <bruno@clisp.org>
34605
34606         * lib/regexec.c (merge_state_with_log): Make static.
34607
34608 2007-03-25  Bruno Haible  <bruno@clisp.org>
34609
34610         * lib/trigl.c (kernel_rem_pio2): Make static.
34611
34612 2007-03-25  Bruno Haible  <bruno@clisp.org>
34613
34614         * lib/sincosl.c (sincosl_table): Make static.
34615
34616 2007-03-25  Bruno Haible  <bruno@clisp.org>
34617
34618         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
34619         if the compiler does not support C99.
34620
34621 2007-03-25  Bruno Haible  <bruno@clisp.org>
34622
34623         * modules/time (Makefile.am): Ensure all rule action lines start with a
34624         tab.
34625
34626 2007-03-24  Bruno Haible  <bruno@clisp.org>
34627
34628         * modules/tsearch-tests: New file.
34629         * tests/test-tsearch.sh: New file.
34630         * tests/test-tsearch.c: New file, mostly copied from glibc.
34631
34632         * modules/search-tests: New file.
34633         * tests/test-search.c: New file.
34634
34635         * modules/search: New file.
34636         * lib/search_.h: New file, incorporating lib/tsearch.h.
34637         * m4/search_h.m4: New file.
34638         * lib/tsearch.h: Remove file.
34639         * lib/tsearch.c: Include search.h instead of tsearch.h.
34640         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
34641         HAVE_TSEARCH.
34642         * modules/tsearch (Files): Remove lib/tsearch.h.
34643         (Depends-on): Add search.
34644         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
34645         (Include): Change tsearch.h into search.h.
34646
34647 2007-03-24  Bruno Haible  <bruno@clisp.org>
34648
34649         * modules/fpucw: New file.
34650         * lib/fpucw.h: New file.
34651         * lib/frexp.c: Include fpucw.h.
34652         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
34653         (FUNC): Use them.
34654         * lib/printf-frexp.c: Include fpucw.h.
34655         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
34656         (FUNC): Use them.
34657         * lib/vasnprintf.c: Include fpucw.h.
34658         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
34659         'long double' calculations.
34660         * tests/test-frexpl.c: Include fpucw.h.
34661         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
34662         * tests/test-printf-frexpl.c: Include fpucw.h.
34663         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
34664         * modules/frexpl (Depends-on): Add fpucw.
34665         * modules/printf-frexpl (Depends-on): Likewise.
34666         * modules/fprintf-posix (Depends-on): Likewise.
34667         * modules/snprintf-posix (Depends-on): Likewise.
34668         * modules/sprintf-posix (Depends-on): Likewise.
34669         * modules/vasnprintf-posix (Depends-on): Likewise.
34670         * modules/vasprintf-posix (Depends-on): Likewise.
34671         * modules/vfprintf-posix (Depends-on): Likewise.
34672         * modules/vsnprintf-posix (Depends-on): Likewise.
34673         * modules/vsprintf-posix (Depends-on): Likewise.
34674         * modules/frexpl-tests (Depends-on): Likewise.
34675         * modules/printf-frexpl-tests (Depends-on): Likewise.
34676
34677 2007-03-24  Bruno Haible  <bruno@clisp.org>
34678
34679         * lib/float+.h: New file.
34680         * lib/isnan.c: Include float+.h.
34681         (SIZE): New macro.
34682         (FUNC): Compare only SIZE bytes of the value.
34683         * lib/vasnprintf.c: Include float+.h.
34684         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
34685         SIZEOF_LDBL or SIZEOF_DBL bytes.
34686         * modules/isnan-nolibm (Files): Add lib/float+.h.
34687         * modules/isnanl-nolibm (Files): Add lib/float+.h.
34688         * modules/isnanl (Files): Add lib/float+.h.
34689         * modules/vasnprintf (Files): Add lib/float+.h.
34690
34691 2007-03-24  Bruno Haible  <bruno@clisp.org>
34692
34693         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
34694         include isnanl-nolibm.h.
34695
34696 2007-03-24  Bruno Haible  <bruno@clisp.org>
34697
34698         * tests/test-read-file.c (main): Don't produce spurious output for
34699         expected situations. Make the test fail if it encountered unexpected
34700         results.
34701
34702 2007-03-24  Bruno Haible  <bruno@clisp.org>
34703
34704         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
34705         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
34706
34707 2007-03-24  Bruno Haible  <bruno@clisp.org>
34708
34709         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
34710
34711 2007-03-24  Bruno Haible  <bruno@clisp.org>
34712
34713         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
34714         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
34715
34716         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
34717         * modules/utf8-ucs4: Turn into a symbolic link to module
34718         unistr/u8-mbtouc.
34719
34720         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
34721         utf8-ucs4-unsafe.
34722         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
34723         unistr/u8-mbtouc-unsafe.
34724
34725         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
34726         * modules/utf16-ucs4: Turn into a symbolic link to module
34727         unistr/u16-mbtouc.
34728
34729         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
34730         utf16-ucs4-unsafe.
34731         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
34732         unistr/u16-mbtouc-unsafe.
34733
34734         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
34735         * modules/ucs4-utf8: Turn into a symbolic link to module
34736         unistr/u8-ubtomb.
34737
34738         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
34739         * modules/ucs4-utf16: Turn into a symbolic link to module
34740         unistr/u16-ubtomb.
34741
34742 2007-03-24  Bruno Haible  <bruno@clisp.org>
34743
34744         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
34745         Enable the function only if HAVE_INLINE.
34746         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
34747         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
34748         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
34749         Enable the function only if HAVE_INLINE.
34750         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
34751         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
34752         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
34753         Enable the function only if HAVE_INLINE.
34754         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
34755         Enable the function only if HAVE_INLINE.
34756         * modules/utf8-ucs4: Update.
34757         * modules/utf8-ucs4-unsafe: Update.
34758         * modules/utf16-ucs4: Update.
34759         * modules/utf16-ucs4-unsafe: Update.
34760         * modules/ucs4-utf8: Update.
34761         * modules/ucs4-utf16: Update.
34762
34763 2007-03-24  Bruno Haible  <bruno@clisp.org>
34764
34765         * lib/utf8-ucs4.h: Remove file.
34766         * lib/utf8-ucs4-unsafe.h: Remove file.
34767         * lib/utf16-ucs4.h: Remove file.
34768         * lib/utf16-ucs4-unsafe.h: Remove file.
34769         * lib/ucs4-utf8.h: Remove file.
34770         * lib/ucs4-utf16.h: Remove file.
34771         * lib/unistr.h: Include their previous contents.
34772         * m4/utf-ucs4.m4: Remove file.
34773         * m4/ucs4-utf.m4: Remove file.
34774         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
34775         (Depends-on): Add unistr/base.
34776         (configure.ac): Remove gl_UTF_UCS4.
34777         (Makefile.am): Update.
34778         (Include): Change to unistr.h.
34779         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
34780         (Depends-on): Add unistr/base.
34781         (configure.ac): Remove gl_UTF_UCS4.
34782         (Makefile.am): Update.
34783         (Include): Change to unistr.h.
34784         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
34785         (Depends-on): Add unistr/base.
34786         (configure.ac): Remove gl_UTF_UCS4.
34787         (Makefile.am): Update.
34788         (Include): Change to unistr.h.
34789         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
34790         (Depends-on): Add unistr/base.
34791         (configure.ac): Remove gl_UTF_UCS4.
34792         (Makefile.am): Update.
34793         (Include): Change to unistr.h.
34794         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
34795         (Depends-on): Add unistr/base.
34796         (configure.ac): Remove gl_UCS4_UTF.
34797         (Makefile.am): Update.
34798         (Include): Change to unistr.h.
34799         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
34800         (Depends-on): Add unistr/base.
34801         (configure.ac): Remove gl_UCS4_UTF.
34802         (Makefile.am): Update.
34803         (Include): Change to unistr.h.
34804         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
34805         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
34806         utf8-ucs4-unsafe.h.
34807         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
34808         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
34809         utf16-ucs4-unsafe.h.
34810         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
34811         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
34812         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
34813         * lib/unistr/u8-strchr.c: Likewise.
34814         * lib/unistr/u8-strrchr.c: Likewise.
34815         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
34816         * lib/unistr/u16-strchr.c: Likewise.
34817         * lib/unistr/u16-strrchr.c: Likewise.
34818         * lib/striconveh.c: Update.
34819         * lib/linebreak.c: Update.
34820
34821 2007-03-24  Bruno Haible  <bruno@clisp.org>
34822
34823         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
34824         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
34825
34826 2007-03-22  Bruno Haible  <bruno@clisp.org>
34827
34828         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
34829
34830 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
34831
34832         * MODULES.html.sh (File system functions): New module write-any-file.
34833         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
34834         * m4/write-any-file.m4: New files.
34835
34836 2007-03-23  Eric Blake  <ebb9@byu.net>
34837
34838         * gnulib-tool: Rearrange space-tab sequences, since some editors
34839         like to eat them.
34840
34841 2007-03-23  Eric Blake  <ebb9@byu.net>
34842
34843         * lib/version-etc.c (version_etc_va): Update license wording to
34844         be more concise.  Recommended by Richard Stallman.
34845
34846 2007-03-22  Bruno Haible  <bruno@clisp.org>
34847
34848         * lib/poll.c (MSG_PEEK): New fallback definition.
34849
34850 2007-03-22  Bruno Haible  <bruno@clisp.org>
34851
34852         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
34853         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
34854         (main): Update.
34855         Fixes a compilation error on BeOS.
34856
34857 2007-03-22  Bruno Haible  <bruno@clisp.org>
34858
34859         * modules/frexpl-tests: New file.
34860         * tests/test-frexpl.c: New file.
34861
34862         * modules/frexpl: New file.
34863         * m4/frexpl.m4: New file.
34864         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
34865         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
34866         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
34867         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
34868         (Depends-on): Add frexpl. Remove isnanl-nolibm.
34869         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
34870
34871 2007-03-22  Bruno Haible  <bruno@clisp.org>
34872
34873         * lib/frexpl.c: Share code with lib/frexp.c.
34874         * modules/mathl (Files): Add lib/frexp.c.
34875         (Depends-on): Add isnanl-nolibm.
34876
34877 2007-03-22  Bruno Haible  <bruno@clisp.org>
34878
34879         * modules/printf-frexp (Files): Add m4/frexp.m4.
34880         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
34881         only if the found frexp function actually works.
34882
34883 2007-03-22  Bruno Haible  <bruno@clisp.org>
34884
34885         * lib/frexp.c: Remove older implementation that uses divisions.
34886
34887 2007-03-21  Bruno Haible  <bruno@clisp.org>
34888
34889         * modules/frexp-tests: New file.
34890         * tests/test-frexp.c: New file.
34891
34892         * modules/frexp: New file.
34893         * lib/frexp.c: New file.
34894         * m4/frexp.m4: New file.
34895         * lib/math_.h (frexp): New declaration.
34896         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
34897         REPLACE_FREXP.
34898         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
34899
34900 2007-03-21  Bruno Haible  <bruno@clisp.org>
34901
34902         * modules/isnanl-tests: New file.
34903         * tests/test-isnanl.c: New file.
34904
34905         * modules/isnanl: New file.
34906         * lib/isnanl.h: New file.
34907         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
34908         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
34909         gl_FUNC_ISNANL_WORKS.
34910         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
34911         New macros.
34912
34913 2007-03-21  Bruno Haible  <bruno@clisp.org>
34914
34915         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
34916         lib/isnanl.h.
34917         (Include): Update.
34918         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
34919         * lib/vasnprintf.c: Update.
34920         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
34921         tests/test-isnanl.h, remove tests/test-isnanl.c.
34922         (Makefile.am): Update.
34923         * tests/test-isnanl-nolibm.c: New file.
34924         * tests/test-isnanl.h: New file.
34925         * tests/test-isnanl.c: Remove file.
34926
34927 2007-03-21  Jim Meyering  <jim@meyering.net>
34928
34929         When trying to open ".", treat ESTALE like EACCES.
34930         * lib/savewd.c (savewd_save): Resort to forking not just upon
34931         failure with EACCES, but also when errno is ESTALE.
34932
34933 2007-03-20  Bruno Haible  <bruno@clisp.org>
34934
34935         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
34936         Needed on AIX 5.1. Reported by Matthew Woehlke.
34937
34938 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34939
34940         Suggestions by Bruno Haible:
34941         * lib/acl-internal.h: Include "gettext.h" rather than rolling
34942         our own.
34943         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
34944         * modules/acl (Depends-on): Add gettext.
34945
34946 2007-03-19  Bruno Haible  <bruno@clisp.org>
34947
34948         * modules/iconvme: Remove file.
34949         * lib/iconvme.h: Remove file.
34950         * lib/iconvme.c: Remove file.
34951         * m4/iconvme.m4: Remove file.
34952
34953 2007-03-19  Bruno Haible  <bruno@clisp.org>
34954
34955         * doc/relocatable-maint.texi: Break long shell script line.
34956         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
34957
34958 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34959
34960         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
34961         handle file_has_acl.
34962         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
34963         * lib/acl.c: Move header inclusions and related macro defns into
34964         lib/acl-internal.h.
34965         (S_ISLNK): Remove defn, since that's now done for us.
34966         (file_has_acl): Move to lib/file-has-acl.c.
34967         Call acl_trivial if available.  This is the crucial part of the fix.
34968         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
34969         shared within the library.  Rewrite a bit, partly to make it compatible
34970         with the GNU coding style.
34971         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
34972         Remove unnecessary double-quotes.
34973         Don't test for acl_to_text; the build will catch that.
34974         Replace acl_entries if it doesn't exist and it is needed.
34975         Check for -lsec and acl_trivial (as used on Solaris 10).
34976         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
34977         lib/file-has-acl.c.
34978         (Depends-on): Add sys_stat, for S_ISLNK.
34979
34980 2007-03-19  Ben Pfaff  <blp@gnu.org>
34981
34982         * doc/gnulib.texi: Fix typos.
34983         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
34984
34985 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34986
34987         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
34988         If size is zero here, buf must be zero.
34989
34990 2007-03-19  Simon Josefsson  <simon@josefsson.org>
34991
34992         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
34993         <bruno@clisp.org>.
34994
34995 2007-03-18  Bruno Haible  <bruno@clisp.org>
34996
34997         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
34998         Suggested by Eric Blake.
34999
35000 2007-03-18  Ben Pfaff  <blp@gnu.org>
35001
35002         * doc/relocatable.texi: Recommend using as prefix a directory
35003         that does not exist and will never be created.  Based on
35004         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
35005         and others.
35006
35007 2007-03-17  Bruno Haible  <bruno@clisp.org>
35008
35009         * lib/fchownat.c: Include lchown.h.
35010
35011 2007-03-17  Bruno Haible  <bruno@clisp.org>
35012
35013         Fix endless loop when the given allocated size was > INT_MAX.
35014         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
35015         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
35016         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
35017         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
35018         * lib/sprintf.c (sprintf): Likewise.
35019
35020 2007-03-17  Bruno Haible  <bruno@clisp.org>
35021
35022         * tests/test-argp-2.sh (func_compare): Output a context diff.
35023
35024 2007-03-17  Bruno Haible  <bruno@clisp.org>
35025
35026         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
35027         locale's decimal-point character.
35028
35029 2007-03-17  Bruno Haible  <bruno@clisp.org>
35030
35031         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
35032         before comparing it. Needed because on some platforms (e.g. x86) a
35033         'long double' occupies less bytes than sizeof (long double).
35034
35035 2007-03-17  Bruno Haible  <bruno@clisp.org>
35036
35037         * tests/test-crc.c (main): Make printf statements 64-bit clean.
35038         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
35039         * tests/test-getaddrinfo.c (simple): Likewise.
35040         * tests/test-read-file.c (main): Likewise.
35041
35042 2007-03-17  Bruno Haible  <bruno@clisp.org>
35043
35044         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
35045
35046 2007-03-17  Bruno Haible  <bruno@clisp.org>
35047
35048         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
35049         unused variable.
35050
35051 2007-03-17  Bruno Haible  <bruno@clisp.org>
35052
35053         * tests/test-c-strcasecmp.c: Include c-strcase.h.
35054         * tests/test-c-strncasecmp.c: Likewise.
35055
35056 2007-03-17  Bruno Haible  <bruno@clisp.org>
35057
35058         * modules/stdlib (Depends-on): Add unistd.
35059         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
35060         Needed for MacOS X 10.3.
35061
35062 2007-03-17  Bruno Haible  <bruno@clisp.org>
35063
35064         * lib/unistr/u-strdup.h: Include <stdlib.h>.
35065
35066 2007-03-17  Bruno Haible  <bruno@clisp.org>
35067
35068         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
35069
35070 2007-03-17  Bruno Haible  <bruno@clisp.org>
35071
35072         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
35073         to reflect files copied from gnulib (with or without modifications).
35074         Suggested by Jim Meyering.
35075
35076 2007-03-17  Eric Blake  <ebb9@byu.net>
35077
35078         * NEWS: Document stdlib change from 2007-02-18.
35079
35080 2007-03-17  Jim Meyering  <jim@meyering.net>
35081
35082         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
35083         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
35084         someone uses a name containing shell meta-characters.
35085         Reported by Alfred M. Szmidt.
35086
35087         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
35088
35089 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
35090
35091         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
35092         and copy gettext configuration files only if configure.ac contains
35093         a use of AM_GNU_GETTEXT_VERSION.
35094
35095 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
35096
35097         * build-aux/bootstrap (gnulib_name): New variable.
35098         (gnulib_tool_options): Use it.
35099
35100 2007-03-13  Simon Josefsson  <simon@josefsson.org>
35101
35102         * tests/test-des.c: Use new namespace.
35103
35104 2007-03-15  Bruno Haible  <bruno@clisp.org>
35105
35106         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
35107         Reported by James Youngman <jay@gnu.org>.
35108
35109 2007-03-15  Bruno Haible  <bruno@clisp.org>
35110
35111         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
35112         declared prototype. Needed with cc on OSF/1 5.1.
35113
35114 2007-03-15  Bruno Haible  <bruno@clisp.org>
35115
35116         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
35117         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
35118         (struct gl_list_implementation): Add dispose_fn argument to the
35119         'create_empty', 'create' methods.
35120         (struct gl_list_impl_base): Add field 'dispose_fn'.
35121         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
35122         argument.
35123         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
35124         dispose_fn argument.
35125         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
35126         dispose_fn on the dropped values.
35127         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
35128         dispose_fn argument.
35129         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
35130         dropped values.
35131         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
35132         (gl_tree_remove_node): Call dispose_fn on the dropped value.
35133         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
35134         (gl_tree_remove_node): Call dispose_fn on the dropped value.
35135         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
35136         argument.
35137         (gl_tree_list_free): Call dispose_fn on the dropped values.
35138         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
35139         the dropped values.
35140         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
35141         Add dispose_fn argument.
35142         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
35143         Call dispose_fn on the dropped values.
35144         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
35145         Add dispose_fn argument.
35146         (gl_sublist_create): Initialize the 'dispose_fn' field.
35147         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
35148         * tests/test-array_list.c (main): Update.
35149         * tests/test-carray_list.c (main): Update.
35150         * tests/test-avltree_list.c (main): Update.
35151         * tests/test-rbtree_list.c (main): Update.
35152         * tests/test-avltreehash_list.c (main): Update.
35153         * tests/test-rbtreehash_list.c (main): Update.
35154         * tests/test-linked_list.c (main): Update.
35155         * tests/test-linkedhash_list.c (main): Update.
35156         * tests/test-array_oset.c (main): Update.
35157
35158 2007-03-15  Bruno Haible  <bruno@clisp.org>
35159
35160         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
35161         (gl_oset_create_empty): Add dispose_fn argument.
35162         (struct gl_oset_implementation): Add dispose_fn argument to
35163         'create_empty' method.
35164         (struct gl_oset_impl_base): Add dispose_fn field.
35165         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
35166         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
35167         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
35168         values.
35169         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
35170         (gl_tree_oset_free): Call dispose_fn on the dropped values.
35171         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
35172         dropped value.
35173         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
35174         dropped value.
35175         * tests/test-array_oset.c (main): Update.
35176         * tests/test-avltree_oset.c (main): Update.
35177         * tests/test-rbtree_oset.c (main): Update.
35178         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
35179
35180 2007-03-13  Bruno Haible  <bruno@clisp.org>
35181
35182         * tests/test-stdbool.c (i): Update after last patch.
35183
35184 2007-03-12  Bruno Haible  <bruno@clisp.org>
35185
35186         * lib/quotearg.c: Include <wctype.h> early, before the definition of
35187         the iswprint macro. Needed on Solaris 2.5.1.
35188
35189 2007-03-12  Bruno Haible  <bruno@clisp.org>
35190
35191         * tests/test-printf-frexp.c (main): Declare x as volatile.
35192
35193 2007-03-12  Simon Josefsson  <simon@josefsson.org>
35194
35195         * doc/gnulib.texi (Build robot for gnulib): New section.
35196
35197 2007-03-12  Jim Meyering  <jim@meyering.net>
35198
35199         * build-aux/bootstrap: New file.
35200         * build-aux/bootstrap.conf: New file, from coreutils.
35201
35202 2007-03-11  Bruno Haible  <bruno@clisp.org>
35203
35204         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
35205
35206 2007-03-12  Simon Josefsson  <simon@josefsson.org>
35207
35208         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
35209         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
35210         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
35211
35212 2007-03-11  Bruno Haible  <bruno@clisp.org>
35213
35214         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
35215         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
35216
35217 2007-03-11  Bruno Haible  <bruno@clisp.org>
35218
35219         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
35220         formula. Needed for SunPRO C 5.0.
35221
35222 2007-03-11  Bruno Haible  <bruno@clisp.org>
35223
35224         * modules/long-options (Depends-on): Add getopt.
35225
35226 2007-03-11  Bruno Haible  <bruno@clisp.org>
35227
35228         * modules/modechange (Depends-on): Add stdbool.
35229
35230 2007-03-11  Bruno Haible  <bruno@clisp.org>
35231
35232         * modules/i-ring (Depends-on): Add stdbool.
35233
35234 2007-03-11  Bruno Haible  <bruno@clisp.org>
35235
35236         * modules/gc-des (Depends-on): Add stdbool.
35237
35238 2007-03-11  Bruno Haible  <bruno@clisp.org>
35239
35240         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
35241
35242 2007-03-11  Bruno Haible  <bruno@clisp.org>
35243
35244         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
35245
35246 2007-03-11  Bruno Haible  <bruno@clisp.org>
35247
35248         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
35249
35250 2007-03-11  Bruno Haible  <bruno@clisp.org>
35251
35252         * lib/vasnprintf.c (sprintf): Undefine.
35253
35254 2007-03-11  Bruno Haible  <bruno@clisp.org>
35255
35256         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
35257         initializers in SunPRO C and Compaq C compilers.
35258
35259 2007-03-11  Bruno Haible  <bruno@clisp.org>
35260
35261         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
35262         decrementing code ANSI C compliant.
35263
35264 2007-03-11  Bruno Haible  <bruno@clisp.org>
35265
35266         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
35267         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
35268
35269 2007-03-11  Bruno Haible  <bruno@clisp.org>
35270
35271         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
35272         <stdbool.h> substitute doesn't pass.
35273
35274 2007-03-11  Bruno Haible  <bruno@clisp.org>
35275
35276         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
35277
35278 2007-03-11  Bruno Haible  <bruno@clisp.org>
35279
35280         * gnulib-tool (func_create_megatestdir): Create also an autobuild
35281         script, for submission to autobuild.josefsson.org.
35282
35283 2007-03-10  Bruno Haible  <bruno@clisp.org>
35284
35285         * modules/canonicalize-lgpl-tests: New file.
35286         * tests/test-canonicalize-lgpl.sh: New file.
35287         * tests/test-canonicalize-lgpl.c: New file.
35288
35289         * modules/c-strcase-tests: New file.
35290         * tests/test-c-strcase.sh: New file.
35291         * tests/test-c-strcasecmp.c: New file.
35292         * tests/test-c-strncasecmp.c: New file.
35293
35294         * modules/atexit-tests: New file.
35295         * tests/test-atexit.sh: New file.
35296         * tests/test-atexit.c: New file.
35297
35298 2007-03-10  Bruno Haible  <bruno@clisp.org>
35299
35300         * tests/test-binary-io.sh: Use temporary filenames that are not so
35301         likely to clash with those of other tests (in a parallel make).
35302         * tests/test-binary-io.c: Likewise.
35303
35304 2007-03-10  Bruno Haible  <bruno@clisp.org>
35305
35306         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
35307         fallback; use #error instead.
35308         Suggested by Simon Josefsson.
35309
35310 2007-03-10  Bruno Haible  <bruno@clisp.org>
35311
35312         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
35313         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
35314         first and the last.
35315
35316 2007-03-10  Bruno Haible  <bruno@clisp.org>
35317
35318         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
35319
35320 2007-03-10  Bruno Haible  <bruno@clisp.org>
35321
35322         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
35323         "make distcheck".
35324         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
35325         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
35326         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
35327
35328 2007-03-10  Bruno Haible  <bruno@clisp.org>
35329
35330         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
35331         variable.
35332         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
35333         variable.
35334
35335 2007-03-09  Eric Blake  <ebb9@byu.net>
35336         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
35337
35338         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
35339         types are not being provided by gnulib.
35340         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
35341         types are supported.
35342
35343 2007-03-10  Bruno Haible  <bruno@clisp.org>
35344
35345         * lib/stdio_.h (__attribute__): New macro.
35346         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
35347         vsprintf): Specify __attribute__ __format__ for GCC.
35348         Suggested by Eric Blake.
35349
35350 2007-03-09  Bruno Haible  <bruno@clisp.org>
35351
35352         * modules/printf-posix-tests: New file.
35353         * tests/test-printf-posix.sh: New file.
35354         * tests/test-printf-posix.c: New file.
35355
35356         * modules/printf-posix: New file.
35357         * lib/printf.c: New file.
35358         * m4/printf-posix-rpl.m4: New file.
35359         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
35360         REPLACE_PRINTF.
35361         * lib/stdio_.h (printf): New declaration.
35362         (format, __format__, ____printf____, ____scanf____, ____strftime____,
35363         ____strfmon____): New macros.
35364         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
35365         REPLACE_PRINTF.
35366
35367 2007-03-09  Bruno Haible  <bruno@clisp.org>
35368
35369         * tests/test-vasnprintf-posix2.sh: New file.
35370         * tests/test-vasnprintf-posix2.c: New file.
35371         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
35372         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
35373         (Makefile.am): Activate test-vasnprintf-posix2.sh.
35374
35375         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
35376         a locale dependent decimal point, rather than always '.'.
35377
35378 2007-03-09  Eric Blake  <ebb9@byu.net>
35379
35380         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
35381         spite of platforms like Tandem/NSK that define it to -1.
35382
35383 2007-03-08  Bruno Haible  <bruno@clisp.org>
35384
35385         * modules/vprintf-posix-tests: New file.
35386         * tests/test-vprintf-posix.sh: New file.
35387         * tests/test-vprintf-posix.c: New file.
35388         * tests/test-printf-posix.h: New file.
35389
35390         * modules/vprintf-posix: New file.
35391         * lib/vprintf.c: New file.
35392         * m4/vprintf-posix.m4: New file.
35393         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
35394         REPLACE_VPRINTF.
35395         * lib/stdio_.h (vprintf): New declaration.
35396         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
35397         REPLACE_VPRINTF.
35398
35399 2007-03-08  Bruno Haible  <bruno@clisp.org>
35400
35401         * modules/fprintf-posix-tests: New file.
35402         * tests/test-fprintf-posix.sh: New file.
35403         * tests/test-fprintf-posix.c: New file.
35404
35405         * modules/fprintf-posix: New file.
35406         * lib/fprintf.c: New file.
35407         * m4/fprintf-posix.m4: New file.
35408         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
35409         REPLACE_FPRINTF.
35410         * lib/stdio_.h (fprintf): New declaration.
35411         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
35412         REPLACE_FPRINTF.
35413
35414 2007-03-08  Bruno Haible  <bruno@clisp.org>
35415
35416         * modules/vfprintf-posix-tests: New file.
35417         * tests/test-vfprintf-posix.sh: New file.
35418         * tests/test-vfprintf-posix.c: New file.
35419         * tests/test-fprintf-posix.h: New file.
35420         * tests/test-fprintf-posix.out: New file.
35421
35422         * modules/vfprintf-posix: New file.
35423         * lib/vfprintf.c: New file.
35424         * m4/vfprintf-posix.m4: New file.
35425         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
35426         REPLACE_VFPRINTF.
35427         * lib/stdio_.h (vfprintf): New declaration.
35428         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
35429         REPLACE_VFPRINTF.
35430
35431 2007-03-08  Bruno Haible  <bruno@clisp.org>
35432
35433         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
35434
35435 2007-03-08  Bruno Haible  <bruno@clisp.org>
35436
35437         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
35438         instead of 'expr' invocations.
35439         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35440         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35441         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35442         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35443         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35444         Suggested by Paul Eggert.
35445
35446 2007-03-08  Bruno Haible  <bruno@clisp.org>
35447
35448         * modules/fseterr-tests: New file.
35449         * tests/test-fseterr.c: New file.
35450
35451         * modules/fseterr: New file.
35452         * lib/fseterr.h: New file.
35453         * lib/fseterr.c: New file.
35454
35455 2007-03-08  Bruno Haible  <bruno@clisp.org>
35456
35457         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
35458         * lib/getopt_.h: Likewise.
35459         * lib/mbswidth.h: Likewise.
35460         * lib/setenv.h: Likewise.
35461         * lib/vasnprintf.h: Likewise.
35462         * lib/vasprintf.h: Likewise.
35463         * lib/verror.h: Likewise.
35464         * lib/xsetenv.h: Likewise.
35465         * lib/xvasprintf.h: Likewise.
35466
35467 2007-03-08  Jim Meyering  <jim@meyering.net>
35468
35469         * users.txt: Add parted.
35470
35471         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
35472
35473 2007-03-07  Bruno Haible  <bruno@clisp.org>
35474
35475         * m4/printf.m4: Make the shell script snippets copy&pastable.
35476
35477 2007-03-02  Bruno Haible  <bruno@clisp.org>
35478
35479         * lib/netinet_in_.h: New file.
35480         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
35481         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
35482         * modules/netinet_in (Files): Add lib/netinet_in_.h.
35483         (Depends-on): Add absolute-header.
35484         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
35485         into netinet/in.h.
35486
35487 2007-03-03  Bruno Haible  <bruno@clisp.org>
35488
35489         * lib/sys_select_.h: New file.
35490         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
35491         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
35492         * modules/sys_select (Files): Add lib/sys_select_.h.
35493         (Depends-on): Add absolute-header.
35494         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
35495         into sys/select.h.
35496
35497 2007-03-02  Bruno Haible  <bruno@clisp.org>
35498
35499         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
35500         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
35501         values.
35502         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
35503         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
35504         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
35505         * modules/sys_socket (Depends-on): Add absolute-header.
35506         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
35507         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
35508         (Include): Remove requirement of inclusion of <sys/types.h>.
35509
35510 2007-03-02  Bruno Haible  <bruno@clisp.org>
35511
35512         * lib/byteswap_.h (bswap_32): Fix formula.
35513
35514 2007-03-06  Bruno Haible  <bruno@clisp.org>
35515
35516         * modules/sprintf-posix-tests: New file.
35517         * tests/test-sprintf-posix.c: New file.
35518
35519         * modules/sprintf-posix: New file.
35520         * lib/sprintf.c: New file.
35521         * m4/sprintf-posix.m4: New file.
35522         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
35523         REPLACE_SPRINTF.
35524         * lib/stdio_.h (sprintf): New declaration.
35525         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
35526         REPLACE_SPRINTF.
35527
35528 2007-03-06  Bruno Haible  <bruno@clisp.org>
35529
35530         * modules/vsprintf-posix-tests: New file.
35531         * tests/test-vsprintf-posix.c: New file.
35532         * tests/test-sprintf-posix.h: New file.
35533
35534         * modules/vsprintf-posix: New file.
35535         * lib/vsprintf.c: New file.
35536         * m4/vsprintf-posix.m4: New file.
35537         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
35538         REPLACE_VSPRINTF.
35539         * lib/stdio_.h (vsprintf): New declaration.
35540         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
35541         REPLACE_VSPRINTF.
35542
35543 2007-03-06  Bruno Haible  <bruno@clisp.org>
35544
35545         * modules/vsnprintf (Depend-on): Remove minmax.
35546
35547 2007-03-06  Bruno Haible  <bruno@clisp.org>
35548
35549         * modules/snprintf-posix-tests: New file.
35550         * tests/test-snprintf-posix.c: New file.
35551
35552         * modules/snprintf-posix: New file.
35553         * m4/snprintf-posix.m4: New file.
35554         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
35555         gl_FUNC_SNPRINTF.
35556         (gl_FUNC_SNPRINTF): Invoke it.
35557         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
35558         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
35559         is set.
35560         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
35561
35562 2007-03-06  Bruno Haible  <bruno@clisp.org>
35563
35564         * modules/vsnprintf-posix-tests: New file.
35565         * tests/test-vsnprintf-posix.c: New file.
35566         * tests/test-snprintf-posix.h: New file.
35567
35568         * modules/vsnprintf-posix: New file.
35569         * m4/vsnprintf-posix.m4: New file.
35570         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
35571         gl_FUNC_VSNPRINTF.
35572         (gl_FUNC_VSNPRINTF): Invoke it.
35573         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
35574         * lib/stdio_.h (vsnprintf): Define as a replacement if
35575         REPLACE_VSNPRINTF is set.
35576         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
35577
35578 2007-03-06  Bruno Haible  <bruno@clisp.org>
35579
35580         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
35581         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
35582
35583 2007-03-06  Bruno Haible  <bruno@clisp.org>
35584
35585         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
35586         (asinl): Declare also if HAVE_DECL_ASINL is set.
35587         (atanl): Declare also if HAVE_DECL_ATANL is set.
35588         (ceill): Declare also if HAVE_DECL_CEILL is set.
35589         (cosl): Declare also if HAVE_DECL_COSL is set.
35590         (expl): Declare also if HAVE_DECL_EXPL is set.
35591         (floorl): Declare also if HAVE_DECL_FLOORL is set.
35592         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
35593         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
35594         (logl): Declare also if HAVE_DECL_LOGL is set.
35595         (sinl): Declare also if HAVE_DECL_SINL is set.
35596         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
35597         (tanl): Declare also if HAVE_DECL_TANL is set.
35598         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
35599         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
35600         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
35601         declaration of frexpl, ldexpl.
35602         * modules/printf-frexpl (Depends-on): Add math.
35603         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
35604
35605 2007-03-05  Bruno Haible  <bruno@clisp.org>
35606
35607         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
35608         frexpl and ldexpl are declared.
35609         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
35610
35611 2007-03-05  Bruno Haible  <bruno@clisp.org>
35612
35613         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
35614         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
35615
35616 2007-03-05  Bruno Haible  <bruno@clisp.org>
35617
35618         * lib/stdio_.h: Include <stddef.h>.
35619
35620 2007-03-05  Bruno Haible  <bruno@clisp.org>
35621
35622         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
35623
35624 2007-03-05  Bruno Haible  <bruno@clisp.org>
35625
35626         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
35627         NetBSD 4, from Ralf Wildenhues.
35628
35629 2007-03-04  Bruno Haible  <bruno@clisp.org>
35630
35631         * lib/vasprintf.h: Update #if logic for the case when the functions
35632         exist but are overridden.
35633
35634 2007-03-04  Bruno Haible  <bruno@clisp.org>
35635
35636         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
35637         implementations: glibc-2.4 and MacOS X 10.3.
35638         * tests/test-vasnprintf-posix.c (test_function): Test also the case
35639         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
35640         * tests/test-vasprintf-posix.c (test_function): Likewise.
35641
35642 2007-03-04  Bruno Haible  <bruno@clisp.org>
35643
35644         * modules/vasprintf-posix-tests: New file.
35645         * tests/test-vasprintf-posix.c: New file.
35646
35647         * modules/vasprintf-posix: New file.
35648         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
35649         defined.
35650         * m4/vasprintf-posix.m4: New file.
35651         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
35652         gl_FUNC_VASPRINTF.
35653         (gl_FUNC_VASPRINTF): Invoke it.
35654         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
35655         here.
35656         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
35657
35658 2007-03-04  Bruno Haible  <bruno@clisp.org>
35659
35660         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
35661         REPLACE_GETTIMEOFDAY.
35662         * modules/sys_time (Makefile.am): Likewise.
35663         * m4/sys_time_h.m4: Likewise.
35664         * m4/gettimeofday.m4: Likewise.
35665
35666 2007-03-04  Bruno Haible  <bruno@clisp.org>
35667
35668         * modules/vasnprintf-posix-tests: New file.
35669         * tests/test-vasnprintf-posix.c: New file.
35670
35671         * modules/vasnprintf-posix: New file.
35672         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
35673         printf-frexpl.h.
35674         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
35675         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
35676         REPLACE_VASNPRINTF is defined.
35677         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
35678         gl_FUNC_VASNPRINTF.
35679         (gl_FUNC_VASNPRINTF): Invoke it.
35680         * m4/vasnprintf-posix.m4: New file.
35681         * m4/printf.m4: New file.
35682
35683 2007-03-04  Bruno Haible  <bruno@clisp.org>
35684
35685         Compile progreloc.c only if --enable-relocatable is specified.
35686         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
35687         if --enable-relocatable was specified.
35688         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
35689         lib_SOURCES.
35690
35691 2007-03-04  Jim Meyering  <jim@meyering.net>
35692
35693         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
35694         Use it consistently, rather than enumerating errno constants.
35695
35696 2007-03-04  Bruno Haible  <bruno@clisp.org>
35697
35698         * modules/xvasprintf-tests: New file.
35699         * tests/test-xvasprintf.c: New file.
35700
35701         * modules/vasprintf-tests: New file.
35702         * tests/test-vasprintf.c: New file.
35703
35704         * modules/vasnprintf-tests: New file.
35705         * tests/test-vasnprintf.c: New file.
35706
35707         * modules/vsnprintf-tests: New file.
35708         * tests/test-vsnprintf.c: New file.
35709
35710         * modules/snprintf-tests: New file.
35711         * tests/test-snprintf.c: New file.
35712
35713 2007-03-04  Bruno Haible  <bruno@clisp.org>
35714
35715         Compile relocatable.c only if --enable-relocatable is specified.
35716         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
35717         gl_RELOCATABLE_LIBRARY.
35718         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
35719         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
35720         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
35721         gl_RELOCATABLE_LIBRARY.
35722         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
35723         (Makefile.am): Remove lib_SOURCES.
35724         * modules/relocatable-lib-lgpl (configure.ac): Invoke
35725         gl_RELOCATABLE_LIBRARY.
35726         (Makefile.am): Remove lib_SOURCES.
35727         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
35728         always.
35729         * modules/relocatable-prog-wrapper (configure.ac): Invoke
35730         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
35731
35732 2007-03-04  Bruno Haible  <bruno@clisp.org>
35733
35734         * modules/argmatch-tests: New file.
35735         * tests/test-argmatch.c: New file.
35736
35737         * tests/test-allocsa.c (main): Halve the number of loop runs.
35738
35739         * modules/alloca-opt-tests: New file.
35740         * tests/test-alloca-opt.c: New file.
35741
35742 2007-03-04  Jim Meyering  <jim@meyering.net>
35743
35744         Work around difference between Linux ACLs and Solaris 10 ZFS.
35745         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
35746         for EINVAL.
35747
35748 2007-03-03  Bruno Haible  <bruno@clisp.org>
35749
35750         * modules/relocatable-prog (Depends-on): Add back progreloc's
35751         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
35752
35753 2007-03-03  Bruno Haible  <bruno@clisp.org>
35754
35755         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
35756         * modules/relocatable-lib: New file.
35757
35758 2007-03-03  Bruno Haible  <bruno@clisp.org>
35759
35760         * modules/relocatable-prog: Renamed from modules/relocatable.
35761         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
35762
35763 2007-03-03  Bruno Haible  <bruno@clisp.org>
35764
35765         * modules/relocatable-script (Files): Add doc/relocatable.texi,
35766         m4/relocatable-lib.m4.
35767         (Depends-on): Remove 'relocatable'.
35768         (configure.ac): Add gl_RELOCATABLE_NOP.
35769
35770 2007-03-03  Bruno Haible  <bruno@clisp.org>
35771
35772         * modules/relocatable-prog-wrapper: New file.
35773         * modules/relocatable (Depends-on): Add it. Remove all other
35774         dependencies except progname.
35775         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
35776
35777         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
35778         (gl_FUNC_STRERROR): Nop.
35779         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
35780
35781         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
35782         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
35783
35784         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
35785         (gl_FUNC_READLINK): Update.
35786
35787         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
35788
35789 2007-03-03  Bruno Haible  <bruno@clisp.org>
35790
35791         * lib/xreadlink.c: Include <unistd.h> unconditionally.
35792         * modules/xreadlink (Depends-on): Add unistd.
35793         * modules/xreadlink-with-size (Depends-on): Likewise.
35794
35795 2007-03-03  Bruno Haible  <bruno@clisp.org>
35796
35797         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
35798         extracted from gt_FUNC_SETENV.
35799         (gt_FUNC_SETENV): Remove macro.
35800         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
35801         remove gt_FUNC_SETENV.
35802
35803 2007-03-03  Bruno Haible  <bruno@clisp.org>
35804
35805         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
35806         ENABLE_RELOCATABLE here.
35807         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
35808
35809 2007-03-03  Bruno Haible  <bruno@clisp.org>
35810
35811         * modules/rbtreehash-list-tests (Depends-on): Add progname.
35812         * tests/test-rbtreehash_list.c: Include progname.h.
35813         (main): Call set_program_name.
35814
35815         * modules/rbtree-oset-tests (Depends-on): Add progname.
35816         * tests/test-rbtree_oset.c: Include progname.h.
35817         (main): Call set_program_name.
35818
35819         * modules/rbtree-list-tests (Depends-on): Add progname.
35820         * tests/test-rbtree_list.c: Include progname.h.
35821         (main): Call set_program_name.
35822
35823         * modules/linked-list-tests (Depends-on): Add progname.
35824         * tests/test-linked_list.c: Include progname.h.
35825         (main): Call set_program_name.
35826
35827 2007-03-03  Bruno Haible  <bruno@clisp.org>
35828
35829         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
35830         All uses of __restrict changed to _Restrict_.
35831         * lib/glob_.h (__restrict): Remove macro.
35832
35833 2007-03-02  Bruno Haible  <bruno@clisp.org>
35834
35835         * modules/gettext (configure.ac): Require gettext infrastructure
35836         from version 0.16.1.
35837
35838 2007-03-02  Bruno Haible  <bruno@clisp.org>
35839
35840         * modules/linkedhash-list-tests (Depends-on): Add progname.
35841         * tests/test-linkedhash_list.c: Include progname.h.
35842         (main): Call set_program_name.
35843
35844         * modules/carray-list-tests (Depends-on): Add progname.
35845         * tests/test-carray_list.c: Include progname.h.
35846         (main): Call set_program_name.
35847
35848         * modules/avltreehash-list-tests (Depends-on): Add progname.
35849         * tests/test-avltreehash_list.c: Include progname.h.
35850         (main): Call set_program_name.
35851
35852         * modules/avltree-oset-tests (Depends-on): Add progname.
35853         * tests/test-avltree_oset.c: Include progname.h.
35854         (main): Call set_program_name.
35855
35856         * modules/avltree-list-tests (Depends-on): Add progname.
35857         * tests/test-avltree_list.c: Include progname.h.
35858         (main): Call set_program_name.
35859
35860         * modules/array-oset-tests (Depends-on): Add progname.
35861         * tests/test-array_oset.c: Include progname.h.
35862         (main): Call set_program_name.
35863
35864         * modules/array-list-tests (Depends-on): Add progname.
35865         * tests/test-array_list.c: Include progname.h.
35866         (main): Call set_program_name.
35867
35868         * modules/argp-tests (Depends-on): Add progname.
35869         * tests/test-argp.c: Include argp.h first. Include progname.h.
35870         (main): Call set_program_name.
35871
35872 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
35873
35874         * doc/gnulib-tool.texi (Initial import): Reword description of
35875         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
35876         limited effect even if defined after the first system include.
35877
35878 2007-03-01  Bruno Haible  <bruno@clisp.org>
35879
35880         * build-aux/config.libpath: Update to libtool-1.5.22.
35881         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35882
35883 2007-03-01  Bruno Haible  <bruno@clisp.org>
35884
35885         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
35886         foo_CFLAGS.
35887         Reported by Ralf Wildenhues.
35888
35889 2007-03-01  Bruno Haible  <bruno@clisp.org>
35890
35891         * build-aux/install-reloc: Remove object files left over by some
35892         compilers.
35893         Reported by Ralf Wildenhues.
35894
35895 2007-03-01  Bruno Haible  <bruno@clisp.org>
35896
35897         * build-aux/install-reloc: Break long lines.
35898
35899 2007-03-01  Bruno Haible  <bruno@clisp.org>
35900
35901         * doc/relocatable.texi: Document that it may not work on OpenBSD.
35902         Reported by Ralf Wildenhues.
35903
35904 2007-03-01  Bruno Haible  <bruno@clisp.org>
35905
35906         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
35907         include ordering constraints.
35908
35909 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
35910
35911         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
35912         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
35913         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
35914         as another example.
35915         * lib/time_.h: Fix misspelling.
35916         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
35917         Require gl_HEADER_TIME_H_DEFAULTS.
35918         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
35919         * m4/time_r.m4 (gl_TIME_R): Likewise.
35920         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
35921
35922 2007-03-01  Bruno Haible  <bruno@clisp.org>
35923
35924         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
35925         * m4/utimens.m4 (gl_UTIMENS): Likewise.
35926
35927 2007-03-01  Jim Meyering  <jim@meyering.net>
35928
35929         * modules/xreadlink (Maintainer): Add my name.
35930         * modules/xreadlink-with-size (Depends-on): Alphabetize.
35931
35932 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
35933             Bruno Haible  <bruno@clisp.org>
35934
35935         * build-aux/install-reloc: Compile also c-ctype.c.
35936         * build-aux/relocatable.sh.in: New file.
35937         * doc/relocatable.texi: New file.
35938         * doc/relocatable-maint.texi: New file.
35939         * doc/gnulib.texi: Include relocatable-maint.texi.
35940         * lib/progreloc.c: Include unistd.h unconditionally.
35941         * lib/relocwrapper.c: Include unistd.h unconditionally.
35942         Include c-ctype.h.
35943         (add_dotbin): Use c_tolower.
35944         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
35945         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
35946         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
35947         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
35948         to m4/relocatable-lib.m4.
35949         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
35950         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
35951         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
35952         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
35953         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
35954         * modules/relocatable: New file.
35955         * modules/relocatable-lib: New file.
35956         * modules/relocatable-script: New file.
35957
35958 2007-02-28  Bruno Haible  <bruno@clisp.org>
35959
35960         Import --enable-relocatable infrastructure.
35961         * build-aux/config.libpath: New file, from GNU gettext.
35962         * build-aux/install-reloc: New file, from GNU gettext.
35963         * build-aux/reloc-ldflags: New file, from GNU gettext.
35964         * lib/relocatable.h: New file, from GNU gettext.
35965         * lib/relocatable.c: New file, from GNU gettext.
35966         * lib/relocwrapper.c: New file, from GNU gettext.
35967         * m4/relocatable.m4: New file, from GNU gettext.
35968
35969 2007-02-28  Bruno Haible  <bruno@clisp.org>
35970
35971         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
35972
35973         * modules/xreadlink: New file, from GNU gettext with modifications.
35974         * lib/xreadlink.c: New file, from GNU gettext.
35975         * lib/xreadlink.h: Add comments.
35976         (xreadlink): New declaration.
35977
35978         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
35979         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
35980         lib/xreadlink-with-size.c.
35981         (configure.ac): Remove gl_XREADLINK invocation.
35982         (Makefile.am): Augment lib_SOURCES.
35983         * m4/xreadlink.m4: Remove file.
35984         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
35985         (xreadlink_with_size): Renamed from xreadink.
35986         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
35987         * modules/canonicalize (Depends-on): Replace xreadlink with
35988         xreadlink-with-size.
35989         * lib/canonicalize.c (canonicalize_filename_mode): Update.
35990
35991 2007-02-25  Jim Meyering  <jim@meyering.net>
35992
35993         * build-aux/announce-gen: When complaining about excess arguments,
35994         list them.
35995
35996 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
35997
35998         * README: Document signed integer overflow situation more
35999         accurately.
36000
36001 2007-02-25  Bruno Haible  <bruno@clisp.org>
36002
36003         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
36004         'a' or 'A' conversion.
36005
36006 2007-02-25  Bruno Haible  <bruno@clisp.org>
36007
36008         * modules/filename: Renamed from modules/pathname.
36009         (Files): Replace lib/pathname.h with lib/filename.h. Replace
36010         lib/concatpath.c with lib/concat-filename.c.
36011         (Makefile.am): Update.
36012         (Include): Replace pathname.h with filename.h.
36013         * lib/filename.h: Renamed from lib/pathname.h.
36014         (concatenated_filename): Renamed from concatenated_pathname.
36015         * lib/concat-filename.c: Renamed from lib/concatpath.c.
36016         (concatenated_filename): Renamed from concatenated_pathname.
36017         * lib/findprog.c: Include filename.h instead of pathname.h.
36018         (find_in_path): Update.
36019         * lib/javacomp.c: Include filename.h instead of pathname.h.
36020         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
36021         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
36022         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
36023         is_oldgcj_14_13_usable, is_javac_usable): Update.
36024         * lib/javaexec.c: Include filename.h instead of pathname.h.
36025         (execute_java_class): Update.
36026         * modules/findprog: Update.
36027         * modules/javacomp: Update.
36028         * modules/javaexec: Update.
36029         * MODULES.html.sh (File system functions): Add 'filename', remove
36030         'pathname'.
36031
36032 2007-02-25  Bruno Haible  <bruno@clisp.org>
36033
36034         * modules/printf-frexpl-tests: New file.
36035         * tests/test-printf-frexpl.c: New file.
36036
36037         * modules/printf-frexpl: New file.
36038         * lib/printf-frexpl.h: New file.
36039         * lib/printf-frexpl.c: New file.
36040         * m4/printf-frexpl.m4: New file.
36041
36042 2007-02-25  Bruno Haible  <bruno@clisp.org>
36043
36044         * modules/printf-frexp-tests: New file.
36045         * tests/test-printf-frexp.c: New file.
36046
36047         * modules/printf-frexp: New file.
36048         * lib/printf-frexp.h: New file.
36049         * lib/printf-frexp.c: New file.
36050         * m4/printf-frexp.m4: New file.
36051
36052 2007-02-25  Bruno Haible  <bruno@clisp.org>
36053
36054         Assume automake >= 1.10 for the tests.
36055         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
36056         * modules/arctwo-tests: Likewise.
36057         * modules/argp-tests: Likewise.
36058         * modules/avltree-list-tests: Likewise.
36059         * modules/avltree-oset-tests: Likewise.
36060         * modules/avltreehash-list-tests: Likewise.
36061         * modules/carray-list-tests: Likewise.
36062         * modules/crc-tests: Likewise.
36063         * modules/des-tests: Likewise.
36064         * modules/gc-arcfour-tests: Likewise.
36065         * modules/gc-arctwo-tests: Likewise.
36066         * modules/gc-des-tests: Likewise.
36067         * modules/gc-hmac-md5-tests: Likewise.
36068         * modules/gc-hmac-sha1-tests: Likewise.
36069         * modules/gc-md2-tests: Likewise.
36070         * modules/gc-md4-tests: Likewise.
36071         * modules/gc-md5-tests: Likewise.
36072         * modules/gc-pbkdf2-sha1-tests: Likewise.
36073         * modules/gc-rijndael-tests: Likewise.
36074         * modules/gc-sha1-tests: Likewise.
36075         * modules/gc-tests: Likewise.
36076         * modules/getaddrinfo-tests: Likewise.
36077         * modules/hmac-md5-tests: Likewise.
36078         * modules/hmac-sha1-tests: Likewise.
36079         * modules/linked-list-tests: Likewise.
36080         * modules/linkedhash-list-tests: Likewise.
36081         * modules/lock-tests: Likewise.
36082         * modules/md2-tests: Likewise.
36083         * modules/md4-tests: Likewise.
36084         * modules/md5-tests: Likewise.
36085         * modules/rbtree-list-tests: Likewise.
36086         * modules/rbtree-oset-tests: Likewise.
36087         * modules/rbtreehash-list-tests: Likewise.
36088         * modules/read-file-tests: Likewise.
36089         * modules/rijndael-tests: Likewise.
36090         * modules/stdint-tests: Likewise.
36091         * modules/tls-tests: Likewise.
36092
36093 2007-02-24  Bruno Haible  <bruno@clisp.org>
36094
36095         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
36096         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
36097         function; instead check whether isnan with a double argument links.
36098         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
36099         function; instead check whether isnan with a 'long double' argument
36100         links.
36101         Reported by Eric Blake <ebb9@byu.net>.
36102
36103 2007-02-24  Bruno Haible  <bruno@clisp.org>
36104
36105         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
36106         defined.
36107         * lib/isnanl.c: Remove all code. Just include isnan.c.
36108         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
36109
36110 2007-02-25  Jim Meyering  <jim@meyering.net>
36111
36112         Avoid conflicting types for 'unsetenv' on FreeBSD.
36113         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
36114         conflicting with FreeBSD's (5.0 and 6.1) function declaration
36115         in stdlib.h.
36116
36117 2007-02-24  Bruno Haible  <bruno@clisp.org>
36118
36119         * modules/isnanl-nolibm-tests: New file.
36120         * tests/test-isnanl.c: New file.
36121
36122         * modules/isnanl-nolibm: New file.
36123         * lib/isnanl.h: New file.
36124         * lib/isnanl.c: New file.
36125         * m4/isnanl.m4: New file.
36126
36127 2007-02-24  Bruno Haible  <bruno@clisp.org>
36128
36129         * modules/isnan-nolibm-tests: New file.
36130         * tests/test-isnan.c: New file.
36131
36132         * modules/isnan-nolibm: New file.
36133         * lib/isnan.h: New file.
36134         * lib/isnan.c: New file.
36135         * m4/isnan.m4: New file.
36136
36137 2007-02-24  Bruno Haible  <bruno@clisp.org>
36138
36139         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
36140         assume that an exponent fits in 20 bits.
36141
36142 2007-02-24  Jim Meyering  <jim@meyering.net>
36143
36144         * m4/regex.m4: Update the description of the configure-time option,
36145         --without-included-regex, to state accurately what the defaults are,
36146         and perhaps to give people an idea why using this option is risky.
36147
36148 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
36149
36150         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
36151         loops on small arguments.  This attempts to avoid the problem
36152         Bruno Haible reported for AIX 4.3.2 in
36153         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
36154
36155 2007-02-23  Bruno Haible  <bruno@clisp.org>
36156
36157         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
36158         Needed for help2man.
36159
36160 2007-02-23  Karl Berry  <karl@gnu.org>
36161
36162         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
36163         exists, foo.h should be cvs-ignored, not committed.
36164
36165 2007-02-23  Eric Blake  <ebb9@byu.net>
36166
36167         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
36168         * lib/stat-time.h (includes): Likewise.
36169         * lib/utimecmp.c (includes): Likewise.
36170         * lib/utimens.h (includes): Likewise.
36171         * lib/getdate.y (includes): Also include "timespec.h" for use
36172         internal to the module.
36173         * modules/utimens (Depends-on): Revert yesterday's patch.
36174         * modules/nanosleep (Depends-on): Add missing dependency.
36175
36176 2007-02-22  Bruno Haible  <bruno@clisp.org>
36177
36178         * lib/glob.c: Don't include getlogin_r.h.
36179
36180 2007-02-22  Jim Meyering  <jim@meyering.net>
36181
36182         * modules/utimens (Depends-on): Add timespec, required for
36183         utimens.h's inclusion of timespec.h.
36184
36185 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
36186
36187         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
36188         long unreadable paths in GNU/Linux.  Problem reported by Andreas
36189         Schwab in
36190         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
36191         I'll try to think of a better way to fix the Solaris problem.
36192
36193         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
36194         like glibc; on Solaris 10, it fails with errno == EINVAL.
36195         POSIX says the behavior is unspecified if the first argument is NULL,
36196         so play it safe and never pass NULL to the system getcwd.
36197
36198 2007-02-21  Jim Meyering  <jim@meyering.net>
36199
36200         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
36201         of gettimeofday.  It would conflict with the one now always
36202         provided via sys_time_.h.  Reported by Matthew Woehlke, as
36203         an IRIX 6.5 build failure.
36204
36205 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
36206
36207         Minor fixups to port to Solaris 10 with Sun C 5.8.
36208         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
36209         * modules/getcwd (Depends-on): Add dirfd.
36210         * lib/putenv.c (putenv): #undef it.
36211         (rpl_putenv): New decl.
36212         (malloc, free): Include <stdlib.h> rather than prototyping separately.
36213
36214 2007-02-20  Bruno Haible  <bruno@clisp.org>
36215
36216         * modules/stdio-tests: New file.
36217         * tests/test-stdio.c: New file.
36218
36219         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
36220         (Depends-on): Add stdio.
36221         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
36222         (Include): Use <stdio.h> instead of vsnprintf.h.
36223         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
36224         HAVE_DECL_VSNPRINTF.
36225         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
36226
36227         * modules/snprintf (Files): Remove lib/snprintf.h.
36228         (Depends-on): Add stdio.
36229         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
36230         (Include): Use <stdio.h> instead of snprintf.h.
36231         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
36232         HAVE_DECL_SNPRINTF.
36233         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
36234         * lib/getaddrinfo.c: Likewise.
36235
36236         * modules/stdio: New file.
36237         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
36238         * lib/snprintf.h: Remove file.
36239         * lib/vsnprintf.h: Remove file.
36240         * lib/.cppi-disable: Remove snprintf.h.
36241         * m4/stdio_h.m4: New file.
36242         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
36243
36244 2007-02-20  Jim Meyering  <jim@meyering.net>
36245
36246         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
36247         used by e.g., mingw.  From Bruno Haible.
36248
36249 2007-02-19  Bruno Haible  <bruno@clisp.org>
36250
36251         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
36252         warnings.
36253         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36254
36255 2007-02-19  Bruno Haible  <bruno@clisp.org>
36256
36257         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
36258         from mingw users.
36259
36260 2007-02-19  Bruno Haible  <bruno@clisp.org>
36261
36262         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
36263         warnings.
36264         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
36265
36266 2007-02-19  Jim Meyering  <jim@meyering.net>
36267
36268         Don't use FD after a successful "fdopendir (fd)".
36269         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
36270         Reset it by calling dirfd on the just-obtained DIR*.
36271
36272         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
36273         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
36274
36275 2007-02-18  Bruno Haible  <bruno@clisp.org>
36276
36277         * lib/readlink.c: Include <unistd.h>.
36278         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
36279         HAVE_READLINK.
36280         * modules/readlink (Depends-on): Add unistd.
36281         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36282         (Include): Add <unistd.h>.
36283
36284         * lib/getlogin_r.h: Remove file.
36285         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
36286         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
36287         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
36288         HAVE_DECL_GETLOGIN_R.
36289         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
36290         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36291         (Include): Use <unistd.h> instead of getlogin_r.h.
36292
36293         * lib/getcwd.h: Remove file.
36294         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
36295         * lib/xgetcwd.c: Likewise.
36296         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
36297         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
36298         * modules/getcwd (Files): Remove lib/getcwd.h.
36299         (Depends-on): Add unistd.
36300         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36301         (Include): Use <unistd.h> instad of getcwd.h.
36302
36303         * lib/ftruncate.c: Include <unistd.h> first.
36304         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
36305         Set HAVE_FTRUNCATE.
36306         * modules/ftruncate (Depends-on): Add unistd.
36307         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36308
36309         * lib/fchdir.c: Include <unistd.h> first.
36310         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
36311         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
36312         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
36313         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36314         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
36315
36316         * lib/dup2.c: Include <unistd.h> first.
36317         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
36318         HAVE_DUP2.
36319         * modules/dup2 (Depends-on): Add unistd.
36320         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36321
36322         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
36323         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
36324         REPLACE_CHOWN. Don't define chown as a macro here.
36325         * modules/chown (Depends-on): Add unistd.
36326         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36327
36328         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
36329         Add definition for GL_LINK_WARNING.
36330         (chown, dup2): New declarations.
36331         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
36332         link warning.
36333         (ftruncate): New declaration.
36334         (getcwd): New declaration, taken from old getcwd.h.
36335         (getlogin_r): New declaration, taken from old getlogin_r.h.
36336         (readlink): New declaration.
36337         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
36338         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
36339         (gl_PREREQ_UNISTD): Remove macro.
36340         (gl_UNISTD_MODULE_INDICATOR): New macro.
36341         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
36342         many new variables. Don't set UNISTD_H.
36343         * modules/unistd (Description): Change.
36344         (Depends-on): Add link-warning.
36345         (configure.ac): Update.
36346         (Makefile.am): Create unistd.h always. Substitute many new variables
36347         into it.
36348
36349 2007-02-18  Bruno Haible  <bruno@clisp.org>
36350
36351         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
36352         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
36353         HAVE_GETSUBOPT.
36354         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
36355         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
36356         * lib/getsubopt.h: Remove file.
36357         * modules/getsubopt (Files): Remove lib/getsubopt.h.
36358         (Depends-on): Add stdlib.
36359         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36360         (Includes): Use <stdlib.h> instead of getsubopt.h.
36361         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
36362         Set HAVE_GETSUBOPT.
36363         * lib/getsubopt.c: Don't include getsubopt.h.
36364
36365 2007-02-18  Bruno Haible  <bruno@clisp.org>
36366
36367         * modules/fchdir (Depends-on): Add dup2.
36368
36369 2007-02-18  Bruno Haible  <bruno@clisp.org>
36370
36371         * lib/stdlib_.h: Handle glibc's special invocation convention
36372         specially.
36373
36374 2007-02-18  Bruno Haible  <bruno@clisp.org>
36375
36376         * modules/stdlib-tests: New file.
36377         * tests/test-stdlib.c: New file.
36378
36379         * modules/mkstemp (Files): Remove lib/mkstemp.h.
36380         (Depends-on): Add stdlib.
36381         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36382         (Includes): Use <stdlib.h> instead of mkstemp.h.
36383         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
36384         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
36385         * lib/mkstemp.c: Don't include mkstemp.h.
36386         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
36387         * lib/stdlib--.h: Don't include mkstemp.h.
36388
36389         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
36390         (Depends-on): Add stdlib.
36391         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36392         (Includes): Use <stdlib.h> instead of mkdtemp.h.
36393         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
36394         HAVE_MKDTEMP.
36395         * lib/mkdtemp.c: Don't include mkdtemp.h.
36396         * lib/clean-temp.c: Don't include mkdtemp.h.
36397
36398         * modules/exit (Files): Remove lib/exit.h.
36399         (Depends-on): Add stdlib.
36400         (Makefile.am): Remove lib_SOURCES.
36401         (Include): Use <stdlib.h> instead of exit.h.
36402         * lib/argmatch.c: Don't include exit.h.
36403         * lib/execute.c: Likewise.
36404         * lib/pagealign_alloc.c: Likewise.
36405         * lib/pipe.c: Likewise.
36406         * lib/wait-process.c: Likewise.
36407         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
36408         * lib/exitfail.c: Likewise.
36409         * lib/savewd.c: Likewise.
36410         * lib/xsetenv.c: Likewise.
36411
36412         * modules/stdlib: New file.
36413         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
36414         and extra comments about mkstemp().
36415         * lib/exit.h: Remove file.
36416         * lib/mkdtemp.h: Remove file.
36417         * lib/mkstemp.h: Remove file.
36418         * m4/stdlib_h.m4: New file.
36419         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
36420
36421 2007-02-18  Bruno Haible  <bruno@clisp.org>
36422
36423         * modules/math-tests: New file.
36424         * tests/test-math.c: New file.
36425
36426         * modules/math: New file.
36427         * modules/mathl (Files): Remove lib/mathl.h.
36428         (Depends-on): Add math.
36429         (Makefile.am): Don't mention mathl.h.
36430         (Include): Use <math.h> instead of mathl.h.
36431         * lib/math_.h: New file.
36432         * lib/mathl.h: Remove file.
36433         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
36434         mathl.h.
36435         * lib/asinl.c: Likewise.
36436         * lib/atanl.c: Likewise.
36437         * lib/ceill.c: Likewise.
36438         * lib/cosl.c: Likewise.
36439         * lib/expl.c: Likewise.
36440         * lib/floorl.c: Likewise.
36441         * lib/frexpl.c: Likewise.
36442         * lib/ldexpl.c: Likewise.
36443         * lib/logl.c: Likewise.
36444         * lib/sincosl.c: Likewise.
36445         * lib/sinl.c: Likewise.
36446         * lib/sqrtl.c: Likewise.
36447         * lib/tanl.c: Likewise.
36448         * lib/trigl.c: Likewise.
36449         * m4/math_h.m4: New file.
36450         * MODULES.html.sh (Mathematics): Add math.
36451
36452 2007-02-17  Bruno Haible  <bruno@clisp.org>
36453
36454         * modules/wctype-tests: New file.
36455         * tests/test-wctype.c: New file.
36456
36457         * modules/wchar-tests: New file.
36458         * tests/test-wchar.c: New file.
36459
36460         * modules/unistd-tests: New file.
36461         * tests/test-unistd.c: New file.
36462
36463         * modules/time-tests: New file.
36464         * tests/test-time.c: New file.
36465
36466         * modules/sysexits-tests: New file.
36467         * tests/test-sysexits.c: New file.
36468
36469         * modules/sys_time-tests: New file.
36470         * tests/test-sys_time.c: New file.
36471
36472         * modules/sys_stat-tests: New file.
36473         * tests/test-sys_stat.c: New file.
36474
36475         * modules/sys_socket-tests: New file.
36476         * tests/test-sys_socket.c: New file.
36477
36478         * modules/sys_select-tests: New file.
36479         * tests/test-sys_select.c: New file.
36480
36481         * modules/string-tests: New file.
36482         * tests/test-string.c: New file.
36483
36484         * modules/stdbool-tests: New file.
36485         * tests/test-stdbool.c: New file.
36486
36487         * modules/netinet_in-tests: New file.
36488         * tests/test-netinet_in.c: New file.
36489
36490         * modules/inttypes-tests: New file.
36491         * tests/test-inttypes.c: New file.
36492
36493         * modules/fcntl-tests: New file.
36494         * tests/test-fcntl.c: New file.
36495
36496         * modules/byteswap-tests: New file.
36497         * tests/test-byteswap.c: New file.
36498
36499         * modules/arpa_inet-tests: New file.
36500         * tests/test-arpa_inet.c: New file.
36501
36502 2007-02-17  Bruno Haible  <bruno@clisp.org>
36503
36504         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
36505         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
36506         if the corresponding module is not enabled. Emit link warnings if
36507         the function is used nevertheless.
36508         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
36509         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
36510         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
36511         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
36512         * modules/inttypes (Depends-on): Add link-warning.
36513         (Makefile.am): Copy the contents of build-aux/link-warning.h into
36514         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
36515         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
36516         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
36517         * modules/imaxdiv (configure.ac): Likewise.
36518         * modules/strtoimax (configure.ac): Likewise.
36519         * modules/strtoumax (configure.ac): Likewise.
36520
36521 2007-02-17  Bruno Haible  <bruno@clisp.org>
36522
36523         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
36524         gl_STRING_MODULE_INDICATOR_DEFAULTS.
36525         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
36526         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
36527
36528 2007-02-17  Bruno Haible  <bruno@clisp.org>
36529
36530         * modules/link-warning: New file.
36531         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
36532         * lib/string_.h (GL_LINK_WARNING): Remove definition.
36533         * modules/string (Depends-on): Add link-warning.
36534         (Makefile.am): Copy the contents of build-aux/link-warning.h into
36535         string.h.
36536         * MODULES.html.sh (Support for building libraries and executables): Add
36537         link-warning.
36538
36539 2007-02-17  Bruno Haible  <bruno@clisp.org>
36540
36541         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
36542         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
36543         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
36544         long lines.
36545
36546 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
36547             Bruno Haible  <bruno@clisp.org>
36548
36549         * modules/tmpfile: New file.
36550         * lib/tmpfile.c: New file.
36551         * m4/tmpfile.m4: New file.
36552         * MODULES.html.sh (func_all_modules): New section "Input/output".
36553
36554 2007-02-15  Bruno Haible  <bruno@clisp.org>
36555
36556         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
36557         (supports_delete_on_close): New function.
36558         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
36559
36560 2007-02-14  Bruno Haible  <bruno@clisp.org>
36561
36562         * modules/mbspcasecmp-tests: New file.
36563         * tests/test-mbspcasecmp.sh: New file.
36564         * tests/test-mbspcasecmp.c: New file.
36565
36566         New module mbspcasecmp.
36567         * modules/mbspcasecmp: New file.
36568         * lib/mbspcasecmp.c: New file.
36569         * lib/string_.h (strncasecmp): Change warning message.
36570         (mbspcasecmp): New declaration.
36571         * m4/mbspcasecmp.m4: New file.
36572         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36573         GNULIB_MBSPCASECMP.
36574         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
36575         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
36576
36577 2007-02-14  Bruno Haible  <bruno@clisp.org>
36578
36579         * modules/mbsncasecmp-tests: New file.
36580         * tests/test-mbsncasecmp.sh: New file.
36581         * tests/test-mbsncasecmp.c: New file.
36582
36583         New module mbsncasecmp.
36584         * modules/mbsncasecmp: New file.
36585         * lib/mbsncasecmp.c: New file.
36586         * lib/string_.h (mbsncasecmp): New declaration.
36587         * m4/mbsncasecmp.m4: New file.
36588         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36589         GNULIB_MBSNCASECMP.
36590         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
36591         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
36592
36593 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
36594
36595         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
36596         Verify that it doesn't overlap with our flags.
36597         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
36598         do not have the desired effect in multibyte locales; instead, use
36599         mbscasecmp.
36600         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
36601         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
36602         we don't require GNU fnmatch ourselves (if our users require it, they
36603         should do so explicitly).
36604
36605         Fix regex code so it doesn't rely on strcasecmp.
36606         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
36607         Otherwise, include gnulib's langinfo.h.
36608         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
36609         undesirable behavior in non-C locales.  Instead, rely on localecharset.
36610         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
36611         * modules/regex (FILES): Remove m4/codeset.m4.
36612         (Depends-on): Add localcharset.  Remove strcase.
36613
36614 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36615
36616         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
36617         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
36618
36619 2007-02-13  Bruno Haible  <bruno@clisp.org>
36620
36621         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
36622         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36623
36624 2007-02-12  Bruno Haible  <bruno@clisp.org>
36625
36626         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
36627         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
36628         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
36629         time warning rather than a link error.
36630
36631 2007-02-12  Bruno Haible  <bruno@clisp.org>
36632
36633         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
36634         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
36635         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36636
36637 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
36638
36639         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
36640         args, not 2.
36641
36642 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
36643
36644         New module 'time', so that apps can include <time.h> as per
36645         POSIX and GNU instead of separate include files like time_r.h
36646         and timegm.h.  This implementation tries out a simpler approach
36647         for replacing decls in standard include files (as compared to
36648         the string module), somewhat as an experiment.
36649
36650         * config/srclist.txt: Comment out mktime.c for now.
36651         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
36652         since it doesn't apply any more.  Use generic wording instead.
36653         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
36654         'time'.
36655         * lib/time_.h, m4/time_h.m4, modules/time: New files.
36656         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
36657         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
36658         Don't include <sys/types.h>; no longer needed since we assume C89.
36659         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
36660         * lib/strftime.c: Likewise.
36661         * lib/time_r.c: Likewise.
36662         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
36663         * lib/nanosleep.c: Include <time.h> first, to check interface.
36664         * lib/strptime.c: Likewise.
36665         * lib/time_r.c: Likewise.
36666         * lib/timegm.c: Likewise.
36667         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
36668         needed.
36669         * lib/timegm.c: Don't include timegm.h; no longer needed.
36670         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
36671         time.h now handles any problems in that area.
36672         (struct timespec, nanosleep): Remove; time.h now arranges for these.
36673         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
36674         that time.h defines struct timespec.
36675         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
36676         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
36677         handles that.
36678         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
36679         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
36680         needed.  Set REPLACE_LOCALTIME.
36681         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
36682         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
36683         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
36684         nanosleep; time_h.m4 now does that.  Don't require
36685         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
36686         module handles this now.
36687         * modules/getdate (Depends-on): Remove timespec.  Add time.
36688         * modules/nanosleep (Depends-on): Likewise.
36689         * modules/stat-time (Depends-on): Likewise.
36690         * modules/nanosleep (Include): Include time.h, not timespec.h.
36691         * modules/strptime (Files): Remove lib/strptime.h.
36692         (Depends-on): Add extensions, time.
36693         (Include): Include time.h, not strptime.h.
36694         * modules/time_r (Files): Remove lib/time_r.h.
36695         (Depends-on): Add time.
36696         (Include): Include time.h, not time_r.h.
36697         * modules/timegm: Likewise.
36698         * modules/timespec (Description): Now does timespec-related decls
36699         of our own, instead of struct timespec itself.
36700         (Depends-on): Add time; remove extensions.
36701         (Maintainer): Add self.
36702         * modules/utimecmp (Depends-on): Add time; remove timespec.
36703         * modules/utimens (Depends-on): Likewise.
36704         * modules/xnanosleep (Depends-on): Likewise.
36705
36706 2007-02-11  Bruno Haible  <bruno@clisp.org>
36707
36708         * lib/c-strstr.c: Include allocsa.h.
36709         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
36710         * lib/c-strcasestr.c: Include allocsa.h.
36711         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
36712         * lib/strcasestr.c: Include allocsa.h.
36713         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
36714         * lib/mbsstr.c: Include allocsa.h.
36715         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
36716         allocsa/freesa instead of malloc/free.
36717         * lib/mbscasestr.c: Include allocsa.h.
36718         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
36719         allocsa/freesa instead of malloc/free.
36720         * modules/c-strstr (Depends-on): Add allocsa.
36721         * modules/c-strcasestr (Depends-on): Likewise.
36722         * modules/strcasestr (Depends-on): Likewise.
36723         * modules/mbsstr (Depends-on): Likewise.
36724         * modules/mbscasestr (Depends-on): Likewise.
36725
36726 2007-02-11  Bruno Haible  <bruno@clisp.org>
36727
36728         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
36729
36730         * modules/mbsspn-tests: New file.
36731         * tests/test-mbsspn.sh: New file.
36732         * tests/test-mbsspn.c: New file.
36733
36734 2007-02-11  Bruno Haible  <bruno@clisp.org>
36735
36736         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
36737
36738         * modules/mbspbrk-tests: New file.
36739         * tests/test-mbspbrk.sh: New file.
36740         * tests/test-mbspbrk.c: New file.
36741
36742 2007-02-11  Bruno Haible  <bruno@clisp.org>
36743
36744         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
36745         unneeded cast.
36746
36747         * modules/mbscspn-tests: New file.
36748         * tests/test-mbscspn.sh: New file.
36749         * tests/test-mbscspn.c: New file.
36750
36751 2007-02-11  Bruno Haible  <bruno@clisp.org>
36752
36753         * modules/mbscasecmp-tests: New file.
36754         * tests/test-mbscasecmp.sh: New file.
36755         * tests/test-mbscasecmp.c: New file.
36756
36757 2007-02-11  Bruno Haible  <bruno@clisp.org>
36758
36759         Ensure O(n) worst-case complexity of mbscasestr.
36760         * lib/mbscasestr.c: Include stdbool.h.
36761         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
36762         functions.
36763         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
36764         the bookkeeping indicates that it's worth it.
36765         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
36766
36767         * modules/mbscasestr-tests: New file.
36768         * tests/test-mbscasestr1.c: New file.
36769         * tests/test-mbscasestr2.sh: New file.
36770         * tests/test-mbscasestr2.c: New file.
36771         * tests/test-mbscasestr3.sh: New file.
36772         * tests/test-mbscasestr3.c: New file.
36773         * tests/test-mbscasestr4.sh: New file.
36774         * tests/test-mbscasestr4.c: New file.
36775         * m4/locale-tr.m4: New file.
36776
36777 2007-02-11  Bruno Haible  <bruno@clisp.org>
36778
36779         Ensure O(n) worst-case complexity of mbsstr.
36780         * lib/mbsstr.c: Include stdbool.h.
36781         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
36782         functions.
36783         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
36784         bookkeeping indicates that it's worth it.
36785         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
36786
36787         * modules/mbsstr-tests: New file.
36788         * tests/test-mbsstr1.c: New file.
36789         * tests/test-mbsstr2.sh: New file.
36790         * tests/test-mbsstr2.c: New file.
36791         * tests/test-mbsstr3.sh: New file.
36792         * tests/test-mbsstr3.c: New file.
36793         * m4/locale-fr.m4: New file.
36794
36795 2007-02-11  Bruno Haible  <bruno@clisp.org>
36796
36797         * lib/mbsrchr.c (mbsrchr): Fix bug.
36798
36799         * modules/mbsrchr-tests: New file.
36800         * tests/test-mbsrchr.sh: New file.
36801         * tests/test-mbsrchr.c: New file.
36802
36803 2007-02-11  Bruno Haible  <bruno@clisp.org>
36804
36805         * lib/mbschr.c (mbschr): Fix bug.
36806
36807         * modules/mbschr-tests: New file.
36808         * tests/test-mbschr.sh: New file.
36809         * tests/test-mbschr.c: New file.
36810         * m4/locale-zh.m4: New file.
36811
36812 2007-02-11  Bruno Haible  <bruno@clisp.org>
36813
36814         Support for copying multibyte string iterators.
36815         * lib/mbiter.h: Include <string.h>.
36816         (mbiter_multi_copy): New function.
36817         (mbi_copy): New macro.
36818         * lib/mbuiter.h: Include <string.h>.
36819         (mbuiter_multi_copy): New function.
36820         (mbui_copy): New macro.
36821
36822 2007-02-11  Bruno Haible  <bruno@clisp.org>
36823
36824         New module mbslen.
36825         * modules/mbslen: New file.
36826         * lib/mbslen.c: New file.
36827         * lib/string_.h (mbslen): New declaration.
36828         * m4/mbslen.m4: New file.
36829         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36830         GNULIB_MBSLEN.
36831         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
36832         * MODULES.html.sh (Internationalization functions): Add mbslen.
36833
36834 2007-02-11  Bruno Haible  <bruno@clisp.org>
36835
36836         Ensure O(n) worst-case complexity of strcasestr substitute.
36837         * lib/strcasestr.c: Include stdbool.h.
36838         (knuth_morris_pratt): New function.
36839         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
36840         bookkeeping indicates that it's worth it.
36841         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
36842
36843         * modules/strcasestr-tests: New file.
36844         * tests/test-strcasestr.c: New file.
36845
36846 2007-02-11  Bruno Haible  <bruno@clisp.org>
36847
36848         Ensure O(n) worst-case complexity of c_strcasestr.
36849         * lib/c-strcasestr.c: Include stdbool.h, string.h.
36850         (knuth_morris_pratt): New function.
36851         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
36852         the bookkeeping indicates that it's worth it.
36853         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
36854
36855         * modules/c-strcasestr-tests: New file.
36856         * tests/test-c-strcasestr.c: New file.
36857
36858 2007-02-11  Bruno Haible  <bruno@clisp.org>
36859
36860         Ensure O(n) worst-case complexity of c_strstr.
36861         * lib/c-strstr.c: Include stdbool.h, string.h.
36862         (knuth_morris_pratt): New function.
36863         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
36864         bookkeeping indicates that it's worth it.
36865         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
36866
36867         * lib/c-strstr.c: Complete rewrite for maintainability.
36868
36869         * modules/c-strstr-tests: New file.
36870         * tests/test-c-strstr.c: New file.
36871
36872 2007-02-11  Bruno Haible  <bruno@clisp.org>
36873
36874         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
36875         5.2.1 and earlier, whereby \055 was treated just like the range
36876         delimiter '-'.
36877         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
36878
36879 2007-02-08  Bruno Haible  <bruno@clisp.org>
36880
36881         * modules/regex (Depends-on): Add stdbool.
36882         Reported by Dalibor Topic <robilad@kaffe.org>.
36883
36884 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
36885
36886         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
36887         Prefer returning from main to exiting from it.
36888         Remove unnecessary parens after sizeof.
36889
36890 2007-02-05  Bruno Haible  <bruno@clisp.org>
36891
36892         New module mbssep.
36893         * modules/mbssep: New file.
36894         * lib/mbssep.c: New file.
36895         * lib/string_.h (strsep): Add a conditional link warning.
36896         (mbssep): New declaration.
36897         * m4/mbssep.m4: New file.
36898         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36899         GNULIB_MBSSEP.
36900         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
36901         * MODULES.html.sh (Internationalization functions): Add mbssep.
36902
36903 2007-02-05  Bruno Haible  <bruno@clisp.org>
36904
36905         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
36906         Optimize search in case of 1 delimiter.
36907
36908 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
36909
36910         * lib/acl.h: Include sys/types.h before sys/acl.h.
36911
36912 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
36913
36914         Merge upstream fix for glibc bugzilla #3957:
36915
36916         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
36917
36918         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
36919         bit for RE_HAT_LISTS_NOT_NEWLINE.
36920         (build_charclass_op): Remove bogus comment.
36921
36922 2007-02-05  Simon Josefsson  <simon@josefsson.org>
36923
36924         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
36925
36926 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36927
36928         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
36929         * lib/memmem.c [!defined _LIBC]: Include config.h.
36930
36931 2007-02-04  Bruno Haible  <bruno@clisp.org>
36932
36933         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
36934         warning message.
36935
36936 2007-02-04  Bruno Haible  <bruno@clisp.org>
36937
36938         New module mbstok_r.
36939         * modules/mbstok_r: New file.
36940         * lib/mbstok_r.c: New file.
36941         * lib/string_.h (strtok_r): Change argument names to match the
36942         comments. Add a conditional link warning.
36943         (mbstok_r): New declaration.
36944         * m4/mbstok_r.m4: New file.
36945         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36946         GNULIB_MBSTOK_R.
36947         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
36948         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
36949
36950 2007-02-04  Bruno Haible  <bruno@clisp.org>
36951
36952         New module mbsspn.
36953         * modules/mbsspn: New file.
36954         * lib/mbsspn.c: New file.
36955         * lib/string_.h (strspn): Add a conditional link warning.
36956         (mbsspn): New declaration.
36957         * m4/mbsspn.m4: New file.
36958         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36959         GNULIB_MBSSPN.
36960         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
36961         * MODULES.html.sh (Internationalization functions): Add mbsspn.
36962
36963 2007-02-04  Bruno Haible  <bruno@clisp.org>
36964
36965         New module mbspbrk.
36966         * modules/mbspbrk: New file.
36967         * lib/mbspbrk.c: New file.
36968         * lib/string_.h (strpbrk): Add a conditional link warning.
36969         (mbspbrk): New declaration.
36970         * m4/mbspbrk.m4: New file.
36971         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36972         GNULIB_MBSPBRK.
36973         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
36974         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
36975
36976 2007-02-04  Bruno Haible  <bruno@clisp.org>
36977
36978         New module mbscspn.
36979         * modules/mbscspn: New file.
36980         * lib/mbscspn.c: New file.
36981         * lib/string_.h (strcspn): Add a conditional link warning.
36982         (mbscspn): New declaration.
36983         * m4/mbscspn.m4: New file.
36984         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36985         GNULIB_MBSCSPN.
36986         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
36987         * MODULES.html.sh (Internationalization functions): Add mbscspn.
36988
36989 2007-02-04  Bruno Haible  <bruno@clisp.org>
36990
36991         New module mbscasestr, reduced goal of strcasestr.
36992         * modules/mbscasestr: New file.
36993         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
36994         (mbscasestr): Renamed from strcasestr.
36995         * lib/strcasestr.c: Don't include mbuiter.h.
36996         (strcasestr): Remove support for multibyte locales.
36997         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
36998         Change the conditional link warning.
36999         (mbscasestr): New declaration.
37000         * m4/mbscasestr.m4: New file.
37001         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
37002         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
37003         REPLACE_STRCASESTR.
37004         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
37005         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
37006         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
37007         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
37008         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
37009         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
37010         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
37011         (Depends-on): Remove mbuiter.
37012         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
37013
37014 2007-02-04  Bruno Haible  <bruno@clisp.org>
37015
37016         Simplify handling of strncasecmp.
37017         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
37018         the conditional link warning.
37019         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
37020         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
37021         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
37022         * modules/strcase (configure.ac): Don't invoke
37023         gl_STRING_MODULE_INDICATOR.
37024         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
37025
37026 2007-02-04  Bruno Haible  <bruno@clisp.org>
37027
37028         New module mbscasecmp, reduced goal of strcasecmp.
37029         * modules/mbscasecmp: New file.
37030         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
37031         (mbscasecmp): Renamed from strcasecmp.
37032         * lib/strcasecmp.c: Don't include mbuiter.h.
37033         (strcasecmp): Remove support for multibyte locales.
37034         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
37035         Change the conditional link warning.
37036         (mbscasecmp): New declaration.
37037         * m4/mbscasecmp.m4: New file.
37038         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
37039         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
37040         REPLACE_STRCASECMP.
37041         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
37042         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
37043         GNULIB_MBSCASECMP.
37044         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
37045         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
37046         * modules/strcase (Files): Remove m4/mbrtowc.m4.
37047         (Depends-on): Remove mbuiter.
37048         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
37049
37050 2007-02-04  Bruno Haible  <bruno@clisp.org>
37051
37052         New module mbsstr. Remove module strstr.
37053         * modules/mbsstr: New file.
37054         * modules/strstr: Remove file.
37055         * lib/mbsstr.c: Renamed from lib/strstr.c.
37056         (mbsstr): Renamed from strstr.
37057         * lib/string_.h (strstr): Remove declaration. Change the conditional
37058         link warning.
37059         (mbsstr): New declaration.
37060         * m4/mbsstr.m4: New file.
37061         * m4/strstr.m4: Remove file.
37062         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
37063         REPLACE_STRSTR.
37064         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
37065         Don't initialize GNULIB_STRSTR.
37066         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
37067         substitute GNULIB_STRSTR and REPLACE_STRSTR.
37068         * MODULES.html.sh (Internationalization functions): Add mbsstr.
37069         (Support for systems lacking ANSI C 89): Remove strstr.
37070
37071 2007-02-04  Bruno Haible  <bruno@clisp.org>
37072
37073         New module mbsrchr.
37074         * modules/mbsrchr: New file.
37075         * lib/mbsrchr.c: New file.
37076         * lib/string_.h (strrchr): Add a conditional link warning.
37077         (mbsrchr): New declaration.
37078         * m4/mbsrchr.m4: New file.
37079         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
37080         GNULIB_MBSRCHR.
37081         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
37082         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
37083
37084 2007-02-04  Bruno Haible  <bruno@clisp.org>
37085
37086         New module mbschr.
37087         * modules/mbschr: New file.
37088         * lib/mbschr.c: New file.
37089         * lib/string_.h (strchr): Add a conditional link warning.
37090         (mbschr): New declaration.
37091         * m4/mbschr.m4: New file.
37092         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
37093         GNULIB_MBSCHR.
37094         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
37095         * MODULES.html.sh (Internationalization functions): Add mbschr.
37096
37097 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
37098
37099         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
37100
37101         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
37102
37103 2007-02-04  Bruno Haible  <bruno@clisp.org>
37104
37105         New module description section 'configure.ac-early'.
37106         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
37107         (func_get_autoconf_early_snippet): New function.
37108         (func_import, func_create_testdir): Use it. Remove special cases for
37109         modules 'extensions' and 'lock'.
37110         * modules/extensions (configure.ac-early): Require
37111         gl_USE_SYSTEM_EXTENSIONS.
37112         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
37113
37114 2007-02-04  Bruno Haible  <bruno@clisp.org>
37115
37116         Make use of gcj-4.3's -fsource and -ftarget option.
37117         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
37118         and if so try the options -fsource and -ftarget.
37119         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
37120         source_version, ftarget_option, target_version arguments.
37121         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
37122         (is_envjavac_oldgcj_14_14_usable): Renamed from
37123         is_envjavac_gcj_14_14_usable.
37124         (is_envjavac_oldgcj_14_13_usable): Renamed from
37125         is_envjavac_gcj_14_13_usable.
37126         (is_gcj_present): Update.
37127         (is_gcj_43, is_gcj43_usable): New functions.
37128         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
37129         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
37130         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
37131         try the options -fsource and -ftarget.
37132
37133 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
37134
37135         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
37136         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
37137         larger value.
37138
37139 2007-02-03  Jim Meyering  <jim@meyering.net>
37140
37141         Give tools a better chance to allocate space for very large buffers.
37142         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
37143
37144         Make pwd and readlink work also when run with an unreadable parent dir
37145         on systems with openat support.
37146         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
37147         provided getcwd function, even when we have openat support.
37148         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
37149
37150 2007-02-02  Bruno Haible  <bruno@clisp.org>
37151
37152         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
37153         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
37154         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
37155         portability problems if one of these functions is only used on specific
37156         platforms.
37157         Reported by Paul Eggert.
37158
37159 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
37160
37161         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
37162         is causing more trouble than it's curing.
37163         * lib/regex_internal.h (__mempcpy): Remove.
37164         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
37165         (and make the code a tad smaller to boot).
37166         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
37167
37168 2007-02-02  Jim Meyering  <jim@meyering.net>
37169
37170         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
37171         section, not in the Makefile.am: one.
37172
37173 2007-02-02  Eric Blake  <ebb9@byu.net>
37174
37175         * lib/strchrnul.c: Always include config.h first.
37176
37177         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
37178         gnulib strstr is not necessary here.
37179
37180 2007-02-02  Simon Josefsson  <simon@josefsson.org>
37181
37182         * m4/socklen.m4: Fix typo.
37183
37184 2007-02-02  Eric Blake  <ebb9@byu.net>
37185
37186         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
37187         * modules/netinet_in (Makefile.am): Likewise.
37188
37189 2007-02-01  Bruno Haible  <bruno@clisp.org>
37190
37191         * lib/string_.h (GL_LINK_WARNING): New macro.
37192         (strcasecmp, strstr, strcasestr): If provided by the system,
37193         conditionally define as a macro that leads to a warning instead of to
37194         an error.
37195         (strncasecmp): Conditionally define as a macro that leads to a warning.
37196
37197 2007-02-01  Karl Berry  <karl@gnu.org>
37198
37199         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
37200
37201 2007-02-01  Bruno Haible  <bruno@clisp.org>
37202
37203         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
37204         renamings.
37205
37206 2007-02-01  Eric Blake  <ebb9@byu.net>
37207
37208         * modules/regex (Depends-on): Revert dependence on mempcpy.
37209         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
37210         module's definition of mempcpy.
37211         Reported by Paul Eggert.
37212
37213 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
37214
37215         * lib/string_.h: If the gnulib module XYZ is not present, undefine
37216         the symbol XYZ before redefining it.  This fixes a problem with
37217         programs that don't use XYZ, when compiled on systems that define
37218         XYZ to something else.
37219
37220 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
37221
37222         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
37223         occurs when "mkdir -m foo" creates a setgid directory that is (1)
37224         writeable to group or other and (2) is intended to have a special
37225         mode bit that is set or cleared.  In such a case, the directory
37226         should be neither group- nor other-writeable until the special
37227         mode bits are right.
37228
37229 2007-01-31  Eric Blake  <ebb9@byu.net>
37230
37231         * modules/mountlist (Depends-on): Add strstr.
37232
37233         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
37234         bug.
37235         * modules/string (Makefile.am): Remove redundant replacement.
37236         * modules/regex (Depends-on): Add mempcpy.
37237
37238 2007-01-31  Bruno Haible  <bruno@clisp.org>
37239
37240         New module description field 'Link'.
37241         * gnulib-tool (func_usage): Document --extract-link-directive.
37242         (sed_extract_prog): Recognize 'Link' directive.
37243         (func_get_link_directive): New function.
37244         (func_import): Show summary of link directives.
37245         Handle --extract-link-directive option.
37246         * modules/acl (Link): New section.
37247         * modules/clock-time (Link): New section.
37248         * modules/euidaccess (Link): New section.
37249         * modules/gettext (Link): New section.
37250         * modules/iconv (Link): New section.
37251         * modules/lock (Link): New section.
37252         * modules/nanosleep (Link): New section.
37253         * modules/readline (Link): New section.
37254
37255 2007-01-27  Bruno Haible  <bruno@clisp.org>
37256
37257         Enforce the use of gnulib modules for unportable <string.h> functions.
37258         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
37259         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
37260         (gl_HEADER_STRING_H_BODY): Require it.
37261         * lib/string_.h: If the gnulib module XYZ is not present, redefine
37262         the symbol XYZ to one that gives a link error.
37263         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
37264         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
37265         * modules/mempcpy (configure.ac): Likewise.
37266         * modules/memrchr (configure.ac): Likewise.
37267         * modules/stpcpy (configure.ac): Likewise.
37268         * modules/stpncpy (configure.ac): Likewise.
37269         * modules/strcase (configure.ac): Likewise.
37270         * modules/strcasestr (configure.ac): Likewise.
37271         * modules/strchrnul (configure.ac): Likewise.
37272         * modules/strdup (configure.ac): Likewise.
37273         * modules/strndup (configure.ac): Likewise.
37274         * modules/strnlen (configure.ac): Likewise.
37275         * modules/strpbrk (configure.ac): Likewise.
37276         * modules/strsep (configure.ac): Likewise.
37277         * modules/strstr (configure.ac): Likewise.
37278         * modules/strtok_r (configure.ac): Likewise.
37279
37280 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
37281
37282         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
37283
37284 2007-01-30  Jim Meyering  <jim@meyering.net>
37285
37286         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
37287
37288 2007-01-29  Bruno Haible  <bruno@clisp.org>
37289
37290         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
37291         * lib/execute.c: Likewise.
37292         * lib/pipe.c: Likewise.
37293         * lib/printf-args.h: Likewise.
37294         * lib/printf-args.c: Likewise.
37295         * lib/printf-parse.c: Likewise.
37296         * lib/vasnprintf.c: Likewise.
37297
37298 2007-01-29  Eric Blake  <ebb9@byu.net>
37299
37300         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
37301         declaration.
37302
37303 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
37304
37305         * lib/strptime.h (strptime): Use 'restrict' for args where
37306         POSIX requires this.
37307         * lib/strptime.c (strptime): Likewise.
37308         Change license notice from LGPL to GPL, since gnulib-tool will
37309         change this as needed.
37310         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
37311         defined.
37312         Include "strptime.h" first, to check interface.
37313         Do not #undef _LIBC and _NL_CURRENT.
37314         Do not include <stdlib.h>; no longer needed.
37315         Include "time_r.h" and declare ptime_locale_status
37316         only if _LIBC is not defined.
37317         (__P): Remove unused macro.
37318         (match_string): Bring back glibc version, but use it only if _LIBC
37319         is defined.
37320         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
37321         Remove unnecessary assertion and abort() call.
37322         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
37323         * m4/strptime.m4: Fix serial number comment.
37324         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
37325         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
37326         (Depends-on): Add time_r.
37327
37328 2007-01-29  Bruno Haible  <bruno@clisp.org>
37329
37330         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37331         strptime.
37332         * modules/strptime (Depends-on): Add stdbool.
37333         * lib/strptime.h: Include <time.h> always. Add comments.
37334
37335 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
37336
37337         * modules/strptime: New file.
37338         * lib/strptime.h: New file.
37339         * lib/strptime.c: New file.
37340         * m4/strptime.m4: New file.
37341
37342 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
37343
37344         * MODULES.html.sh: New module mpsort.
37345         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
37346
37347         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
37348         a circularity problem with HP-UX ia64 reported by Bob Proulx in
37349         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
37350         All uses changed.
37351         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
37352         All uses changed.
37353         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
37354         to _Restrict_.
37355         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
37356         the parameter matches the prototype.
37357
37358 2007-01-28  Jim Meyering  <jim@meyering.net>
37359
37360         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
37361         sys/time.h here, reverting that part of the previous patch:
37362         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
37363
37364 2007-01-28  Bruno Haible  <bruno@clisp.org>
37365
37366         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
37367         value of $(SYS_TIME_H).
37368         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
37369         remove it conditionally, too. [added by Jim Meyering]
37370         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
37371         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
37372         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
37373         GETTIMEOFDAY_REPLACEMENT to 1.
37374
37375 2007-01-28  Bruno Haible  <bruno@clisp.org>
37376
37377         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
37378         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
37379         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
37380         Set UNISTD_H instead of UNISTD_H2.
37381         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
37382
37383 2007-01-28  Bruno Haible  <bruno@clisp.org>
37384
37385         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
37386         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
37387
37388 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37389
37390         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
37391         (func_create_testdir): Ensure C locale for `grep' and `tr'
37392         character ranges.
37393         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
37394         ACLOCAL_AMFLAGS parsing state machine.
37395
37396 2007-01-27  Bruno Haible  <bruno@clisp.org>
37397
37398         * modules/unistr/base: Update.
37399
37400 2007-01-27  Bruno Haible  <bruno@clisp.org>
37401
37402         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
37403         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
37404         * modules/unistr/u32-mbtouc-unsafe: Renamed from
37405         modules/unistr/u32-mbtouc.
37406         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
37407         * lib/unistr.h: Update.
37408         * lib/linebreak.c: Update.
37409         * modules/unistr/u32-mbtouc: Renamed from
37410         modules/unistr/u32-mbtouc-safe.
37411         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
37412         * lib/unistr.h: Update.
37413         * lib/unistr/u32-to-u8.c: Update.
37414         * lib/unistr/u32-to-u16.c: Update.
37415
37416 2007-01-27  Bruno Haible  <bruno@clisp.org>
37417
37418         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
37419         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
37420         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
37421         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
37422         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
37423         * modules/unistr/u16-mbtouc-unsafe: Renamed from
37424         modules/unistr/u16-mbtouc.
37425         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
37426         * lib/unistr.h: Update.
37427         * lib/linebreak.c: Update.
37428         * modules/linebreak: Update.
37429         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
37430         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
37431         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
37432         * modules/unistr/u16-mbtouc: Renamed from
37433         modules/unistr/u16-mbtouc-safe.
37434         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
37435         * lib/unistr.h: Update.
37436         * lib/unistr/u16-to-u8.c: Update.
37437         * modules/unistr/u16-to-u8: Update.
37438         * lib/unistr/u16-to-u32.c: Update.
37439         * modules/unistr/u16-to-u32: Update.
37440
37441 2007-01-27  Bruno Haible  <bruno@clisp.org>
37442
37443         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
37444         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
37445         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
37446         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
37447         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
37448         * modules/unistr/u8-mbtouc-unsafe: Renamed from
37449         modules/unistr/u8-mbtouc.
37450         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
37451         * lib/unistr.h: Update.
37452         * lib/striconveh.c: Update.
37453         * modules/striconveh: Update.
37454         * lib/linebreak.c: Update.
37455         * modules/linebreak: Update.
37456         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
37457         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
37458         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
37459         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
37460         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
37461         * lib/unistr.h: Update.
37462         * lib/striconveh.c: Update.
37463         * modules/striconveh: Update.
37464         * lib/unistr/u8-to-u16.c: Update.
37465         * modules/unistr/u8-to-u16: Update.
37466         * lib/unistr/u8-to-u32.c: Update.
37467         * modules/unistr/u8-to-u32: Update.
37468
37469 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37470
37471         Sync from Libtool.
37472         * lib/argz.c: Do not include strings.h nor memory.h, include
37473         string.h unconditionally.  Patch by Simon Josefsson.
37474
37475 2007-01-27  Bruno Haible  <bruno@clisp.org>
37476
37477         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
37478         from gl_HEADER_STRING_H_BODY.
37479         (gl_HEADER_STRING_H_BODY): Require it.
37480         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
37481         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
37482         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
37483         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
37484         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
37485         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
37486         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37487         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
37488         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
37489         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
37490         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
37491         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
37492         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
37493         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37494         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
37495
37496 2007-01-27  Bruno Haible  <bruno@clisp.org>
37497
37498         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
37499         check_PROGRAMS into noinst_PROGRAMS.
37500         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
37501         check_PROGRAMS in this case.
37502         (func_import): Set for_test to false.
37503         (func_create_testdir): Set for_test to true.
37504
37505 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
37506             Bruno Haible  <bruno@clisp.org>
37507
37508         * modules/strcasestr (Files): Remove lib/strcasestr.h.
37509         (Depends-on): Add string.
37510         (Includes): Use <string.h> instead of strcasestr.h.
37511         * modules/string (Makefile.am): Also substitute the value of
37512         REPLACE_STRCASESTR.
37513         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
37514         assume strcasestr is declared in <string.h> not <strings.h>. Also
37515         set REPLACE_STRCASESTR.
37516         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
37517         REPLACE_STRCASESTR.
37518         * lib/strcasestr.h: Remove file.
37519         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
37520         * lib/string_.h (strcasestr): New declaration.
37521
37522 2007-01-27  Bruno Haible  <bruno@clisp.org>
37523
37524         * lib/string_.h: Use 'extern'.
37525
37526 2007-01-27  Jim Meyering  <jim@meyering.net>
37527
37528         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
37529         of set-but-not-used local, "q".
37530
37531         * lib/mempcpy.c: Include <config.h> before <string.h>.
37532         This fixes a compilation error on HP-UX, due to the system's
37533         "restrict"-using mempcpy prototype.
37534
37535 2007-01-26  Bruno Haible  <bruno@clisp.org>
37536
37537         Small optimization.
37538         * lib/javacomp.c: Include c-strstr.h.
37539          (is_envjavac_gcj): Use c_strstr instead of strstr.
37540         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
37541
37542 2007-01-26  Bruno Haible  <bruno@clisp.org>
37543
37544         * MODULES.html.sh (Unicode string functions): Add the new modules.
37545
37546         * modules/uniconv/u32-strconv-to-locale: New file.
37547         * lib/uniconv/u32-strconv-to-locale.c: New file.
37548
37549         * modules/uniconv/u16-strconv-to-locale: New file.
37550         * lib/uniconv/u16-strconv-to-locale.c: New file.
37551
37552         * modules/uniconv/u8-strconv-to-locale: New file.
37553         * lib/uniconv/u8-strconv-to-locale.c: New file.
37554
37555         * modules/uniconv/u32-strconv-from-locale: New file.
37556         * lib/uniconv/u32-strconv-from-locale.c: New file.
37557
37558         * modules/uniconv/u16-strconv-from-locale: New file.
37559         * lib/uniconv/u16-strconv-from-locale.c: New file.
37560
37561         * modules/uniconv/u8-strconv-from-locale: New file.
37562         * lib/uniconv/u8-strconv-from-locale.c: New file.
37563
37564         * modules/uniconv/u32-strconv-to-enc: New file.
37565         * lib/uniconv/u32-strconv-to-enc.c: New file.
37566         * modules/uniconv/u32-strconv-to-enc-tests: New file.
37567         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
37568
37569         * modules/uniconv/u16-strconv-to-enc: New file.
37570         * lib/uniconv/u16-strconv-to-enc.c: New file.
37571         * lib/uniconv/u-strconv-to-enc.h: New file.
37572         * modules/uniconv/u16-strconv-to-enc-tests: New file.
37573         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
37574
37575         * modules/uniconv/u8-strconv-to-enc: New file.
37576         * lib/uniconv/u8-strconv-to-enc.c: New file.
37577         * modules/uniconv/u8-strconv-to-enc-tests: New file.
37578         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
37579
37580         * modules/uniconv/u32-strconv-from-enc: New file.
37581         * lib/uniconv/u32-strconv-from-enc.c: New file.
37582         * modules/uniconv/u32-strconv-from-enc-tests: New file.
37583         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
37584
37585         * modules/uniconv/u16-strconv-from-enc: New file.
37586         * lib/uniconv/u16-strconv-from-enc.c: New file.
37587         * modules/uniconv/u16-strconv-from-enc-tests: New file.
37588         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
37589
37590         * modules/uniconv/u8-strconv-from-enc: New file.
37591         * lib/uniconv/u8-strconv-from-enc.c: New file.
37592         * lib/uniconv/u-strconv-from-enc.h: New file.
37593         * modules/uniconv/u8-strconv-from-enc-tests: New file.
37594         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
37595
37596         * modules/uniconv/u32-conv-from-enc: New file.
37597         * lib/uniconv/u32-conv-from-enc.c: New file.
37598         * modules/uniconv/u32-conv-from-enc-tests: New file.
37599         * tests/uniconv/test-u32-conv-from-enc.c: New file.
37600
37601         * modules/uniconv/u16-conv-from-enc: New file.
37602         * lib/uniconv/u16-conv-from-enc.c: New file.
37603         * lib/uniconv/u-conv-from-enc.h: New file.
37604         * modules/uniconv/u16-conv-from-enc-tests: New file.
37605         * tests/uniconv/test-u16-conv-from-enc.c: New file.
37606
37607         * modules/uniconv/u8-conv-from-enc: New file.
37608         * lib/uniconv/u8-conv-from-enc.c: New file.
37609         * modules/uniconv/u8-conv-from-enc-tests: New file.
37610         * tests/uniconv/test-u8-conv-from-enc.c: New file.
37611
37612         * modules/uniconv/base: New file.
37613         * lib/uniconv.h: New file.
37614
37615 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
37616
37617         * doc/gnulib-tool.texi (Initial import): Update to match current
37618         behavior with strdup module.
37619         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
37620         * lib/memmem.h: Remove; all uses removed.  This is now done
37621         by <string.h>.
37622         * lib/mempcpy.h: Likewise.
37623         * lib/memrchr.h: Likewise.
37624         * lib/stpcpy.h: Likewise.
37625         * lib/stpncpy.h: Likewise.
37626         * lib/strcase.h: Likewise.
37627         * lib/strchrnul.h: Likewise.
37628         * lib/strdup.h: Likewise.
37629         * lib/strndup.h: Likewise.
37630         * lib/strnlen.h: Likewise.
37631         * lib/strpbrk.h: Likewise.
37632         * lib/strsep.h: Likewise.
37633         * lib/strstr.h: Likewise.
37634         * lib/strtok_r.h: Likewise.
37635         * lib/string_.h: New file.
37636         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
37637         Rely on <string.h> instead.
37638         * lib/canon-host.c: Likewise.
37639         * lib/chdir-long.c: Likewise.
37640         * lib/concatpath.c: Likewise.
37641         * lib/exclude.c: Likewise.
37642         * lib/fchdir.c: Likewise.
37643         * lib/getaddrinfo.c: Likewise.
37644         * lib/getcwd.c: Likewise.
37645         * lib/getsubopt.c: Likewise.
37646         * lib/glob.c: Likewise.
37647         * lib/hard-locale.c: Likewise.
37648         * lib/iconvme.c: Likewise.
37649         * lib/javacomp.c: Likewise.
37650         * lib/mempcpy.c: Likewise.
37651         * lib/memrchr.c: Likewise.
37652         * lib/regex_internal.h: Likewise.
37653         * lib/stpncpy.c: Likewise.
37654         * lib/strcasecmp.c: Likewise.
37655         * lib/strchrnul.c: Likewise.
37656         * lib/strdup.c: Likewise.
37657         * lib/striconv.c: Likewise.
37658         * lib/striconveh.c: Likewise.
37659         * lib/striconveha.c: Likewise.
37660         * lib/strncasecmp.c: Likewise.
37661         * lib/strndup.c: Likewise.
37662         * lib/strnlen.c: Likewise.
37663         * lib/strsep.c: Likewise.
37664         * lib/strstr.c: Likewise.
37665         * lib/strtok_r.c: Likewise.
37666         * lib/userspec.c: Likewise.
37667         * lib/w32spawn.h: Likewise.
37668         * lib/xstrndup.c: Likewise.
37669         * lib/mountlist.c (strstr): Remove decl.
37670         * m4/string_h.m4: New file.
37671         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
37672         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
37673         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
37674         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
37675         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
37676         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
37677         Set REPLACE_STRCASECMP if necessary.
37678         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
37679         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
37680         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
37681         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
37682         HAVE_DECL_STRDUP if necessary.
37683         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
37684         since gl_FUNC_STRNDUP does that now.
37685         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
37686         Check for decl here...
37687         (gl_PREREQ_STRNLEN): ... not here.
37688         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
37689         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
37690         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
37691         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
37692         necessary.
37693         * modules/string: New file.
37694         * modules/memmem (Files): Remove special-purpose include file.
37695         (Depends-on): Add string.
37696         (Include): Include <string.h>, not the removed file.
37697         * modules/mempcpy: Likewise.
37698         * modules/memrchr: Likewise.
37699         * modules/stpcpy: Likewise.
37700         * modules/stpncpy: Likewise.
37701         * modules/strcase: Likewise.
37702         * modules/strchrnul: Likewise.
37703         * modules/strdup: Likewise.
37704         * modules/strndup: Likewise.
37705         * modules/strnlen: Likewise.
37706         * modules/strpbrk: Likewise.
37707         * modules/strsep: Likewise.
37708         * modules/strstr: Likewise.
37709         * modules/strtok_r: Likewise.
37710         * tests/test-dirname.c: Don't include "strdup.h", since
37711         <string.h> now suffices.
37712         * tests/test-memmem.c: Don't include "memmem.h", since
37713         <string.h> now suffices.
37714
37715 2007-01-25  Bruno Haible  <bruno@clisp.org>
37716
37717         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
37718         *resultp is 0.
37719
37720         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
37721         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
37722         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
37723         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
37724
37725         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
37726         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
37727         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
37728         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
37729         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
37730         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
37731
37732 2007-01-24  Bruno Haible  <bruno@clisp.org>
37733
37734         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
37735         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
37736         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
37737         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
37738         gl_FUNC_FTS_CORE.
37739         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
37740         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
37741         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
37742         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
37743         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
37744         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
37745         gl_FUNC_FCHOWNAT.
37746         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
37747         gl_FUNC_STRFTIME.
37748         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
37749         Reported by Ralf Wildenhues.
37750
37751 2007-01-24  Bruno Haible  <bruno@clisp.org>
37752
37753         Drop AC_REQUIRE calls that are redundant with the module dependencies.
37754         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
37755         gl_GETADDRINFO.
37756         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
37757         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
37758         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
37759
37760 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
37761
37762         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
37763         Don't use 'exit'; just return from 'main'.
37764         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
37765
37766         * lib/fnmatch_.h: Readjust white space and comments to match
37767         glibc, to avoid spurious diffs.
37768
37769 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
37770
37771         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
37772         2004-12-01 change by Jakub Jelinek, since this code won't compile
37773         if !LIBC.  Problem reported by Bob Proulx.
37774
37775 2007-01-23  Bruno Haible  <bruno@clisp.org>
37776
37777         * lib/striconveh.c: Include c-strcaseeq.h.
37778         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
37779         * modules/striconveh (Depends-on): Add c-strcaseeq.
37780
37781 2007-01-23  Bruno Haible  <bruno@clisp.org>
37782
37783         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
37784
37785         * modules/c-strcaseeq: New file.
37786         * lib/c-strcaseeq.h: New file.
37787
37788         * modules/streq: New file.
37789         * lib/streq.h: New file.
37790
37791 2007-01-23  Bruno Haible  <bruno@clisp.org>
37792
37793         * modules/striconveha-tests: New file.
37794         * tests/test-striconveha.c: New file.
37795
37796         * lib/striconveha.h: Include <stdbool.h>.
37797         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
37798         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
37799         (mem_iconveha_notranslit): Renamed from mem_iconveha.
37800         (mem_iconveha): New function.
37801         (str_iconveha_notranslit): Renamed from str_iconveha.
37802         (str_iconveha): New function.
37803         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
37804         c-strcase.
37805
37806 2007-01-23  Bruno Haible  <bruno@clisp.org>
37807
37808         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
37809         encodings without forgiving before trying any encoding with handler.
37810         (str_iconveha): Try all encodings without forgiving before trying any
37811         encoding with handler.
37812
37813 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
37814
37815         Import the following changes from libc.
37816
37817         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
37818
37819         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
37820
37821         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
37822
37823         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
37824         normal_bracket label.
37825
37826         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
37827
37828         [BZ #361]
37829         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
37830         to normal_bracket after fetching the next character.
37831
37832 2007-01-22  Bruno Haible  <bruno@clisp.org>
37833
37834         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
37835         argument.
37836         * lib/striconveh.c (iconv_carefully_1): New function.
37837         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
37838         argument.
37839         (str_cd_iconveh): Update.
37840         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
37841         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
37842         * tests/test-striconveh.c (MAGIC): New macro.
37843         (new_offsets): New function.
37844         (main): Test call with and without offsets.
37845
37846 2007-01-22  Bruno Haible  <bruno@clisp.org>
37847
37848         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
37849         * modules/sys_select (Makefile.am): Likewise.
37850         * modules/sys_socket (Makefile.am): Likewise.
37851         * modules/sys_time (Makefile.am): Likewise.
37852
37853 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
37854
37855         * modules/gettimeofday (License): Change from GPL to LGPL, since
37856         gettimeofday is a library function.
37857
37858 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37859
37860         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
37861
37862 2007-01-21  Bruno Haible  <bruno@clisp.org>
37863
37864         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
37865
37866 2007-01-21  Bruno Haible  <bruno@clisp.org>
37867
37868         * modules/striconveha: New file.
37869         * lib/striconveha.h: New file.
37870         * lib/striconveha.c: New file.
37871         * MODULES.html.sh (Internationalization functions): Add striconveha.
37872         * lib/striconv.c (str_iconv): Optimize the case of an empty input
37873         string.
37874         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
37875
37876 2007-01-21  Bruno Haible  <bruno@clisp.org>
37877
37878         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
37879         * lib/striconveh.c (str_iconveh): Likewise.
37880
37881 2007-01-21  Bruno Haible  <bruno@clisp.org>
37882
37883         * lib/striconveh.h (mem_iconveh): New declaration.
37884         * lib/striconveh.c (mem_iconveh): New function.
37885         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
37886
37887 2007-01-21  Bruno Haible  <bruno@clisp.org>
37888
37889         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
37890
37891         * lib/striconveh.h (mem_cd_iconveh): Change specification.
37892         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
37893         original result buffer.
37894         (str_cd_iconveh): Update.
37895         * tests/test-striconveh.c (main): Update.
37896
37897         * lib/striconv.h (mem_cd_iconv): Change specification.
37898         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
37899         result buffer.
37900         (str_cd_iconv): Update.
37901         * tests/test-striconv.c (main): Update.
37902
37903 2007-01-21  Bruno Haible  <bruno@clisp.org>
37904
37905         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
37906
37907 2007-01-20  Jim Meyering  <jim@meyering.net>
37908
37909         * lib/userspec.c (parse_with_separator): If a user or group string
37910         starts with "+", skip the corresponding name-to-ID look-up, since
37911         such a look-up must fail: user and group names may not include "+".
37912
37913 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
37914
37915         * lib/poll.c: Include sys/time.h and time.h unconditionally,
37916         since we now assume the sys_time module.
37917         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
37918         check for sys/time.h; no longer needed.
37919         * modules/poll (Depends-on): Depend on sys_time.
37920
37921 2007-01-18  Bruno Haible  <bruno@clisp.org>
37922
37923         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
37924         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
37925
37926         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
37927         gettimeofday.
37928
37929         * tests/test-gettimeofday.c: Include <time.h>.
37930         (dummy): Remove variable.
37931
37932         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
37933         gl_HEADER_SYS_TIME_H.
37934         (gl_HEADER_SYS_TIME_H): New macro.
37935
37936         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
37937         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37938         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
37939         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
37940         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37941         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
37942         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
37943         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37944         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
37945         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
37946         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37947
37948         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
37949         last change; it caused a compilation error when cross-compiling to
37950         Cygwin.
37951
37952 2007-01-18  Jim Meyering  <jim@meyering.net>
37953
37954         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
37955         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
37956         than the race-prone "test -d sys || mkdir sys".
37957         (configure.ac): Use AC_PROG_MKDIR_P.
37958         * modules/sys_select: Likewise.
37959         * modules/sys_socket: Likewise.
37960         * modules/sys_time: Likewise.
37961
37962 2007-01-18  Eric Blake  <ebb9@byu.net>
37963
37964         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
37965         replace gettimeofday.
37966         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
37967         name, to avoid infinite recursion.
37968
37969 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
37970
37971         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
37972         module sys_time.
37973         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
37974         assume timespec.h defines struct timeval.
37975         * lib/settime.c: Likewise.
37976         * lib/utimens.c: Likewise.
37977         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
37978         since we now assume the gettimeofday module.
37979         * lib/tempname.c (__gen_tempname): Likewise.
37980         * lib/gettimeofday.h: Remove.
37981         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
37982         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
37983         Include <time.h>, for 'time()'.
37984         (localtime_buffer_addr): Also use this workaround if
37985         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
37986         to simplify the uses.  All uses changed.
37987         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
37988         that #undef is inside {}, and 'const' follows type name consistently.
37989         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
37990         (gettimeofday): Do not use the maximum possible value for
37991         tv->tv_usec, since that might break usages other than ls.c.
37992         Instead, we'll leave ls.c alone.  This undoes today's patch
37993         by Bruno.  Add a compile-time warning for 1s-clock resolution;
37994         we've never observed the problem but might as well keep the
37995         canary.
37996         * lib/nanosleep.c: Include timespec.h first, for interface check.
37997         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
37998         now assume the sys_time module.
37999         * lib/tempname.c: Likewise.
38000         * lib/timespec.h: Likewise.
38001         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
38002         needed.
38003         * lib/strftime.c: Likewise.
38004         * lib/timespec.h: Likewise.
38005         * lib/posixtm.c: Include posixtm.h first, for interface check.
38006         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
38007         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
38008         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
38009         * lib/sys_time_.h: New file.
38010         * lib/timespec.h (struct timespec): Use long int, not long.
38011         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
38012         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
38013         Remove obsolescent call to AC_HEADER_TIME.
38014         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
38015         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38016         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
38017         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
38018         Likewise.
38019         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
38020         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
38021         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
38022         into the sys_time module.  Check for gettimeofday just once.
38023         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
38024         for gettimeofday signature to just check the signature.  Merely
38025         compile it, since linking doesn't test signature.  Improve test for
38026         whether gettimeofday.o is actually needed.
38027         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
38028         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
38029         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
38030         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
38031         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
38032         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
38033         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
38034         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
38035         than worrying about sys/time.h.
38036         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
38037         Don't bother worrying about TIME_WITH_SYS_TIME.
38038         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
38039         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
38040         * m4/sys_time_h.m4: New file.
38041         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
38042         Don't include sys/time.h.  Return from main rather than exiting.
38043         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
38044         all uses changed.
38045         * modules/gethrxtime (Depends-on): Add sys_time.
38046         * modules/gettime (Depends-on): Likewise.
38047         * modules/gettimeofday (Depends-on): Likewise.
38048         * modules/nanosleep (Depends-on): Likewise.
38049         * modules/settime (Depends-on): Likewise.
38050         * modules/tempname (Depends-on): Likewise.
38051         * modules/utimens (Depends-on): Likewise.
38052         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
38053         (Include:) Change back to <sys/time.h>.
38054         (Maintainer:) Add self.
38055         * modules/sys_time: New file.
38056         * modules/tempname (Depends-on): Add gettimeofday.
38057         * tests/test-gettimeofday.c: Include <sys/time.h>
38058         rather than gettimeofday.h.
38059
38060 2007-01-17  Bruno Haible  <bruno@clisp.org>
38061
38062         * gnulib-tool (func_get_license): Revert last patch. Instead, let
38063         the license default to GPL.
38064         (func_create_testdir): Don't complain if a module is LGPL and its
38065         tests module depends on GPLed modules.
38066
38067 2007-01-17  Bruno Haible  <bruno@clisp.org>
38068
38069         * lib/gettimeofday.c (gettimeofday): Add code for the case
38070         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
38071         maximum possible value for tv->tv_usec, rather than the minimum one.
38072
38073 2005-10-08  Martin Lambers  <marlam@marlam.de>
38074 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
38075 2007-01-16  Bruno Haible  <bruno@clisp.org>
38076
38077         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
38078         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
38079         gl_FUNC_GETTIMEOFDAY.
38080         (Include): Add gettimeofday.h.
38081         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
38082         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
38083         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
38084         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
38085         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
38086         * lib/gettimeofday.h: New file.
38087         * lib/gettimeofday.c: Include <sys/timeb.h>.
38088         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
38089         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
38090         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
38091         fall back on time().
38092
38093         * tests/test-gettimeofday.c: New file.
38094         * modules/gettimeofday-tests: New file.
38095
38096 2007-01-16  Eric Blake  <ebb9@byu.net>
38097
38098         * modules/fnmatch (Depends-on): Depend on wchar.
38099         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
38100         * m4/fnmatch.m4: Likewise.
38101         * modules/mbchar (Makefile.am): Assume <wchar.h>.
38102         * m4/mbchar.m4: Likewise.
38103         * modules/mbswidth (Depends-on): Depend on wchar.
38104         * lib/mbswidth.c: Assume <wchar.h>.
38105         * m4/mbswidth.m4: Likewise.
38106         * modules/quotearg (Depends-on): Depend on wchar.
38107         * lib/quotearg.c: Assume <wchar.h>.
38108         * m4/quotearg.m4: Likewise.
38109         * modules/regex (Depends-on): Depend on wchar.
38110         * lib/regex_internal.h: Assume <wchar.h>.
38111         * m4/regex.m4: Likewise.
38112         * modules/stdint (Depends-on): Depend on wchar.
38113         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
38114         * m4/stdint.m4: Likewise.
38115         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
38116         * modules/strftime (Depends-on): Depend on wchar.
38117         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
38118         * modules/strtol (Depends-on): Depend on wchar.
38119         * lib/strtol.c: Assume <wchar.h>.
38120         * modules/wcwidth (Depends-on): Depend on wchar.
38121         * lib/wcwidth.h: Assume <wchar.h>.
38122         * m4/wcwidth.m4: Likewise.
38123
38124 2007-01-16  Bruno Haible  <bruno@clisp.org>
38125
38126         * modules/csharpexec-script: New, created from...
38127         * modules/csharpexec: ... this.
38128
38129 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
38130
38131         * modules/javaexec-script: New, created from...
38132         * modules/javaexec: ... this.
38133
38134 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38135
38136         * modules/poll (Dependencies): Add sys_select.
38137
38138 2007-01-15  Jim Meyering  <jim@meyering.net>
38139
38140         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
38141         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
38142         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
38143         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
38144
38145 2007-01-15  Bruno Haible  <bruno@clisp.org>
38146
38147         * modules/striconveh: New file.
38148         * lib/striconveh.h: New file.
38149         * lib/striconveh.c: New file.
38150         * MODULES.html.sh (Internationalization functions): Add striconveh.
38151
38152         * modules/striconveh-tests: New file.
38153         * tests/test-striconveh.c: New file.
38154
38155 2007-01-15  Bruno Haible  <bruno@clisp.org>
38156
38157         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
38158         not from GNU libiconv or GNU libc.
38159
38160 2007-01-15  Bruno Haible  <bruno@clisp.org>
38161
38162         * doc/gnulib-intro.texi (Copyright): Explain the different license
38163         terms for module descriptions, autoconf macros, tests, documentation.
38164
38165 2007-01-14  Bruno Haible  <bruno@clisp.org>
38166
38167         * modules/striconv-tests: New file.
38168         * tests/test-striconv.c: New file.
38169
38170 2007-01-14  Bruno Haible  <bruno@clisp.org>
38171
38172         * modules/iconv-tests: New file.
38173         * tests/test-iconv.c: New file.
38174
38175 2007-01-14  Bruno Haible  <bruno@clisp.org>
38176
38177         * gnulib-tool (func_get_license): For test modules, use the license of
38178         the main module.
38179
38180 2007-01-14  Bruno Haible  <bruno@clisp.org>
38181
38182         * modules/iconv (Include): Clarify that <iconv.h> can only be included
38183         if iconv is found to exist.
38184
38185 2007-01-14  Bruno Haible  <bruno@clisp.org>
38186
38187         * modules/c-ctype-tests: New file.
38188         * tests/test-c-ctype.c: New file.
38189
38190 2007-01-14  Bruno Haible  <bruno@clisp.org>
38191
38192         * modules/binary-io-tests: New file.
38193         * tests/test-binary-io.sh: New file.
38194         * tests/test-binary-io.c: New file.
38195
38196 2007-01-14  Bruno Haible  <bruno@clisp.org>
38197
38198         * modules/array-oset-tests: New file.
38199         * tests/test-array_oset.c: New file.
38200
38201 2007-01-14  Bruno Haible  <bruno@clisp.org>
38202
38203         * modules/array-list-tests: New file.
38204         * tests/test-array_list.c: New file.
38205
38206 2007-01-14  Bruno Haible  <bruno@clisp.org>
38207
38208         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
38209         and make.
38210         Reported by Simon Josefsson in
38211         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
38212
38213 2007-01-14  Bruno Haible  <bruno@clisp.org>
38214
38215         * modules/allocsa-tests: New file.
38216         * tests/test-allocsa.c: New file.
38217
38218 2007-01-14  Bruno Haible  <bruno@clisp.org>
38219
38220         * modules/fchdir (Depends-on): Add absolute-header.
38221         * modules/unistd (Depends-on): Likewise.
38222
38223 2006-12-30  Bruno Haible  <bruno@clisp.org>
38224
38225         * modules/fchdir: New file.
38226         * modules/unistd (Files): Add lib/unistd_.h.
38227         (Makefile.am): Generate unistd.h from unistd_.h.
38228         * lib/fchdir.c: New file.
38229         * lib/dirent_.h: New file.
38230         * lib/unistd_.h: New file.
38231         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
38232         * m4/fchdir.m4: New file.
38233         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
38234         (gl_HEADER_UNISTD): Invoke it.
38235         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
38236         function.
38237         * lib/backupfile.c (opendir, closedir): Undefine.
38238         * lib/chown.c (open, close): Undefine.
38239         * lib/clean-temp.c (open, close): Undefine.
38240         * lib/copy-file.c (open, close): Undefine.
38241         * lib/execute.c (open, close): Undefine.
38242         * lib/fsusage.c (open, close): Undefine.
38243         * lib/gc-gnulib.c (open, close): Undefine.
38244         * lib/getcwd.c (opendir, closedir): Undefine.
38245         * lib/glob.c (opendir, closedir): Undefine.
38246         * lib/javacomp.c (open, close): Undefine.
38247         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
38248         * lib/openat-proc.c (open, close): Undefine.
38249         * lib/pagealign_alloc.c (open, close): Undefine.
38250         * lib/pipe.c (open, close): Undefine.
38251         * lib/progreloc.c (open, close): Undefine.
38252         * lib/savedir.c (opendir, closedir): Undefine.
38253         * lib/utime.c (open, close): Undefine.
38254         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
38255
38256 2007-01-10  Bruno Haible  <bruno@clisp.org>
38257
38258         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
38259
38260 2007-01-12  Eric Blake  <ebb9@byu.net>
38261
38262         Provide a robust <wchar.h>.  Further simplifications are now
38263         possible in other modules, but not included here.
38264         * modules/wchar: New module.
38265         * m4/wchar.m4: New file.
38266         * lib/wchar_.h: Likewise.
38267         * modules/mbchar (Depends-on): Depend on wchar, as the first use
38268         of the new module.
38269         * MODULES.html.sh (Extended multibyte and wide character utilities):
38270         New section.
38271
38272 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
38273
38274         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
38275         to a reasonable default for memory allocation.
38276         (xreadlink): Don't allocate a huge buffer, to work around a buggy
38277         file system that reports garbage st_size values for symlinks.
38278         Problem reported by Liyang Hu.
38279
38280 2007-01-11  Simon Josefsson  <simon@josefsson.org>
38281
38282         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
38283         Emacs .#* auto-save files).
38284
38285 2007-01-11  Bruno Haible  <bruno@clisp.org>
38286
38287         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
38288         directory.
38289
38290 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
38291
38292         Use @...@ consistently in lib/wctype_.h.
38293         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
38294         on it being set to 1 or 0.
38295         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
38296         go back to AC_SUBSTing it.
38297         * modules/wctype (Makefile.am): Undo previous change.
38298
38299 2007-01-10  Eric Blake  <ebb9@byu.net>
38300
38301         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
38302         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
38303         * modules/wctype (Makefile.am): Likewise.
38304         Reported by Chris McGuire.
38305
38306 2007-01-10  Jim Meyering  <jim@meyering.net>
38307
38308         fts.c: a small readability/maintainability improvement
38309         * lib/fts.c (fts_read): Make this code slightly more readable and
38310         maintainable by hoisting the "sp->fts_cur = p" assignments to
38311         immediately follow the statements that set P.  Derived from
38312         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
38313
38314 2007-01-10  Eric Blake  <ebb9@byu.net>
38315
38316         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
38317         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
38318         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
38319         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
38320         Reported by Chris McGuire.
38321
38322 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38323
38324         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
38325         in sed script.
38326
38327 2007-01-09  Bruno Haible  <bruno@clisp.org>
38328
38329         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
38330         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
38331         variables.
38332         (func_module): Use them.
38333
38334 2007-01-09  Bruno Haible  <bruno@clisp.org>
38335
38336         * modules/unistr/base: New file.
38337         * lib/unistr.h: New file.
38338
38339         * modules/unistr/u8-to-u16: New file.
38340         * lib/unistr/u8-to-u16.c: New file.
38341
38342         * modules/unistr/u8-to-u32: New file.
38343         * lib/unistr/u8-to-u32.c: New file.
38344
38345         * modules/unistr/u16-to-u8: New file.
38346         * lib/unistr/u16-to-u8.c: New file.
38347
38348         * modules/unistr/u16-to-u32: New file.
38349         * lib/unistr/u16-to-u32.c: New file.
38350
38351         * modules/unistr/u32-to-u8: New file.
38352         * lib/unistr/u32-to-u8.c: New file.
38353
38354         * modules/unistr/u32-to-u16: New file.
38355         * lib/unistr/u32-to-u16.c: New file.
38356
38357         * modules/unistr/u8-check: New file.
38358         * modules/unistr/u16-check: New file.
38359         * modules/unistr/u32-check: New file.
38360         * lib/unistr/u8-check.c: New file.
38361         * lib/unistr/u16-check.c: New file.
38362         * lib/unistr/u32-check.c: New file.
38363
38364         * modules/unistr/u8-chr: New file.
38365         * modules/unistr/u16-chr: New file.
38366         * modules/unistr/u32-chr: New file.
38367         * lib/unistr/u8-chr.c: New file.
38368         * lib/unistr/u16-chr.c: New file.
38369         * lib/unistr/u32-chr.c: New file.
38370
38371         * modules/unistr/u8-cmp: New file.
38372         * modules/unistr/u16-cmp: New file.
38373         * modules/unistr/u32-cmp: New file.
38374         * lib/unistr/u8-cmp.c: New file.
38375         * lib/unistr/u16-cmp.c: New file.
38376         * lib/unistr/u32-cmp.c: New file.
38377
38378         * modules/unistr/u8-cpy: New file.
38379         * modules/unistr/u16-cpy: New file.
38380         * modules/unistr/u32-cpy: New file.
38381         * lib/unistr/u8-cpy.c: New file.
38382         * lib/unistr/u16-cpy.c: New file.
38383         * lib/unistr/u32-cpy.c: New file.
38384         * lib/unistr/u-cpy.h: New file.
38385
38386         * modules/unistr/u8-cpy-alloc: New file.
38387         * modules/unistr/u16-cpy-alloc: New file.
38388         * modules/unistr/u32-cpy-alloc: New file.
38389         * lib/unistr/u8-cpy-alloc.c: New file.
38390         * lib/unistr/u16-cpy-alloc.c: New file.
38391         * lib/unistr/u32-cpy-alloc.c: New file.
38392         * lib/unistr/u-cpy-alloc.h: New file.
38393
38394         * modules/unistr/u8-endswith: New file.
38395         * modules/unistr/u16-endswith: New file.
38396         * modules/unistr/u32-endswith: New file.
38397         * lib/unistr/u8-endswith.c: New file.
38398         * lib/unistr/u16-endswith.c: New file.
38399         * lib/unistr/u32-endswith.c: New file.
38400         * lib/unistr/u-endswith.h: New file.
38401
38402         * modules/unistr/u8-mblen: New file.
38403         * modules/unistr/u16-mblen: New file.
38404         * modules/unistr/u32-mblen: New file.
38405         * lib/unistr/u8-mblen.c: New file.
38406         * lib/unistr/u16-mblen.c: New file.
38407         * lib/unistr/u32-mblen.c: New file.
38408
38409         * modules/unistr/u8-mbtouc: New file.
38410         * modules/unistr/u16-mbtouc: New file.
38411         * modules/unistr/u32-mbtouc: New file.
38412         * lib/unistr/u8-mbtouc.c: New file.
38413         * lib/unistr/u16-mbtouc.c: New file.
38414         * lib/unistr/u32-mbtouc.c: New file.
38415
38416         * modules/unistr/u8-mbtouc-safe: New file.
38417         * modules/unistr/u16-mbtouc-safe: New file.
38418         * modules/unistr/u32-mbtouc-safe: New file.
38419         * lib/unistr/u8-mbtouc-safe.c: New file.
38420         * lib/unistr/u16-mbtouc-safe.c: New file.
38421         * lib/unistr/u32-mbtouc-safe.c: New file.
38422
38423         * modules/unistr/u8-move: New file.
38424         * modules/unistr/u16-move: New file.
38425         * modules/unistr/u32-move: New file.
38426         * lib/unistr/u8-move.c: New file.
38427         * lib/unistr/u16-move.c: New file.
38428         * lib/unistr/u32-move.c: New file.
38429         * lib/unistr/u-move.h: New file.
38430
38431         * modules/unistr/u8-next: New file.
38432         * modules/unistr/u16-next: New file.
38433         * modules/unistr/u32-next: New file.
38434         * lib/unistr/u8-next.c: New file.
38435         * lib/unistr/u16-next.c: New file.
38436         * lib/unistr/u32-next.c: New file.
38437
38438         * modules/unistr/u8-prev: New file.
38439         * modules/unistr/u16-prev: New file.
38440         * modules/unistr/u32-prev: New file.
38441         * lib/unistr/u8-prev.c: New file.
38442         * lib/unistr/u16-prev.c: New file.
38443         * lib/unistr/u32-prev.c: New file.
38444
38445         * modules/unistr/u8-set: New file.
38446         * modules/unistr/u16-set: New file.
38447         * modules/unistr/u32-set: New file.
38448         * lib/unistr/u8-set.c: New file.
38449         * lib/unistr/u16-set.c: New file.
38450         * lib/unistr/u32-set.c: New file.
38451         * lib/unistr/u-set.h: New file.
38452
38453         * modules/unistr/u8-startswith: New file.
38454         * modules/unistr/u16-startswith: New file.
38455         * modules/unistr/u32-startswith: New file.
38456         * lib/unistr/u8-startswith.c: New file.
38457         * lib/unistr/u16-startswith.c: New file.
38458         * lib/unistr/u32-startswith.c: New file.
38459         * lib/unistr/u-startswith.h: New file.
38460
38461         * modules/unistr/u8-stpcpy: New file.
38462         * modules/unistr/u16-stpcpy: New file.
38463         * modules/unistr/u32-stpcpy: New file.
38464         * lib/unistr/u8-stpcpy.c: New file.
38465         * lib/unistr/u16-stpcpy.c: New file.
38466         * lib/unistr/u32-stpcpy.c: New file.
38467         * lib/unistr/u-stpcpy.h: New file.
38468
38469         * modules/unistr/u8-stpncpy: New file.
38470         * modules/unistr/u16-stpncpy: New file.
38471         * modules/unistr/u32-stpncpy: New file.
38472         * lib/unistr/u8-stpncpy.c: New file.
38473         * lib/unistr/u16-stpncpy.c: New file.
38474         * lib/unistr/u32-stpncpy.c: New file.
38475         * lib/unistr/u-stpncpy.h: New file.
38476
38477         * modules/unistr/u8-strcat: New file.
38478         * modules/unistr/u16-strcat: New file.
38479         * modules/unistr/u32-strcat: New file.
38480         * lib/unistr/u8-strcat.c: New file.
38481         * lib/unistr/u16-strcat.c: New file.
38482         * lib/unistr/u32-strcat.c: New file.
38483         * lib/unistr/u-strcat.h: New file.
38484
38485         * modules/unistr/u8-strchr: New file.
38486         * modules/unistr/u16-strchr: New file.
38487         * modules/unistr/u32-strchr: New file.
38488         * lib/unistr/u8-strchr.c: New file.
38489         * lib/unistr/u16-strchr.c: New file.
38490         * lib/unistr/u32-strchr.c: New file.
38491
38492         * modules/unistr/u8-strcmp: New file.
38493         * modules/unistr/u16-strcmp: New file.
38494         * modules/unistr/u32-strcmp: New file.
38495         * lib/unistr/u8-strcmp.c: New file.
38496         * lib/unistr/u16-strcmp.c: New file.
38497         * lib/unistr/u32-strcmp.c: New file.
38498
38499         * modules/unistr/u8-strcpy: New file.
38500         * modules/unistr/u16-strcpy: New file.
38501         * modules/unistr/u32-strcpy: New file.
38502         * lib/unistr/u8-strcpy.c: New file.
38503         * lib/unistr/u16-strcpy.c: New file.
38504         * lib/unistr/u32-strcpy.c: New file.
38505         * lib/unistr/u-strcpy.h: New file.
38506
38507         * modules/unistr/u8-strcspn: New file.
38508         * modules/unistr/u16-strcspn: New file.
38509         * modules/unistr/u32-strcspn: New file.
38510         * lib/unistr/u8-strcspn.c: New file.
38511         * lib/unistr/u16-strcspn.c: New file.
38512         * lib/unistr/u32-strcspn.c: New file.
38513         * lib/unistr/u-strcspn.h: New file.
38514
38515         * modules/unistr/u8-strdup: New file.
38516         * modules/unistr/u16-strdup: New file.
38517         * modules/unistr/u32-strdup: New file.
38518         * lib/unistr/u8-strdup.c: New file.
38519         * lib/unistr/u16-strdup.c: New file.
38520         * lib/unistr/u32-strdup.c: New file.
38521         * lib/unistr/u-strdup.h: New file.
38522
38523         * modules/unistr/u8-strlen: New file.
38524         * modules/unistr/u16-strlen: New file.
38525         * modules/unistr/u32-strlen: New file.
38526         * lib/unistr/u8-strlen.c: New file.
38527         * lib/unistr/u16-strlen.c: New file.
38528         * lib/unistr/u32-strlen.c: New file.
38529         * lib/unistr/u-strlen.h: New file.
38530
38531         * modules/unistr/u8-strmblen: New file.
38532         * modules/unistr/u16-strmblen: New file.
38533         * modules/unistr/u32-strmblen: New file.
38534         * lib/unistr/u8-strmblen.c: New file.
38535         * lib/unistr/u16-strmblen.c: New file.
38536         * lib/unistr/u32-strmblen.c: New file.
38537
38538         * modules/unistr/u8-strmbtouc: New file.
38539         * modules/unistr/u16-strmbtouc: New file.
38540         * modules/unistr/u32-strmbtouc: New file.
38541         * lib/unistr/u8-strmbtouc.c: New file.
38542         * lib/unistr/u16-strmbtouc.c: New file.
38543         * lib/unistr/u32-strmbtouc.c: New file.
38544
38545         * modules/unistr/u8-strncat: New file.
38546         * modules/unistr/u16-strncat: New file.
38547         * modules/unistr/u32-strncat: New file.
38548         * lib/unistr/u8-strncat.c: New file.
38549         * lib/unistr/u16-strncat.c: New file.
38550         * lib/unistr/u32-strncat.c: New file.
38551         * lib/unistr/u-strncat.h: New file.
38552
38553         * modules/unistr/u8-strncmp: New file.
38554         * modules/unistr/u16-strncmp: New file.
38555         * modules/unistr/u32-strncmp: New file.
38556         * lib/unistr/u8-strncmp.c: New file.
38557         * lib/unistr/u16-strncmp.c: New file.
38558         * lib/unistr/u32-strncmp.c: New file.
38559
38560         * modules/unistr/u8-strncpy: New file.
38561         * modules/unistr/u16-strncpy: New file.
38562         * modules/unistr/u32-strncpy: New file.
38563         * lib/unistr/u8-strncpy.c: New file.
38564         * lib/unistr/u16-strncpy.c: New file.
38565         * lib/unistr/u32-strncpy.c: New file.
38566         * lib/unistr/u-strncpy.h: New file.
38567
38568         * modules/unistr/u8-strnlen: New file.
38569         * modules/unistr/u16-strnlen: New file.
38570         * modules/unistr/u32-strnlen: New file.
38571         * lib/unistr/u8-strnlen.c: New file.
38572         * lib/unistr/u16-strnlen.c: New file.
38573         * lib/unistr/u32-strnlen.c: New file.
38574         * lib/unistr/u-strnlen.h: New file.
38575
38576         * modules/unistr/u8-strpbrk: New file.
38577         * modules/unistr/u16-strpbrk: New file.
38578         * modules/unistr/u32-strpbrk: New file.
38579         * lib/unistr/u8-strpbrk.c: New file.
38580         * lib/unistr/u16-strpbrk.c: New file.
38581         * lib/unistr/u32-strpbrk.c: New file.
38582         * lib/unistr/u-strpbrk.h: New file.
38583
38584         * modules/unistr/u8-strrchr: New file.
38585         * modules/unistr/u16-strrchr: New file.
38586         * modules/unistr/u32-strrchr: New file.
38587         * lib/unistr/u8-strrchr.c: New file.
38588         * lib/unistr/u16-strrchr.c: New file.
38589         * lib/unistr/u32-strrchr.c: New file.
38590
38591         * modules/unistr/u8-strspn: New file.
38592         * modules/unistr/u16-strspn: New file.
38593         * modules/unistr/u32-strspn: New file.
38594         * lib/unistr/u8-strspn.c: New file.
38595         * lib/unistr/u16-strspn.c: New file.
38596         * lib/unistr/u32-strspn.c: New file.
38597         * lib/unistr/u-strspn.h: New file.
38598
38599         * modules/unistr/u8-strstr: New file.
38600         * modules/unistr/u16-strstr: New file.
38601         * modules/unistr/u32-strstr: New file.
38602         * lib/unistr/u8-strstr.c: New file.
38603         * lib/unistr/u16-strstr.c: New file.
38604         * lib/unistr/u32-strstr.c: New file.
38605         * lib/unistr/u-strstr.h: New file.
38606
38607         * modules/unistr/u8-strtok: New file.
38608         * modules/unistr/u16-strtok: New file.
38609         * modules/unistr/u32-strtok: New file.
38610         * lib/unistr/u8-strtok.c: New file.
38611         * lib/unistr/u16-strtok.c: New file.
38612         * lib/unistr/u32-strtok.c: New file.
38613         * lib/unistr/u-strtok.h: New file.
38614
38615         * modules/unistr/u8-uctomb: New file.
38616         * modules/unistr/u16-uctomb: New file.
38617         * modules/unistr/u32-uctomb: New file.
38618         * lib/unistr/u8-uctomb.c: New file.
38619         * lib/unistr/u16-uctomb.c: New file.
38620         * lib/unistr/u32-uctomb.c: New file.
38621
38622         * MODULES.html.sh (Unicode string functions): Add the new modules.
38623
38624 2007-01-08  Bruno Haible  <bruno@clisp.org>
38625
38626         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
38627         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
38628         subdirectories.
38629
38630 2007-01-08  Karl Berry  <karl@gnu.org>
38631
38632         * doc/error.texi: mention that main() fns must set program_name
38633         when progname is used.
38634
38635 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
38636
38637         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
38638         WCTYPE_H is empty, for the benefit of builds from non-distclean
38639         directories.  Problem reported by Eric Blake in
38640         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
38641
38642 2007-01-08  Bruno Haible  <bruno@clisp.org>
38643
38644         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
38645         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
38646         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
38647         PROVIDE_CANONICALIZE_FILENAME_MODE.
38648         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
38649
38650 2007-01-08  Bruno Haible  <bruno@clisp.org>
38651
38652         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
38653         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
38654         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
38655         * lib/fts.c: Likewise.
38656         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
38657
38658 2006-12-25  Bruno Haible  <bruno@clisp.org>
38659
38660         * modules/utf8-ucs4-safe: New file.
38661         * lib/utf8-ucs4-safe.h: New file.
38662         * lib/unistr/utf8-ucs4-safe.c: New file.
38663
38664         * modules/utf16-ucs4-safe: New file.
38665         * lib/utf16-ucs4-safe.h: New file.
38666         * lib/unistr/utf16-ucs4-safe.c: New file.
38667
38668         * MODULES.html.sh (Unicode string functions): Add the new modules.
38669
38670 2007-01-08  Bruno Haible  <bruno@clisp.org>
38671
38672         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
38673         (Depends-on): Add unitypes.
38674         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
38675         (u8_mbtouc_aux): Move out to separate file.
38676         (u8_mbtouc): Use ucs4_t, uint8_t types.
38677         * lib/unistr/utf8-ucs4.c: New file.
38678
38679         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
38680         (Depends-on): Add unitypes.
38681         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
38682         (u16_mbtouc_aux): Move out to separate file.
38683         (u16_mbtouc): Use ucs4_t, uint16_t types.
38684         * lib/unistr/utf16-ucs4.c: New file.
38685
38686         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
38687         (Depends-on): Add unitypes.
38688         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
38689         (u8_uctomb_aux): Move out to separate file.
38690         (u8_uctomb): Use ucs4_t, uint8_t types.
38691         * lib/unistr/ucs4-utf8.c: New file.
38692
38693         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
38694         (Depends-on): Add unitypes.
38695         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
38696         (u16_uctomb_aux): Move out to separate file.
38697         (u16_uctomb): Use ucs4_t, uint16_t types.
38698         * lib/unistr/ucs4-utf16.c: New file.
38699
38700 2006-12-25  Bruno Haible  <bruno@clisp.org>
38701
38702         * modules/unitypes: New file.
38703         * lib/unitypes.h: New file.
38704         * MODULES.html.sh (func_all_modules): New section "Unicode string
38705         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
38706         this section. Add unitypes.
38707
38708 2007-01-08  Bruno Haible  <bruno@clisp.org>
38709
38710         Avoid variable names that conflict with those from libtool.
38711         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
38712         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
38713         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
38714         library_names_spec to acl_library_names_spec, hardcode_* to
38715         acl_hardcode_*.
38716         Reported by Ralf Wildenhues.
38717
38718 2007-01-08  Bruno Haible  <bruno@clisp.org>
38719
38720         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
38721         definition.
38722         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
38723         definition.
38724         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
38725         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
38726         definition.
38727         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
38728         definition.
38729         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
38730         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
38731         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
38732         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
38733         definition.
38734         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
38735         definition.
38736         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
38737         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
38738         GC_USE_<algorithm>.
38739         * lib/gc-libgcrypt.c: Likewise.
38740         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
38741         * modules/gc-arctwo (configure.ac): Likewise.
38742         * modules/gc-des (configure.ac): Likewise.
38743         * modules/gc-hmac-md5 (configure.ac): Likewise.
38744         * modules/gc-hmac-sha1 (configure.ac): Likewise.
38745         * modules/gc-md2 (configure.ac): Likewise.
38746         * modules/gc-md4 (configure.ac): Likewise.
38747         * modules/gc-md5 (configure.ac): Likewise.
38748         * modules/gc-random (configure.ac): Likewise.
38749         * modules/gc-rijndael (configure.ac): Likewise.
38750         * modules/gc-sha1 (configure.ac): Likewise.
38751
38752 2007-01-08  Bruno Haible  <bruno@clisp.org>
38753
38754         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
38755         macro definition.
38756         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
38757         definition.
38758         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
38759         definition.
38760         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
38761         * modules/fcntl-safer (configure.ac): Likewise.
38762         * modules/fopen-safer (configure.ac): Likewise.
38763         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
38764         GNULIB_FWRITEERROR macro definition.
38765
38766 2007-01-08  Bruno Haible  <bruno@clisp.org>
38767
38768         * m4/gnulib-common.m4: New file.
38769         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
38770         (func_get_filelist): Add m4/gnulib-common.m4.
38771
38772 2007-01-08  Bruno Haible  <bruno@clisp.org>
38773
38774         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
38775         command.
38776
38777 2007-01-08  Jim Meyering  <jim@meyering.net>
38778
38779         Use a more robust test for a "can't happen" condition.
38780         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
38781         narrowed the st_size value.  Presuming the "can't happen" condition
38782         is true, that narrowing could conceivably convert an invalid st_size
38783         value into a valid one.  Instead, use a change based on Matthew
38784         Woehlke's original patch.
38785
38786         Slight readability improvement: use an assert-like macro
38787         in place of literal "abort ()" uses.
38788         * lib/fts.c (fts_assert): Define.
38789         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
38790         Use this macro instead of a bare 'abort'.
38791
38792 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
38793
38794         Don't worry about using IRIX 5.3's wctype.h broken definitions;
38795         simply work around them.
38796         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
38797         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
38798         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
38799         declaring.
38800         Don't bother to define as macros, since the standard doesn't require it.
38801         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
38802         longer worry about IRIX 5.3.
38803         (HAVE_WCTYPE_CTMP_BUG): Remove.
38804
38805 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
38806
38807         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
38808         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
38809         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
38810         Problems reported by Georg Schwarz for IRIX 5.3.
38811
38812         * gnulib-tool (autoconf_minversion): Take the maximum version number
38813         found, not the minimum.  Problem reported by James Youngman.
38814
38815 2007-01-03  Karl Berry  <karl@gnu.org>
38816
38817         * doc/error.texi: new file, explaining interaction with progname.
38818         * doc/gnulib.texi: include it.  Update copyright.
38819
38820 2007-01-03  Simon Josefsson  <simon@josefsson.org>
38821
38822         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
38823         AC_CANONICAL_HOST, to improve autobuild outputs.
38824
38825 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
38826             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
38827
38828         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
38829         sockets, server sockets, and other file descriptors.  Count errors
38830         to compute the return value.  Reorder the code a bit to be easier
38831         to follow.  Don't set event bits that were not requested (except
38832         POLLERR and POLLHUP).
38833
38834 2007-01-01  Bruno Haible  <bruno@clisp.org>
38835
38836         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
38837
38838 2007-01-03  Jim Meyering  <jim@meyering.net>
38839
38840         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
38841
38842 2007-01-02  Bruno Haible  <bruno@clisp.org>
38843
38844         * modules/settime (Include): Require timespec.h.
38845         * modules/nanosleep (Include): Likewise.
38846
38847 2007-01-01  Bruno Haible  <bruno@clisp.org>
38848
38849         * gnulib-tool (func_emit_copyright_notice): Bump year.
38850         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
38851
38852 2007-01-01  Bruno Haible  <bruno@clisp.org>
38853
38854         Improve support for OpenBSD.
38855         * build-aux/config.rpath (libname_spec): Export.
38856         (library_names_spec): New variable. Export.
38857         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
38858         library_names_spec from the config.rpath output. Locate shared library
38859         through the name pattern in library_names_spec.
38860
38861 2007-01-01  Eric Blake  <ebb9@byu.net>
38862
38863         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
38864
38865 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
38866
38867         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
38868         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
38869         assume the C locale, and avoid an "eval" that could cause trouble.
38870         Problem with SORT reported by Bob Proulx.
38871
38872         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
38873         Define.  Trivial patch from Henning Nielsen Lund, originally
38874         sent to bug-grep@gnu.org today.
38875
38876 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
38877
38878         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
38879         struct stat.  Problem reported by Henning Nielsen Lund.
38880         * lib/acl.c: Include acl.h first, to check interface.  Don't
38881         bother to include sys/types.h and sys/stat.h again.
38882
38883 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
38884
38885         Import the following change from libc; problem reported by
38886         Sven Verdoolaege.
38887
38888         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
38889
38890         [BZ #1373]
38891         * lib/argp.h: Remove __NTH for __argp_usage inline function.
38892
38893 2006-12-28  Jim Meyering  <jim@meyering.net>
38894
38895         * build-aux/announce-gen: Do not assume that the package
38896         builds any of tar.gz, tar.bz2, and .xdelta files.
38897         Suggestion from Simon Josefsson.
38898
38899 2006-12-28  Simon Josefsson  <simon@josefsson.org>
38900
38901         * modules/announce-gen: New file.
38902
38903 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
38904
38905         * lib/mbchar.h: Just include <wctype.h>; the wctype module
38906         handles its gotchas now.
38907         * lib/mbswidth.c: Likewise.
38908         * lib/wcwidth.h: Likewise.
38909         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
38910         and iswcntrl; the wctype module does this stuff now.
38911         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
38912         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
38913         * modules/mbchar (Depends-on): Add wctype.
38914         * modules/mbswidth (Depends-on): Likewise.
38915         * modules/wcwidth (Depends-on): Likewise.
38916
38917 2006-12-27  Eric Blake  <ebb9@byu.net>
38918
38919         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
38920         module uses more than what <wctype.h> is required to provide.
38921
38922 2006-12-26  Eric Blake  <ebb9@byu.net>
38923
38924         * gnulib-tool (sed_extract_prog): Avoid space-tab.
38925
38926 2006-12-26  Eric Blake  <ebb9@byu.net>
38927
38928         * modules/absolute-header: New module.
38929         * modules/fcntl (Depends-on): Depend on it.
38930         * modules/inttypes (Depends-on): Likewise.
38931         * modules/stdint (Depends-on): Likewise.
38932         * modules/sys_stat (Depends-on): Likewise.
38933         * modules/wctype (Depends-on): Likewise.
38934         * MODULES.html.sh (Support for building libraries and
38935         executables): Document it.
38936
38937 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
38938
38939         * gnulib-tool (SED): Remove, undoing previous change.
38940         The problem was that it broke coreutils on Solaris, because
38941         "sed --posix" leaked into a makefile.
38942         (sed): New alias, if 'alias' and GNU sed.
38943
38944 2006-12-24  Jim Meyering  <jim@meyering.net>
38945
38946         Work around an fchownat bug in glibc-2.4:
38947         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
38948         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
38949         in spite of the -P option.
38950         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
38951         New macros.
38952         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
38953         * modules/openat (Files): Add lib/fchownat.c.
38954         * lib/openat.c (fchownat): Don't define here.  Move to...
38955         * lib/fchownat.c: ...this new file.
38956
38957 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
38958
38959         Fix bug reported by Bruno Haible in
38960         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
38961         where quotearg.c didn't compile on Mac OS X 10.2 because it
38962         lacks <wchar.h> and wint_t.
38963         * lib/wctype_.h (__wctype_wint_t): New type.
38964         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
38965         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
38966         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
38967         Arg is now of type __wctype_wint_t, not wint_t.
38968         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
38969         substitute HAVE_WINT_T.
38970         * modules/wctype (Files): Add m4/wint_t.m4.
38971         (wctype.h): Substitute HAVE_WINT_T.
38972
38973 2006-12-23  Bruno Haible  <bruno@clisp.org>
38974
38975         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
38976
38977 2006-12-23  Bruno Haible  <bruno@clisp.org>
38978
38979         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
38980         S_ISLNK.
38981         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
38982         mingw.
38983
38984 2006-12-22  Bruno Haible  <bruno@clisp.org>
38985
38986         * lib/copy-file.c: Include acl.h.
38987         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
38988         Close the file descriptors only after being done with copy_acl.
38989         * modules/copy-file (Depends-on): Add acl.
38990
38991 2006-12-22  Bruno Haible  <bruno@clisp.org>
38992
38993         * gnulib-tool (SED): New variable.
38994         Use $SED instead of sed everywhere.
38995
38996 2006-12-22  Bruno Haible  <bruno@clisp.org>
38997
38998         * modules/no-c++: New file.
38999         * m4/no-c++.m4: New file.
39000         * MODULES.html.sh (Support for building libraries and executables):
39001         Add no-c++.
39002
39003 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
39004
39005         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
39006         Include <limits.h>, and use its INT_MAX to rewrite the
39007         j loop so that it does not overflow 'int'.  Problem reported by
39008         Ralf Wildenhues in
39009         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
39010         Play it safe by shifting left by 1 rather than multiplying by 2,
39011         as GCC is less likely to optimize this away when the value
39012         is signed (when it assumes overflow leads to undefined behavior).
39013         Also, don't assume time_t uses two's complement.
39014
39015 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
39016
39017         * MODULES.html.sh: New module wctype.
39018         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
39019         * lib/fnmatch.c: Don't bother to include <wchar.h> before
39020         <wctype.h>, since the new wctype module should fix this.
39021         * lib/quotearg.c: Include <wctype.h> unconditionally, since
39022         the wctype module should arrange for it.
39023         * lib/regex_internal.h: Likewise.
39024         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
39025         since the wctype module should handle this now.
39026         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
39027         * modules/fnmatch (Depends-on): Add wctype.
39028         * modules/quotearg (Depends-on): Likewise.
39029         * modules/regex (Depends-on): Likewise.
39030
39031 2006-12-19  Bruno Haible  <bruno@clisp.org>
39032
39033         * lib/strdup.h [C++]: Wrap definitions in extern "C".
39034         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
39035
39036 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39037
39038         * modules/savewd (Depends-on): Fix dependency on fcntl.
39039
39040 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
39041
39042         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
39043         conforms to C99, rather than relying on the user's environment
39044         setting of STDINT_H.
39045
39046 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
39047         and Eric Blake  <ebb9@byu.net>
39048
39049         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
39050         This is more consistent with the other defines here.
39051         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
39052         Port to z/OS.  Problem reported by Paul Gilmartin.
39053         Change local vars to use gl_ prefix rather than ac_.
39054         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
39055         with other defines.
39056         * modules/double-slash-root: New module.
39057         * modules/dirname (Files): Remove m4/double-slash-root.m4.
39058         (Depends-on): Add double-slash-root.
39059         * MODULES.html.sh (File system functions): Mention new module.
39060
39061 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
39062
39063         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
39064         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
39065         This is for the benefit of gzip, which doesn't do i18n.
39066
39067 2006-12-12  Jim Meyering  <jim@meyering.net>
39068
39069         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
39070         Reported by Andreas Schwab <schwab@suse.de>.
39071
39072 2006-12-12  Bruno Haible  <bruno@clisp.org>
39073
39074         Merge these changes.
39075         2006-09-05  Bruno Haible  <bruno@clisp.org>
39076         * lib/iconvme.c (iconv_string): No need to save and restore errno when
39077         iconv_alloc succeeded.
39078         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
39079         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
39080         test for " && dest " at the end - dest is always != NULL there. Call
39081         iconv with 4xNULL arguments initially, to reset the state. Call iconv
39082         with 2xNULL arguments, also to flush the state storage. Handle the
39083         IRIX iconv behaviour. Realloc the final result, to throw away unused
39084         memory.
39085
39086 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
39087
39088         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
39089         and fchmodat unconditionally, since glibc 2.4 has them.
39090         Problem reported by Arkadiusz Miskiewicz.
39091
39092 2006-12-10  Bruno Haible  <bruno@clisp.org>
39093
39094         * gnulib-tool (func_import): Show the include files only for those
39095         modules that are copied and specified.
39096         Reported by Karl Berry.
39097
39098 2006-12-08  Jim Meyering  <jim@meyering.net>
39099
39100         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
39101         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
39102
39103         * build-aux/announce-gen: Add two new options, both optional:
39104         --bootstrap-tools=TOOL_LIST
39105               a comma-separated list of tools, e.g.,
39106               autoconf,automake,bison,gnulib
39107         --gnulib-snapshot-date=DATE
39108               if gnulib is in the bootstrap tool list,
39109               then report this as the snapshot date.
39110               If not specified, use the current date/time.
39111               If you specify a date here, be sure it's UTC.
39112
39113 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39114
39115         * tests/test-argp-2.sh: Fix test to match actual output.
39116         (func_compare): Fix sed script to be portable.
39117
39118 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
39119
39120         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
39121         workaround for this case.  It is not autoconfigured now; offhand
39122         it's hard to see how to autoconfigure it.
39123
39124 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
39125
39126         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
39127         a directory that is about to be chowned.  Such a directory's
39128         initial file permissions should permit the owner only and this
39129         should not be changed until after the chown, since the group and
39130         other bits would be incorrect if they granted permission before
39131         the chown.
39132
39133         Fix porting problem for iswctype reported by Georg Schwarz in:
39134         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
39135         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
39136         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
39137         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
39138         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39139
39140 2006-12-03  Jim Meyering  <jim@meyering.net>
39141
39142         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
39143         p->fts_statp may not yet be defined.
39144         (fts_read): Instead, set it in the caller, once p->fts_statp is
39145         sure to be defined, and corresponds to a top-level directory.
39146         This bug made du -x fail.  Here's the coreutils test case:
39147         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
39148         Reported by Mike Frysinger.
39149
39150 2006-12-01  Jim Meyering  <jim@meyering.net>
39151
39152         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
39153         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
39154         Reported by Simon Josefsson.
39155
39156 2006-11-30  Jim Meyering  <jim@meyering.net>
39157
39158         * m4/warning.m4: Use the all-permissive copyright notice
39159         recommended by RMS (rather than LGPL).
39160         * m4/vararrays.m4: Likewise.
39161         * m4/flexmember.m4: Likewise.
39162
39163 2006-11-29  Bruno Haible  <bruno@clisp.org>
39164
39165         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
39166         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
39167         using +=.
39168         Reported by Simon Josefsson <simon@josefsson.org>.
39169
39170 2006-11-28  James Youngman <jay@gnu.org>
39171
39172         * README: Advise users that they might find the bug-gnulib@gnu.org
39173         and autotools-announce@gnu.org mailing lists useful.
39174
39175 2006-11-28  Bruno Haible  <bruno@clisp.org>
39176
39177         * m4/ptrdiff_max.m4: Remove file.
39178
39179 2006-11-21  Bruno Haible  <bruno@clisp.org>
39180
39181         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
39182         _AC_COMPUTE_INT.
39183         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
39184         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
39185         _AC_COMPUTE_INT.
39186         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
39187         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
39188         _AC_COMPUTE_INT.
39189         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
39190
39191 2006-11-28  Jim Meyering  <jim@meyering.net>
39192
39193         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
39194         warning from "gcc -Wshadow" about shadowing the builtin.
39195
39196 2006-11-27  Bruno Haible  <bruno@clisp.org>
39197
39198         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
39199         _AC_COMPUTE_INT.
39200         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
39201
39202 2006-11-27  Bruno Haible  <bruno@clisp.org>
39203             Paul Eggert  <eggert@cs.ucla.edu>
39204
39205         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
39206
39207 2006-11-26  Bruno Haible  <bruno@clisp.org>
39208
39209         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
39210         noinst_LTLIBRARIES.
39211
39212 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
39213             Bruno Haible  <bruno@clisp.org>
39214
39215         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
39216         if compiling with "gcc -ansi".
39217
39218 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
39219
39220         Fix some incompatibilities with gcc -ansi -pedantic.
39221         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
39222         if compiling pedantically with GCC, unless it's C99 or later.
39223         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
39224         it mishandles gcc -ansi -pedantic as well.
39225         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
39226         if gcc -pedantic.
39227         * lib/regexec.c (check_node_accept_bytes): Don't use auto
39228         initializers for struct if -pedantic, unless it's C99 or later.
39229
39230 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
39231
39232         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
39233         Don't close an fd more than once. Identical atimes indicate
39234         success, not failure.
39235
39236 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
39237
39238         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
39239
39240 2006-11-23  Jim Meyering  <jim@meyering.net>
39241
39242         * build-aux/announce-gen: New file.  From coreutils.
39243
39244 2006-11-22  Jim Meyering  <jim@meyering.net>
39245
39246         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
39247         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
39248         (fts_read): Use a temporary to narrow the overused st_size member
39249         before using it in a switch statement.  Reported by Matthew Woehlke.
39250
39251         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
39252         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39253
39254 2006-11-20  Bruno Haible  <bruno@clisp.org>
39255
39256         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
39257         changequote instead of pairs of brackets.
39258         Reported by Andreas Schwab <schwab@suse.de>.
39259
39260 2006-11-21  Jim Meyering  <jim@meyering.net>
39261
39262         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
39263         so as to remain compatible with older compilers.
39264         Patch from Michael Deutschmann.
39265
39266 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
39267
39268         * MODULES.html.sh (File system functions): Add openat.
39269
39270         * lib/openat.h (rpl_fstatat): New macro, if
39271         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
39272         (fstatat): Define to rpl_fstatat under the same conditions,
39273         unless COMPILING_FSTATAT.
39274         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
39275         seems to have the bug.
39276         * lib/fstatat.c: New file.
39277         * modules/openat (Files): Add it.
39278
39279 2006-11-20  Bruno Haible  <bruno@clisp.org>
39280
39281         * Makefile: New file.
39282
39283 2006-11-20  Jim Meyering  <jim@meyering.net>
39284
39285         The beginnings of syntax-related checks for gnulib.
39286         * lib/Makefile: New file.
39287         * lib/t-idcache: New script.  Ensure that the two halves of
39288         idcache.c stay in sync.
39289
39290         * lib/idcache.c: Adjust comments in user- and group- portions to
39291         be more accurate, and to be consistent with one another.
39292
39293 2006-11-20  Jim Meyering  <jim@meyering.net>
39294
39295         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
39296         continue using the flexible array member (thus, this module performs
39297         half as many malloc calls), with the addition that...
39298         (getgroup, getuser): Consistently record a non-match via an empty
39299         "name" string, and map an empty string match to a NULL return value.
39300         * modules/idcache (Depends-on): Re-add flexmember.
39301
39302         * lib/idcache.c (getuser): Remove all uses of the register keyword.
39303         (getuidbyname, getgroup, getgidbyname): Likewise.
39304
39305         Use cleaner syntax: NULL rather than 0.
39306         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
39307
39308 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
39309
39310         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
39311         It mishandled the case where the group was missing.
39312         Problem reported by Greg Schafer.
39313         * modules/idcache: Likewise.
39314
39315 2006-11-18  Jim Meyering  <jim@meyering.net>
39316
39317         * check-module (%exempt_header): Add exception for some
39318         conditionally-included headers.
39319
39320         * modules/i-ring (Depends-on): Add verify.
39321         (License): Change to LGPL.
39322
39323 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
39324
39325         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
39326         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
39327         and inttostr.h.  Use snprintf rather than uinttostr, so that
39328         LGPLed code doesn't depend on GPLed.
39329
39330 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
39331
39332         * modules/inline (License): Change from GPL to LGPL.
39333
39334 2006-11-17  Jim Meyering  <jim@meyering.net>
39335
39336         * modules/d-type (License): Switch to LGPL.
39337
39338 2006-11-15  Bruno Haible  <bruno@clisp.org>
39339
39340         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
39341
39342 2006-11-15  Eric Blake  <ebb9@byu.net>
39343
39344         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
39345         the module dependency.
39346
39347 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39348             Bruno Haible  <bruno@clisp.org>
39349
39350         * gnulib-tool (func_create_testdir): Add license consistency check.
39351
39352 2006-11-15  Eric Blake  <ebb9@byu.net>
39353
39354         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
39355         random "(cached)" in configure output.
39356
39357 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39358
39359         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
39360         test for conforming inttypes.h is both announced and cached.
39361
39362         * MODULES.html.sh (seen_modules, seen_files): New variables.
39363         (func_module): Rewrite to use a few less gnulib-tool and sed
39364         invocations.  Avoid a couple of quadratic algorithms for ...
39365         (missed_modules, missed_files): ... these, with ...
39366         (func_append, func_tmpdir): ... these new functions, from
39367         gnulib-tool.  Analogously, install traps for cleanup.
39368
39369         * tests/test-gc.c (main): Remove unused variables.
39370         * tests/test-read-file.c: Include stdlib.h, for 'free'.
39371
39372 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
39373
39374         * modules/inttostr (License): Change to LGPL.
39375
39376 2006-11-14  Eric Blake  <ebb9@byu.net>
39377
39378         * modules/tempname (License): Change to LGPL.
39379
39380 2006-11-14  Eric Blake  <ebb9@byu.net>
39381
39382         * doc/functions.texi (Function Portability): *printf functions on
39383         Cygwin now understand all POSIX size specifiers.
39384
39385 2006-11-14  Bruno Haible  <bruno@clisp.org>
39386
39387         * modules/c-ctype (License): Change to LGPL.
39388
39389 2006-11-12  Bruno Haible  <bruno@clisp.org>
39390
39391         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
39392         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
39393         for GNOME libraries, for which the include files are installed in
39394         subdirectories of $prefix/include.
39395
39396 2006-11-12  Bruno Haible  <bruno@clisp.org>
39397
39398         * m4/lib-link.m4: Require at least autoconf-2.54.
39399         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
39400         name to underscores for the --with option.
39401
39402 2006-11-13  Bruno Haible  <bruno@clisp.org>
39403
39404         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
39405         the tests directory.
39406         Reported by Ralf Wildenhues.
39407
39408 2006-11-13  Bruno Haible  <bruno@clisp.org>
39409
39410         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
39411         (func_emit_initmacro_end): Undo the override here.
39412         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
39413         Works around the famous automake error in coreutils.
39414
39415 2006-11-13  Eric Blake  <ebb9@byu.net>
39416
39417         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
39418         element, not its node.
39419
39420 2006-11-12  Bruno Haible  <bruno@clisp.org>
39421
39422         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
39423         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
39424
39425 2006-11-12  Bruno Haible  <bruno@clisp.org>
39426
39427         * gnulib-tool: New option --local-symlink.
39428         (func_usage): Document it.
39429         (lsymbolic): New variable.
39430         (func_import, func_create_testdir): If --symlink was not specified,
39431         test whether --local-symlink was specified and the file comes from
39432         the local_gnulib_dir.
39433
39434 2006-11-12  Bruno Haible  <bruno@clisp.org>
39435
39436         * gnulib-tool (func_ln): New function.
39437         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
39438
39439 2006-11-12  Bruno Haible  <bruno@clisp.org>
39440
39441         Finish support for source files in subdirectories.
39442         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
39443         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
39444         AUTOMAKE_OPTIONS.
39445         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
39446
39447 2006-11-12  Bruno Haible  <bruno@clisp.org>
39448
39449         * gnulib-tool (func_get_automake_snippet): Synthesize also an
39450         EXTRA_lib_SOURCES augmentation.
39451         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
39452
39453 2006-11-12  Jim Meyering  <jim@meyering.net>
39454
39455         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
39456         file descriptors.  This also averts a failure on systems with
39457         native openat support when a traversed directory lacks "x" access.
39458         * lib/fts_.h: Include "i-ring.h"
39459         (struct FTS) [fts_fd_ring]: New member.
39460         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
39461         (FCHDIR): Add parentheses.
39462         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
39463         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
39464         When descending, rather than simply closing the previous
39465         fts_cwd_fd value, push that file descriptor onto the ring.
39466         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
39467         (fts_open): Initialize the new fd_ring member.
39468         (fts_close): Clear the ring.
39469         (fts_safe_changedir): When possible, use our new fd_ring to skip
39470         the diropen and fstat and dev/ino comparison that would normally
39471         accompany a virtual `chdir ("..")'.
39472
39473         * modules/fts (Depends-on): Add i-ring.
39474         * modules/i-ring: New module.
39475         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
39476         * m4/i-ring.m4: New file.
39477
39478 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39479
39480         * gnulib-tool (func_create_testdir): Fix replacement of
39481         `build-aux' in configure.ac.  Run autotools in gltests
39482         subdirectory.
39483         (func_create_testdir, func_create_megatestdir, test): There is
39484         no need for '--force' in most autotool invocations in a new
39485         tree.  Actually fail the whole test if any of the tools, or the
39486         configure or make stages fail.
39487
39488         Sync from Automake.
39489         * build-aux/gnupload: Revert last change.  Add pointer to upload
39490         instructions of the GNU Maintenance Instructions.
39491         Suggestion by Karl Berry.
39492
39493 2006-11-10  Jim Meyering  <jim@meyering.net>
39494
39495         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
39496
39497 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
39498
39499         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
39500         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
39501         (bind_textdomain_codeset) [! ENABLE_NLS]:
39502         Evaluate all the arguments.  That way, callers get compatible behavior
39503         if the arguments have side effects.  Also, it avoids some GCC
39504         diagnostics in some cases; Joel E. Denny reported problems when Bison
39505         was configured with --enable-gcc-warnigs.
39506
39507 2006-11-10  Jim Meyering  <jim@meyering.net>
39508
39509         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
39510         relevant options in CFLAGS (like -O, -fno-inline) are taken into
39511         account.
39512
39513 2006-11-10  Jim Meyering  <jim@meyering.net>
39514
39515         * modules/inline: New file/module.
39516         * modules/xalloc (Files): Remove m4/inline.m4.
39517         (Depends-on): Add inline, instead.
39518         * modules/oset: Likewise.
39519         * modules/list: Likewise.
39520
39521 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
39522
39523         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
39524         Problem reported by Matthew Woehlke.
39525
39526 2006-11-09  Bruno Haible  <bruno@clisp.org>
39527
39528         * lib/tempname.c (gen_tempname): Remove variant that invokes
39529         __gen_tempname.
39530         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
39531         __gen_tempname.
39532
39533 2006-11-08  Bruno Haible  <bruno@clisp.org>
39534
39535         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
39536         to 'yes' instead of 'cross-compiling'.
39537
39538 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
39539
39540         * lib/quotearg.h (quotearg_free): New decl.
39541         * lib/quotearg.c (quotearg_free): New function.
39542         (slot0, nslots, slotvec0, slotvec):
39543         Now file-scope so that quotearg_free can get at them.
39544
39545 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39546
39547         Sync from Automake.
39548         * build-aux/gnupload: Add missing 'gnu' to example URL.
39549         Report by Karl Berry.
39550
39551 2006-11-08  Bruno Haible  <bruno@clisp.org>
39552
39553         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
39554         Suggested by Paul Eggert.
39555
39556 2006-11-08  Jim Meyering  <jim@meyering.net>
39557
39558         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
39559         It's already included if !_LIBC.
39560         (fts_safe_changedir): Add a comment.
39561
39562 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
39563
39564         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
39565         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
39566         Matthew Woehlke.
39567
39568         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
39569         definitions up, to avoid colliding with change below.
39570         (static_inline) [HAVE_INLINE]: New macro.
39571         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
39572         Provide extern decls when !HAVE_INLINE.  Do not define unless
39573         static_inline is defined, either by us or by xmalloc.c.  Use
39574         static_inline rather than static inline.
39575         (XCALLOC): Optimize sizeof(T) = 1 case.
39576         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
39577
39578 2006-11-07  Bruno Haible  <bruno@clisp.org>
39579
39580         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
39581         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
39582         AC_C_INLINE.
39583         * modules/xalloc (Files): Add m4/inline.m4.
39584
39585 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39586
39587         * README: Fix typo.
39588         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
39589         (Miscellanous Notes): ...from this.
39590
39591 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
39592
39593         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
39594         Mention that offsetof should be used instead of sizeof.
39595         From Bruno Haible.
39596
39597 2006-11-07  Bruno Haible  <bruno@clisp.org>
39598
39599         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
39600
39601 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
39602
39603         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
39604         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
39605         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
39606         (gl_tree_add_before, gl_tree_add_after):
39607         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
39608         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
39609         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
39610         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
39611         (gl_linked_add_after, gl_linked_add_at): Likewise.
39612         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
39613         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
39614         (gl_tree_add_before, gl_tree_add_after): Likewise.
39615         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
39616         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
39617         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
39618
39619 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39620
39621         * lib/gl_oset.h: Use C comment style, not C++ comment style.
39622
39623 2006-11-06  Bruno Haible  <bruno@clisp.org>
39624
39625         * m4/inline.m4: New file.
39626         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
39627         * modules/list (Files): Add m4/inline.m4.
39628         * modules/oset (Files): Likewise.
39629
39630 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
39631
39632         * lib/idcache.c: Include <stddef.h>, for offsetof.
39633         (struct userid.name): Change from char * to a flexible array member.
39634         All uses changed.
39635         * modules/idcache (Depends-on): Add flexmember.
39636
39637         * MODULES.html.sh (Core language properties): New module flexmember.
39638         * modules/flexmember, m4/flexmember.m4: New files.
39639
39640         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
39641         inline functions that are identical with the old xnmalloc_inline,
39642         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
39643         that we can avoid some unnecessary integer multiplications and
39644         divisions in the common case where the element size is known at
39645         compile time.
39646         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
39647         needed.
39648         (xnboundedmalloc): Remove.
39649         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
39650         arguments, for consistency with rest of this header.
39651         (xcharalloc): Rewrite using XNMALLOC.
39652         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
39653         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
39654         versions have been moved to lib/xalloc.h and renamed to be the
39655         non-*_inline versions.
39656         (xmalloc, xrealloc): Implement without reference to the xnmalloc
39657         and xnrealloc functions, since those functions are now inline and
39658         now call us.
39659         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
39660         renaming described above.
39661         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
39662         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
39663         captures the dependency in AC_C_INLINE.
39664
39665         New module canonicalize-lgpl, proposed by Charles Wilson in
39666         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
39667         with a few small changes afterwards.
39668         * MODULES.html.sh (File system functions): New module
39669         canonicalize-lgpl.
39670         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
39671         and canonicalize_file_name.
39672         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
39673         * modules/canonicalize-lgpl: New files.
39674
39675 2006-11-05  Bruno Haible  <bruno@clisp.org>
39676
39677         * gnulib-tool (func_import, func_create_testdir): Create directories
39678         also for files in subdirectories of lib/.
39679
39680 2006-11-05  Bruno Haible  <bruno@clisp.org>
39681
39682         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
39683         ANSI C compliant.
39684
39685 2006-11-03  Bruno Haible  <bruno@clisp.org>
39686
39687         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
39688         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
39689         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
39690         (xnboundedmalloc): New inline function.
39691         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
39692         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
39693         xmalloc.
39694         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
39695         xmalloc.
39696         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
39697         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
39698         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
39699         xmalloc.
39700         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
39701         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
39702         xmalloc.
39703         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
39704         gl_tree_add_after): Use XMALLOC instead of xmalloc.
39705         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
39706         xmalloc.
39707         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
39708         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
39709         gl_tree_add_after): Use XMALLOC instead of xmalloc.
39710         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
39711         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
39712         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
39713         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
39714
39715 2006-11-03  Bruno Haible  <bruno@clisp.org>
39716
39717         * lib/c-ctype.h [C++]: Define functions without name mangling.
39718         * lib/fwriteerror.h [C++]: Likewise.
39719         * lib/gcd.h [C++]: Likewise.
39720         * lib/linebreak.h [C++]: Likewise.
39721
39722 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
39723
39724         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
39725         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
39726         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
39727         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
39728         Check for functions and headers just once.
39729         Check for declaration of canonicalize_file_name.
39730         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
39731
39732 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
39733
39734         * gnulib-tool (func_import): Fix typo in actioncmd.
39735
39736 2006-11-02  Bruno Haible  <bruno@clisp.org>
39737
39738         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
39739         newline sequence in the Makefile.am snippet as a space, like "make"
39740         does.
39741         Reported by Roger Persson <perrog@gmail.com>.
39742
39743 2006-11-01  Bruno Haible  <bruno@clisp.org>
39744
39745         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
39746         already declared in <string.h>.
39747         * lib/strcase.h (strncasecmp): Don't declare it if yes.
39748
39749 2006-11-01  Bruno Haible  <bruno@clisp.org>
39750
39751         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
39752         * lib/strcase.h: Include <string.h>.
39753         (strcasecmp): Define to rpl_strcasecmp here.
39754
39755 2006-11-01  Bruno Haible  <bruno@clisp.org>
39756
39757         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
39758
39759 2006-11-01  Eric Blake  <ebb9@byu.net>
39760
39761         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
39762
39763         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
39764
39765 2006-10-29  Bruno Haible  <bruno@clisp.org>
39766
39767         Make it compile in C++ mode.
39768         * lib/full-write.c (full_rw): Add a cast.
39769
39770 2006-11-01  Bruno Haible  <bruno@clisp.org>
39771
39772         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
39773         be POSIX compliant.
39774         Reported by Roger Persson <perrog@gmail.com>.
39775
39776 2006-11-01  Eric Blake  <ebb9@byu.net>
39777
39778         * lib/getopt_.h: Fix comments.
39779
39780 2006-10-31  Eric Blake  <ebb9@byu.net>
39781
39782         * modules/tmpdir (Depends-on): Add sys_stat.
39783         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
39784         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
39785         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
39786         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
39787         tempname.
39788
39789 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
39790
39791         Avoid some C++ diagnostics reported by Bruno Haible.
39792         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
39793         xmalloc.
39794         (quotearg_alloc): Use xcharalloc rather than xmalloc.
39795         (struct slotvec): Move to top level.
39796         (quotearg_n_options): Rewrite to avoid xmalloc.
39797         * lib/xalloc.h (xcharalloc): New function.
39798         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
39799         [defined __cplusplus]: Add function template that provides result
39800         type propagation.  This part of the change is from Bruno Haible.
39801
39802 2006-10-29  Bruno Haible  <bruno@clisp.org>
39803
39804         Make it compile in C++ mode.
39805         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
39806         * lib/strnlen1.c (strnlen1): Cast memchr result.
39807         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
39808         * lib/clean-temp.c (string_equals, string_hash): Add casts.
39809         (create_temp_dir): Rename local variable 'template'.
39810         (compile_csharp_using_sscli): Add cast.
39811         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
39812         * lib/findprog.c (find_in_path): Likewise.
39813         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
39814         * lib/wait-process.c (register_slave_subprocess): Likewise.
39815
39816 2006-10-22  Bruno Haible  <bruno@clisp.org>
39817
39818         * modules/tsearch: New file.
39819         * lib/tsearch.h: New file.
39820         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
39821         * m4/tsearch.m4: New file.
39822         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
39823
39824 2006-10-29  Eric Blake  <ebb9@byu.net>
39825
39826         * lib/arcfour.c: Assume config.h.
39827         * lib/arctwo.c: Likewise.
39828         * lib/base64.c: Likewise.
39829         * lib/check-version.c: Likewise.
39830         * lib/crc.c: Likewise.
39831         * lib/des.c: Likewise.
39832         * lib/gc-gnulib.c: Likewise.
39833         * lib/gc-libgcrypt.c: Likewise.
39834         * lib/gc-pbkdf2-sha1.c: Likewise.
39835         * lib/getaddrinfo.c: Likewise.
39836         * lib/getdelim.c: Likewise.
39837         * lib/getline.c: Likewise.
39838         * lib/hmac-md5.c: Likewise.
39839         * lib/hmac-sha1.c: Likewise.
39840         * lib/iconvme.c: Likewise.
39841         * lib/md2.c: Likewise.
39842         * lib/md4.c: Likewise.
39843         * lib/memxor.c: Likewise.
39844         * lib/read-file.c: Likewise.
39845         * lib/readline.c: Likewise.
39846         * lib/rijndael-alg-fst.c: Likewise.
39847         * lib/rijndael-api-fst.c: Likewise.
39848         * lib/xgetdomainname.c: Likewise.
39849
39850 2006-10-28  Eric Blake  <ebb9@byu.net>
39851
39852         * lib/xstrndup.c: Assume config.h.
39853
39854 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
39855
39856         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
39857         stat-macros.h is now for our own macros, whereas stat_h is for
39858         macros in the <sys/stat.h> name space.
39859         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
39860         (STAT_MACROS_H): Remove.
39861         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
39862         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
39863         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
39864         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
39865         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
39866         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
39867         Move these macros to ...
39868         * lib/stat_.h: here.  Don't include stat-macros.h.
39869         * lib/canonicalize.c: Don't include stat-macros.h.
39870         * lib/chown.c: Likewise.
39871         * lib/euidaccess.c: Likewise.
39872         * lib/file-type.c: Likewise.
39873         * lib/filemode.c: Likewise.
39874         * lib/glob.c: Likewise.
39875         * lib/isapipe.c: Likewise.
39876         * lib/lchown.c: Likewise.
39877         * lib/lstat.c: Likewise.
39878         * lib/mkdir-p.c: Likewise.
39879         * lib/rmdir.c: Likewise.
39880         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
39881         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
39882         unless mkdir isn't declared, to speed up 'configure'.
39883         Always create sys/stat.h, since it's unlikely any real sys/stat.h
39884         would define all the S_* symbols.
39885         * modules/canonicalize (Depends-on):
39886         Depend on sys_stat, not stat-macros.
39887         * modules/chown: Likewise.
39888         * modules/euidaccess: Likewise.
39889         * modules/filemode: Likewise.
39890         * modules/file-type: Likewise.
39891         * modules/glob: Likewise.
39892         * modules/isapipe: Likewise.
39893         * modules/lchown: Likewise.
39894         * modules/lstat: Likewise.
39895         * modules/mkancesdirs: Likewise.
39896         * modules/rmdir: Likewise.
39897         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
39898         * modules/modechange: Likewise.
39899         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
39900         (configure.ac): Remove gl_STAT_MACROS.
39901         * modules/sys_stat (Depends-on): Remove stat-macros.
39902
39903 2006-10-27  Bruno Haible  <bruno@clisp.org>
39904
39905         * m4/signed.m4: Remove file.
39906         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
39907         invocation.
39908         * modules/vasnprintf (Files): Remove m4/signed.m4.
39909
39910 2006-10-27  Bruno Haible  <bruno@clisp.org>
39911
39912         Update to GNU gettext 0.16.
39913         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
39914         m4/inttypes-h.m4, m4/signed.m4.
39915         * m4/gettext.m4: Update to GNU gettext 0.16.
39916         * m4/intl.m4: New file, from GNU gettext.
39917         * m4/intldir.m4: New file, from GNU gettext.
39918         * config/srclist.txt: Update
39919
39920 2006-10-27  Eric Blake  <ebb9@byu.net>
39921
39922         * MODULES.html.sh: Document tempname.
39923         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
39924         dependencies.
39925         (Files): Move lib/tempname.c...
39926         * modules/tempname: ...to this new module.
39927         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
39928         (gl_PREREQ_TEMPNAME): Move...
39929         * m4/tempname.m4: ...to this new file.
39930         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
39931         * modules/sys_stat (Depends-on): Add stat-macros.
39932         * lib/stat_.h (includes): Pick up stat macros.
39933         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
39934         if stat macros are broken.
39935         * lib/tempname.c (includes): No need to include "stat-macros.h".
39936         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
39937         (direxists, __path_search) [!_LIBC]: Don't compile these in
39938         gnulib; the tmpdir module covers that.
39939         * lib/tempname.h: New file.
39940
39941 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
39942
39943         * COPYING: Explain how gnulib-tool converts licence headers.
39944         Almost all wording by Eric Blake.
39945
39946 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39947
39948         * lib/mbchar.h (is_basic_table): Make read-only.
39949         * lib/mbchar.c (is_basic_table): Likewise.
39950         Reported by John Darrington.
39951
39952 2006-10-25  Bruno Haible  <bruno@clisp.org>
39953
39954         * lib/progname.h (set_program_name): Undefine before defining.
39955
39956 2006-10-25  Bruno Haible  <bruno@clisp.org>
39957
39958         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
39959         false for non-gcc C++ compilers.
39960         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39961
39962 2006-10-24  Bruno Haible  <bruno@clisp.org>
39963
39964         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
39965         iconv implementations like Irix iconv.
39966
39967 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39968
39969         * modules/vararrays: New file.
39970         * m4/vararrays.m4: New file, taken from diffutils.
39971         * MODULES.html.sh: New module vararrays.
39972
39973 2006-10-24  Karl Berry  <karl@gnu.org>
39974
39975         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
39976         Don't call GNU Unix.
39977
39978 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39979
39980         * users.txt: Add Libtool.
39981
39982         Sync from Libtool:
39983
39984         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39985
39986         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
39987         to gnulib's policy of including config.h unconditionally.
39988
39989 2006-10-24  Bruno Haible  <bruno@clisp.org>
39990
39991         * modules/wcwidth (Files): Add m4/wint_t.m4.
39992         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
39993         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
39994
39995 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39996
39997         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
39998         to pacify GCC with some -W flags enabled.  Problem reported by
39999         Bruno Haible.
40000
40001 2006-10-24  Jim Meyering  <jim@meyering.net>
40002
40003         * MODULES.html.sh: Remove uinttostr.  It's not a module.
40004         Reported by Karl Berry.
40005
40006 2006-10-23  Bruno Haible  <bruno@clisp.org>
40007
40008         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
40009
40010 2006-10-24  Bruno Haible  <bruno@clisp.org>
40011
40012         * lib/gl_list.h: Use C comment style, not C++ comment style.
40013
40014 2006-10-23  Eric Blake  <ebb9@byu.net>
40015
40016         * lib/getaddrinfo.c (includes): Add missing include.
40017
40018 2006-10-23  Bruno Haible  <bruno@clisp.org>
40019             Paul Eggert  <eggert@cs.ucla.edu>
40020
40021         Ability to rename obstack_free.
40022         * lib/obstack.h (__obstack_free): New macro. Declare instead of
40023         obstack_free.
40024         (obstack_free): Invoke the __obstack_free macro.
40025         * lib/obstack.c (obstack_free): Use __obstack_free macro.
40026
40027 2006-10-23  Bruno Haible  <bruno@clisp.org>
40028             Paul Eggert  <eggert@cs.ucla.edu>
40029
40030         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
40031         __argc, __argv from the declaration. (They are defined as macros on
40032         mingw.)
40033
40034 2006-10-22  Bruno Haible  <bruno@clisp.org>
40035
40036         * doc/gnulib-intro.texi: New file.
40037         * doc/gnulib.texi: Include it.
40038
40039 2006-10-21  Bruno Haible  <bruno@clisp.org>
40040
40041         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
40042         "Introduction", "Miscellanous Notes", "Particular Modules".
40043
40044 2006-10-21  Bruno Haible  <bruno@clisp.org>
40045
40046         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40047         Change mostlyclean-local rule to avoid sh syntax error from bash
40048         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
40049
40050 2006-10-23  Jim Meyering  <jim@meyering.net>
40051
40052         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
40053         in place of snprintf.
40054
40055         * modules/inttostr (Files): Add lib/uinttostr.c.
40056         * lib/uinttostr.c (inttostr): New file/function.
40057         * lib/inttostr.h (uinttostr): Declare.
40058         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
40059         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
40060         Add uinttostr.
40061         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
40062
40063 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
40064
40065         * lib/canonicalize.c (ELOOP): Define if not already defined.
40066         Problem reported by Bruno Haible in
40067         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
40068
40069 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
40070
40071         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
40072         Problem reported by Perry Smith and Ville Laurikari.
40073
40074         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
40075         uses.
40076
40077 2006-10-19  Bruno Haible  <bruno@clisp.org>
40078
40079         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
40080         for mingw.
40081
40082 2006-10-19  Bruno Haible  <bruno@clisp.org>
40083
40084         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
40085         Needed for mingw.
40086
40087 2006-10-19  Bruno Haible  <bruno@clisp.org>
40088
40089         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
40090
40091 2006-10-19  Bruno Haible  <bruno@clisp.org>
40092
40093         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
40094         it.
40095
40096 2006-10-19  Bruno Haible  <bruno@clisp.org>
40097
40098         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
40099         invocation.
40100
40101 2006-10-19  Bruno Haible  <bruno@clisp.org>
40102
40103         * gnulib-tool (func_create_testdir): Don't include ftruncate and
40104         mountlist by default.
40105
40106 2006-10-16  Bruno Haible  <bruno@clisp.org>
40107
40108         * lib/c-strstr.c: Include c-strstr.h.
40109
40110 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
40111
40112         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
40113         in a slash.
40114
40115 2006-10-18  Bruno Haible  <bruno@clisp.org>
40116
40117         * lib/lock.h [C++]: Wrap definitions in extern "C".
40118
40119 2006-10-18  Bruno Haible  <bruno@clisp.org>
40120
40121         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
40122         gl_LIBOBJS list.
40123
40124 2006-10-18  Bruno Haible  <bruno@clisp.org>
40125
40126         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
40127
40128 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
40129
40130         * lib/xstrtol.h: Include gettext.h.
40131         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
40132         Problem reported by Eric Blake.
40133         * modules/xstrtol (Depends-on): Add gettext-h.
40134
40135 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
40136
40137         * lib/strftime.c (advance): New macro.
40138         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
40139         incomplete type, so you can't add 0 to it.  Problem and patch
40140         reported by Eelco Dolstra for dietlibc.
40141
40142 2006-10-18  Jim Meyering  <jim@meyering.net>
40143
40144         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
40145         type for a local, and rename it: s/up/user_proc/.
40146
40147 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
40148
40149         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
40150         READ_UTMP_USER_PROCESS.
40151         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
40152
40153 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
40154
40155         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
40156         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
40157
40158 2006-10-17  Eric Blake  <ebb9@byu.net>
40159
40160         * lib/sigprocmask.c (sigprocmask): Fix typo.
40161
40162         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
40163
40164         * modules/clean-temp (Makefile.am): Don't add to make output...
40165         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
40166         config.h.
40167
40168 2006-10-17  Bruno Haible  <bruno@clisp.org>
40169
40170         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
40171         differently if DEFAULT_TEXT_DOMAIN is set.
40172
40173 2006-10-16  Bruno Haible  <bruno@clisp.org>
40174
40175         * lib/clean-temp.c: Include fwriteerror.h.
40176
40177 2006-10-16  Bruno Haible  <bruno@clisp.org>
40178
40179         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
40180
40181 2006-10-16  Bruno Haible  <bruno@clisp.org>
40182
40183         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
40184         * lib/sigprocmask.h: Include <sys/types.h>.
40185         (sigset_t): Use the system's definition if present.
40186
40187 2006-10-17  Eric Blake  <ebb9@byu.net>
40188
40189         * lib/xvasprintf.c (includes): Assume config.h.
40190         * lib/xasprintf.c (includes): Likewise.
40191
40192 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
40193
40194         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
40195         at least as wide as intmax_t.
40196
40197 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
40198
40199         (Imported from Automake.)
40200         * build-aux/gnupload: Update to version 1.1 of directive file.
40201
40202 2006-10-16  Eric Blake  <ebb9@byu.net>
40203
40204         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
40205         match Automake 1.10a.
40206
40207 2006-10-14  Bruno Haible  <bruno@clisp.org>
40208
40209         * modules/sigprocmask: New file.
40210         * lib/sigprocmask.h: New file.
40211         * lib/sigprocmask.c: New file.
40212         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
40213         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
40214         request sigprocmask.o.
40215         (gl_PREREQ_SIGPROCMASK): New macro.
40216         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
40217         (Depends-on): Add sigprocmask.
40218         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
40219         gt_SIGNALBLOCKING. Test for 'raise' only once.
40220         * lib/fatal-signal.c: Include sigprocmask.h.
40221         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
40222         unblock_fatal_signals): Define always.
40223         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40224         sigprocmask.
40225
40226 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
40227
40228         Sync from Automake.
40229         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
40230         which incorrectly sets the mode of an existing destination
40231         directory.  In some cases the unpatched install-sh could do the
40232         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
40233         system.  We hope this is rare in practice, but it's clearly worth
40234         fixing.  Problem reported by Alex Unleashed in
40235         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
40236         Also, don't bother to check for -m bugs unless we're using -m;
40237         suggested by Stepan Kasal.
40238
40239 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40240
40241         Sync from Automake.
40242         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
40243         `-c' flag, so they appear at the same position as in %FASTDEP%
40244         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
40245         which ignores unknown options only after the first non-option.
40246         Bug report against M4 by Nelson H. F. Beebe.
40247
40248 2006-10-13  Jim Meyering  <jim@meyering.net>
40249
40250         Fix a bug in yesterday's change.
40251         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
40252         p->fts_statp->st_dev would be used uninitialized.
40253         Ensures that we always call fts_stat on the very first entry.
40254         Miklos Szeredi reported that find -xdev stopped working.
40255
40256 2006-10-12  Bruno Haible  <bruno@clisp.org>
40257
40258         * gnulib-tool (func_get_automake_snippet): Append an automatically
40259         computed EXTRA_DIST augmentation.
40260         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
40261         * modules/alloca-opt (Makefile.am): Likewise.
40262         * modules/allocsa (Makefile.am): Likewise.
40263         * modules/arcfour (Makefile.am): Likewise.
40264         * modules/arctwo (Makefile.am): Likewise.
40265         * modules/argmatch (Makefile.am): Likewise.
40266         * modules/argz (Makefile.am): Likewise.
40267         * modules/atexit (Makefile.am): Likewise.
40268         * modules/backupfile (Makefile.am): Likewise.
40269         * modules/byteswap (Makefile.am): Likewise.
40270         * modules/c-strtod (Makefile.am): Likewise.
40271         * modules/c-strtold (Makefile.am): Likewise.
40272         * modules/calloc (Makefile.am): Likewise.
40273         * modules/canon-host (Makefile.am): Likewise.
40274         * modules/canonicalize (Makefile.am): Likewise.
40275         * modules/chdir-long (Makefile.am): Likewise.
40276         * modules/chdir-safer (Makefile.am): Likewise.
40277         * modules/check-version (Makefile.am): Likewise.
40278         * modules/chown (Makefile.am): Likewise.
40279         * modules/cloexec (Makefile.am): Likewise.
40280         * modules/close-stream (Makefile.am): Likewise.
40281         * modules/closeout (Makefile.am): Likewise.
40282         * modules/crc (Makefile.am): Likewise.
40283         * modules/csharpexec (Makefile.am): Likewise.
40284         * modules/cycle-check (Makefile.am): Likewise.
40285         * modules/des (Makefile.am): Likewise.
40286         * modules/dev-ino (Makefile.am): Likewise.
40287         * modules/dirfd (Makefile.am): Likewise.
40288         * modules/dirname (Makefile.am): Likewise.
40289         * modules/dup2 (Makefile.am): Likewise.
40290         * modules/eealloc (Makefile.am): Likewise.
40291         * modules/error (Makefile.am): Likewise.
40292         * modules/euidaccess (Makefile.am): Likewise.
40293         * modules/exclude (Makefile.am): Likewise.
40294         * modules/exitfail (Makefile.am): Likewise.
40295         * modules/fcntl-safer (Makefile.am): Likewise.
40296         * modules/fcntl (Makefile.am): Likewise.
40297         * modules/file-type (Makefile.am): Likewise.
40298         * modules/fileblocks (Makefile.am): Likewise.
40299         * modules/filemode (Makefile.am): Likewise.
40300         * modules/filenamecat (Makefile.am): Likewise.
40301         * modules/fnmatch (Makefile.am): Likewise.
40302         * modules/fopen-safer (Makefile.am): Likewise.
40303         * modules/fpending (Makefile.am): Likewise.
40304         * modules/fprintftime (Makefile.am): Likewise.
40305         * modules/free (Makefile.am): Likewise.
40306         * modules/fsusage (Makefile.am): Likewise.
40307         * modules/ftruncate (Makefile.am): Likewise.
40308         * modules/fts (Makefile.am): Likewise.
40309         * modules/gc-arcfour (Makefile.am): Likewise.
40310         * modules/gc-des (Makefile.am): Likewise.
40311         * modules/gc-hmac-md5 (Makefile.am): Likewise.
40312         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
40313         * modules/gc-md4 (Makefile.am): Likewise.
40314         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
40315         * modules/gc-sha1 (Makefile.am): Likewise.
40316         * modules/gc (Makefile.am): Likewise.
40317         * modules/getaddrinfo (Makefile.am): Likewise.
40318         * modules/getcwd (Makefile.am): Likewise.
40319         * modules/getdelim (Makefile.am): Likewise.
40320         * modules/getdomainname (Makefile.am): Likewise.
40321         * modules/getgroups (Makefile.am): Likewise.
40322         * modules/gethostname (Makefile.am): Likewise.
40323         * modules/gethrxtime (Makefile.am): Likewise.
40324         * modules/getline (Makefile.am): Likewise.
40325         * modules/getloadavg (Makefile.am): Likewise.
40326         * modules/getlogin_r (Makefile.am): Likewise.
40327         * modules/getndelim2 (Makefile.am): Likewise.
40328         * modules/getopt (Makefile.am): Likewise.
40329         * modules/getpagesize (Makefile.am): Likewise.
40330         * modules/getpass-gnu (Makefile.am): Likewise.
40331         * modules/getpass (Makefile.am): Likewise.
40332         * modules/getsubopt (Makefile.am): Likewise.
40333         * modules/gettime (Makefile.am): Likewise.
40334         * modules/gettimeofday (Makefile.am): Likewise.
40335         * modules/getugroups (Makefile.am): Likewise.
40336         * modules/getusershell (Makefile.am): Likewise.
40337         * modules/glob (Makefile.am): Likewise.
40338         * modules/group-member (Makefile.am): Likewise.
40339         * modules/hard-locale (Makefile.am): Likewise.
40340         * modules/hash (Makefile.am): Likewise.
40341         * modules/hmac-md5 (Makefile.am): Likewise.
40342         * modules/hmac-sha1 (Makefile.am): Likewise.
40343         * modules/human (Makefile.am): Likewise.
40344         * modules/idcache (Makefile.am): Likewise.
40345         * modules/imaxabs (Makefile.am): Likewise.
40346         * modules/imaxdiv (Makefile.am): Likewise.
40347         * modules/inet_ntop (Makefile.am): Likewise.
40348         * modules/inet_pton (Makefile.am): Likewise.
40349         * modules/intprops (Makefile.am): Likewise.
40350         * modules/inttostr (Makefile.am): Likewise.
40351         * modules/inttypes (Makefile.am): Likewise.
40352         * modules/isapipe (Makefile.am): Likewise.
40353         * modules/javaversion (Makefile.am): Likewise.
40354         * modules/lchmod (Makefile.am): Likewise.
40355         * modules/lchown (Makefile.am): Likewise.
40356         * modules/localcharset (Makefile.am): Likewise.
40357         * modules/long-options (Makefile.am): Likewise.
40358         * modules/lstat (Makefile.am): Likewise.
40359         * modules/malloc (Makefile.am): Likewise.
40360         * modules/mathl (Makefile.am): Likewise.
40361         * modules/mbchar (Makefile.am): Likewise.
40362         * modules/md2 (Makefile.am): Likewise.
40363         * modules/md4 (Makefile.am): Likewise.
40364         * modules/md5 (Makefile.am): Likewise.
40365         * modules/memcasecmp (Makefile.am): Likewise.
40366         * modules/memchr (Makefile.am): Likewise.
40367         * modules/memcmp (Makefile.am): Likewise.
40368         * modules/memcoll (Makefile.am): Likewise.
40369         * modules/memcpy (Makefile.am): Likewise.
40370         * modules/memmem (Makefile.am): Likewise.
40371         * modules/memmove (Makefile.am): Likewise.
40372         * modules/mempcpy (Makefile.am): Likewise.
40373         * modules/memrchr (Makefile.am): Likewise.
40374         * modules/memset (Makefile.am): Likewise.
40375         * modules/memxor (Makefile.am): Likewise.
40376         * modules/mkancesdirs (Makefile.am): Likewise.
40377         * modules/mkdir-p (Makefile.am): Likewise.
40378         * modules/mkdir (Makefile.am): Likewise.
40379         * modules/mkdtemp (Makefile.am): Likewise.
40380         * modules/mkstemp (Makefile.am): Likewise.
40381         * modules/mktime (Makefile.am): Likewise.
40382         * modules/modechange (Makefile.am): Likewise.
40383         * modules/mountlist (Makefile.am): Likewise.
40384         * modules/nanosleep (Makefile.am): Likewise.
40385         * modules/obstack (Makefile.am): Likewise.
40386         * modules/openat (Makefile.am): Likewise.
40387         * modules/pagealign_alloc (Makefile.am): Likewise.
40388         * modules/pathmax (Makefile.am): Likewise.
40389         * modules/physmem (Makefile.am): Likewise.
40390         * modules/poll (Makefile.am): Likewise.
40391         * modules/posixtm (Makefile.am): Likewise.
40392         * modules/posixver (Makefile.am): Likewise.
40393         * modules/putenv (Makefile.am): Likewise.
40394         * modules/quote (Makefile.am): Likewise.
40395         * modules/quotearg (Makefile.am): Likewise.
40396         * modules/raise (Makefile.am): Likewise.
40397         * modules/read-file (Makefile.am): Likewise.
40398         * modules/readline (Makefile.am): Likewise.
40399         * modules/readlink (Makefile.am): Likewise.
40400         * modules/readtokens (Makefile.am): Likewise.
40401         * modules/readutmp (Makefile.am): Likewise.
40402         * modules/realloc (Makefile.am): Likewise.
40403         * modules/regex (Makefile.am): Likewise.
40404         * modules/rename-dest-slash (Makefile.am): Likewise.
40405         * modules/rename (Makefile.am): Likewise.
40406         * modules/rijndael (Makefile.am): Likewise.
40407         * modules/rmdir (Makefile.am): Likewise.
40408         * modules/rpmatch (Makefile.am): Likewise.
40409         * modules/safe-read (Makefile.am): Likewise.
40410         * modules/safe-write (Makefile.am): Likewise.
40411         * modules/same-inode (Makefile.am): Likewise.
40412         * modules/same (Makefile.am): Likewise.
40413         * modules/save-cwd (Makefile.am): Likewise.
40414         * modules/savedir (Makefile.am): Likewise.
40415         * modules/setenv (Makefile.am): Likewise.
40416         * modules/settime (Makefile.am): Likewise.
40417         * modules/sha1 (Makefile.am): Likewise.
40418         * modules/sig2str (Makefile.am): Likewise.
40419         * modules/snprintf (Makefile.am): Likewise.
40420         * modules/stat-macros (Makefile.am): Likewise.
40421         * modules/stat-time (Makefile.am): Likewise.
40422         * modules/stdbool (Makefile.am): Likewise.
40423         * modules/stdint (Makefile.am): Likewise.
40424         * modules/stdlib-safer (Makefile.am): Likewise.
40425         * modules/stpcpy (Makefile.am): Likewise.
40426         * modules/stpncpy (Makefile.am): Likewise.
40427         * modules/strcase (Makefile.am): Likewise.
40428         * modules/strcasestr (Makefile.am): Likewise.
40429         * modules/strchrnul (Makefile.am): Likewise.
40430         * modules/strcspn (Makefile.am): Likewise.
40431         * modules/strdup (Makefile.am): Likewise.
40432         * modules/strerror (Makefile.am): Likewise.
40433         * modules/strftime (Makefile.am): Likewise.
40434         * modules/strndup (Makefile.am): Likewise.
40435         * modules/strnlen (Makefile.am): Likewise.
40436         * modules/strpbrk (Makefile.am): Likewise.
40437         * modules/strsep (Makefile.am): Likewise.
40438         * modules/strstr (Makefile.am): Likewise.
40439         * modules/strtod (Makefile.am): Likewise.
40440         * modules/strtoimax (Makefile.am): Likewise.
40441         * modules/strtok_r (Makefile.am): Likewise.
40442         * modules/strtol (Makefile.am): Likewise.
40443         * modules/strtoll (Makefile.am): Likewise.
40444         * modules/strtoul (Makefile.am): Likewise.
40445         * modules/strtoull (Makefile.am): Likewise.
40446         * modules/strtoumax (Makefile.am): Likewise.
40447         * modules/strverscmp (Makefile.am): Likewise.
40448         * modules/sys_socket (Makefile.am): Likewise.
40449         * modules/sys_stat (Makefile.am): Likewise.
40450         * modules/sysexits (Makefile.am): Likewise.
40451         * modules/time_r (Makefile.am): Likewise.
40452         * modules/timegm (Makefile.am): Likewise.
40453         * modules/timespec (Makefile.am): Likewise.
40454         * modules/tmpfile-safer (Makefile.am): Likewise.
40455         * modules/trim (Makefile.am): Likewise.
40456         * modules/unistd-safer (Makefile.am): Likewise.
40457         * modules/unlinkdir (Makefile.am): Likewise.
40458         * modules/unlocked-io (Makefile.am): Likewise.
40459         * modules/userspec (Makefile.am): Likewise.
40460         * modules/utime (Makefile.am): Likewise.
40461         * modules/utimecmp (Makefile.am): Likewise.
40462         * modules/utimens (Makefile.am): Likewise.
40463         * modules/vasnprintf (Makefile.am): Likewise.
40464         * modules/vasprintf (Makefile.am): Likewise.
40465         * modules/vsnprintf (Makefile.am): Likewise.
40466         * modules/xalloc (Makefile.am): Likewise.
40467         * modules/xgetcwd (Makefile.am): Likewise.
40468         * modules/xnanosleep (Makefile.am): Likewise.
40469         * modules/xreadlink (Makefile.am): Likewise.
40470         * modules/xstrtod (Makefile.am): Likewise.
40471         * modules/xstrtol (Makefile.am): Likewise.
40472         * modules/xstrtold (Makefile.am): Likewise.
40473         * modules/yesno (Makefile.am): Likewise.
40474         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
40475
40476 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
40477
40478         * modules/error (Makefile.am): Distribute files through
40479         EXTRA_DIST, not lib_SOURCES.
40480
40481 2006-10-12  Eric Blake  <ebb9@byu.net>
40482
40483         * modules/error (Makefile.am): Distribute files in /lib.
40484         * modules/obstack (Makefile.am): Likewise.
40485
40486 2006-10-12  Bruno Haible  <bruno@clisp.org>
40487
40488         * modules/acl (Makefile.am): Distribute all files in lib/ through
40489         EXTRA_DIST.
40490         * modules/arcfour (Makefile.am): Likewise.
40491         * modules/arctwo (Makefile.am): Likewise.
40492         * modules/argmatch (Makefile.am): Likewise.
40493         * modules/argz (Makefile.am): Likewise.
40494         * modules/atexit (Makefile.am): Likewise.
40495         * modules/backupfile (Makefile.am): Likewise.
40496         * modules/c-strtod (Makefile.am): Likewise.
40497         * modules/c-strtold (Makefile.am): Likewise.
40498         * modules/calloc (Makefile.am): Likewise.
40499         * modules/canon-host (Makefile.am): Likewise.
40500         * modules/canonicalize (Makefile.am): Likewise.
40501         * modules/chdir-long (Makefile.am): Likewise.
40502         * modules/chdir-safer (Makefile.am): Likewise.
40503         * modules/check-version (Makefile.am): Likewise.
40504         * modules/chown (Makefile.am): Likewise.
40505         * modules/cloexec (Makefile.am): Likewise.
40506         * modules/close-stream (Makefile.am): Likewise.
40507         * modules/closeout (Makefile.am): Likewise.
40508         * modules/crc (Makefile.am): Likewise.
40509         * modules/cycle-check (Makefile.am): Likewise.
40510         * modules/des (Makefile.am): Likewise.
40511         * modules/dirfd (Makefile.am): Likewise.
40512         * modules/dirname (Makefile.am): Likewise.
40513         * modules/dup2 (Makefile.am): Likewise.
40514         * modules/euidaccess (Makefile.am): Likewise.
40515         * modules/exclude (Makefile.am): Likewise.
40516         * modules/exitfail (Makefile.am): Likewise.
40517         * modules/fcntl-safer (Makefile.am): Likewise.
40518         * modules/file-type (Makefile.am): Likewise.
40519         * modules/fileblocks (Makefile.am): Likewise.
40520         * modules/filemode (Makefile.am): Likewise.
40521         * modules/filenamecat (Makefile.am): Likewise.
40522         * modules/fnmatch (Makefile.am): Likewise.
40523         * modules/fopen-safer (Makefile.am): Likewise.
40524         * modules/fpending (Makefile.am): Likewise.
40525         * modules/fprintftime (Makefile.am): Likewise.
40526         * modules/free (Makefile.am): Likewise.
40527         * modules/fsusage (Makefile.am): Likewise.
40528         * modules/ftruncate (Makefile.am): Likewise.
40529         * modules/fts (Makefile.am): Likewise.
40530         * modules/gc (Makefile.am): Likewise.
40531         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
40532         * modules/getaddrinfo (Makefile.am): Likewise.
40533         * modules/getcwd (Makefile.am): Likewise.
40534         * modules/getdelim (Makefile.am): Likewise.
40535         * modules/getdomainname (Makefile.am): Likewise.
40536         * modules/getgroups (Makefile.am): Likewise.
40537         * modules/gethostname (Makefile.am): Likewise.
40538         * modules/gethrxtime (Makefile.am): Likewise.
40539         * modules/getline (Makefile.am): Likewise.
40540         * modules/getloadavg (Makefile.am): Likewise.
40541         * modules/getlogin_r (Makefile.am): Likewise.
40542         * modules/getopt (Makefile.am): Likewise.
40543         * modules/getpass (Makefile.am): Likewise.
40544         * modules/getpass-gnu (Makefile.am): Likewise.
40545         * modules/getsubopt (Makefile.am): Likewise.
40546         * modules/gettime (Makefile.am): Likewise.
40547         * modules/gettimeofday (Makefile.am): Likewise.
40548         * modules/getugroups (Makefile.am): Likewise.
40549         * modules/getusershell (Makefile.am): Likewise.
40550         * modules/glob (Makefile.am): Likewise.
40551         * modules/group-member (Makefile.am): Likewise.
40552         * modules/hard-locale (Makefile.am): Likewise.
40553         * modules/hash (Makefile.am): Likewise.
40554         * modules/hmac-md5 (Makefile.am): Likewise.
40555         * modules/hmac-sha1 (Makefile.am): Likewise.
40556         * modules/human (Makefile.am): Likewise.
40557         * modules/idcache (Makefile.am): Likewise.
40558         * modules/imaxabs (Makefile.am): Likewise.
40559         * modules/imaxdiv (Makefile.am): Likewise.
40560         * modules/inet_ntop (Makefile.am): Likewise.
40561         * modules/inet_pton (Makefile.am): Likewise.
40562         * modules/inttostr (Makefile.am): Likewise.
40563         * modules/isapipe (Makefile.am): Likewise.
40564         * modules/lchown (Makefile.am): Likewise.
40565         * modules/long-options (Makefile.am): Likewise.
40566         * modules/lstat (Makefile.am): Likewise.
40567         * modules/malloc (Makefile.am): Likewise.
40568         * modules/mathl (Makefile.am): Likewise.
40569         * modules/mbchar (Makefile.am): Likewise.
40570         * modules/md2 (Makefile.am): Likewise.
40571         * modules/md4 (Makefile.am): Likewise.
40572         * modules/md5 (Makefile.am): Likewise.
40573         * modules/memcasecmp (Makefile.am): Likewise.
40574         * modules/memchr (Makefile.am): Likewise.
40575         * modules/memcmp (Makefile.am): Likewise.
40576         * modules/memcoll (Makefile.am): Likewise.
40577         * modules/memcpy (Makefile.am): Likewise.
40578         * modules/memmem (Makefile.am): Likewise.
40579         * modules/memmove (Makefile.am): Likewise.
40580         * modules/mempcpy (Makefile.am): Likewise.
40581         * modules/memrchr (Makefile.am): Likewise.
40582         * modules/memset (Makefile.am): Likewise.
40583         * modules/memxor (Makefile.am): Likewise.
40584         * modules/mkancesdirs (Makefile.am): Likewise.
40585         * modules/mkdir (Makefile.am): Likewise.
40586         * modules/mkdir-p (Makefile.am): Likewise.
40587         * modules/mkdtemp (Makefile.am): Likewise.
40588         * modules/mkstemp (Makefile.am): Likewise.
40589         * modules/mktime (Makefile.am): Likewise.
40590         * modules/modechange (Makefile.am): Likewise.
40591         * modules/mountlist (Makefile.am): Likewise.
40592         * modules/nanosleep (Makefile.am): Likewise.
40593         * modules/openat (Makefile.am): Likewise.
40594         * modules/pagealign_alloc (Makefile.am): Likewise.
40595         * modules/physmem (Makefile.am): Likewise.
40596         * modules/poll (Makefile.am): Likewise.
40597         * modules/posixtm (Makefile.am): Likewise.
40598         * modules/posixver (Makefile.am): Likewise.
40599         * modules/putenv (Makefile.am): Likewise.
40600         * modules/quote (Makefile.am): Likewise.
40601         * modules/quotearg (Makefile.am): Likewise.
40602         * modules/raise (Makefile.am): Likewise.
40603         * modules/read-file (Makefile.am): Likewise.
40604         * modules/readline (Makefile.am): Likewise.
40605         * modules/readlink (Makefile.am): Likewise.
40606         * modules/readtokens (Makefile.am): Likewise.
40607         * modules/readutmp (Makefile.am): Likewise.
40608         * modules/realloc (Makefile.am): Likewise.
40609         * modules/regex (Makefile.am): Likewise.
40610         * modules/rename (Makefile.am): Likewise.
40611         * modules/rename-dest-slash (Makefile.am): Likewise.
40612         * modules/rijndael (Makefile.am): Likewise.
40613         * modules/rmdir (Makefile.am): Likewise.
40614         * modules/rpmatch (Makefile.am): Likewise.
40615         * modules/safe-read (Makefile.am): Likewise.
40616         * modules/safe-write (Makefile.am): Likewise.
40617         * modules/same (Makefile.am): Likewise.
40618         * modules/save-cwd (Makefile.am): Likewise.
40619         * modules/savedir (Makefile.am): Likewise.
40620         * modules/setenv (Makefile.am): Likewise.
40621         * modules/settime (Makefile.am): Likewise.
40622         * modules/sha1 (Makefile.am): Likewise.
40623         * modules/sig2str (Makefile.am): Likewise.
40624         * modules/snprintf (Makefile.am): Likewise.
40625         * modules/stdlib-safer (Makefile.am): Likewise.
40626         * modules/stpcpy (Makefile.am): Likewise.
40627         * modules/stpncpy (Makefile.am): Likewise.
40628         * modules/strcase (Makefile.am): Likewise.
40629         * modules/strcasestr (Makefile.am): Likewise.
40630         * modules/strchrnul (Makefile.am): Likewise.
40631         * modules/strcspn (Makefile.am): Likewise.
40632         * modules/strdup (Makefile.am): Likewise.
40633         * modules/strerror (Makefile.am): Likewise.
40634         * modules/strftime (Makefile.am): Likewise.
40635         * modules/strndup (Makefile.am): Likewise.
40636         * modules/strnlen (Makefile.am): Likewise.
40637         * modules/strpbrk (Makefile.am): Likewise.
40638         * modules/strsep (Makefile.am): Likewise.
40639         * modules/strstr (Makefile.am): Likewise.
40640         * modules/strtod (Makefile.am): Likewise.
40641         * modules/strtoimax (Makefile.am): Likewise.
40642         * modules/strtok_r (Makefile.am): Likewise.
40643         * modules/strtol (Makefile.am): Likewise.
40644         * modules/strtoll (Makefile.am): Likewise.
40645         * modules/strtoul (Makefile.am): Likewise.
40646         * modules/strtoull (Makefile.am): Likewise.
40647         * modules/strtoumax (Makefile.am): Likewise.
40648         * modules/strverscmp (Makefile.am): Likewise.
40649         * modules/time_r (Makefile.am): Likewise.
40650         * modules/timegm (Makefile.am): Likewise.
40651         * modules/tmpfile-safer (Makefile.am): Likewise.
40652         * modules/unistd-safer (Makefile.am): Likewise.
40653         * modules/unlinkdir (Makefile.am): Likewise.
40654         * modules/userspec (Makefile.am): Likewise.
40655         * modules/utime (Makefile.am): Likewise.
40656         * modules/utimecmp (Makefile.am): Likewise.
40657         * modules/utimens (Makefile.am): Likewise.
40658         * modules/vasnprintf (Makefile.am): Likewise.
40659         * modules/vasprintf (Makefile.am): Likewise.
40660         * modules/vsnprintf (Makefile.am): Likewise.
40661         * modules/xalloc (Makefile.am): Likewise.
40662         * modules/xgetcwd (Makefile.am): Likewise.
40663         * modules/xnanosleep (Makefile.am): Likewise.
40664         * modules/xreadlink (Makefile.am): Likewise.
40665         * modules/xstrtod (Makefile.am): Likewise.
40666         * modules/xstrtol (Makefile.am): Likewise.
40667         * modules/xstrtold (Makefile.am): Likewise.
40668         * modules/yesno (Makefile.am): Likewise.
40669
40670 2006-10-12  Jim Meyering  <jim@meyering.net>
40671
40672         * m4/getloadavg.m4: Revert the change below.
40673
40674         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
40675         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
40676         fail with a symlink, which is what coreutils' ./bootstrap now
40677         creates by default.
40678
40679 2006-10-12  Bruno Haible  <bruno@clisp.org>
40680
40681         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
40682         mingw.
40683         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
40684         MSVC and mingw explicitly.
40685
40686 2006-10-11  Simon Josefsson  <jas@extundo.com>
40687             Bruno Haible  <bruno@clisp.org>
40688
40689         Add support for multiple gnulib-tool invocations in the scope of a
40690         single configure.ac file.
40691         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
40692         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
40693         with the same contents as the _LIBADD variable.
40694         (func_emit_initmacro_start, func_emit_initmacro_end,
40695         func_emit_initmacro_done): New functions.
40696         (func_import, func_create_testdir): Invoke them. Allow the identifiers
40697         gl_LIBOBJS and gl_LTLIBOBJS.
40698
40699 2006-10-11  Bruno Haible  <bruno@clisp.org>
40700
40701         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
40702         (func_create_testdir): Don't create po/Makefile.am, don't invoke
40703         autoreconf. Instead, invoke autopoint explicitly but move back the
40704         *.m4 files from gnulib.
40705
40706 2006-10-11  Bruno Haible  <bruno@clisp.org>
40707
40708         * gnulib-tool (func_usage): Make module names after --create-testdir
40709         optional.
40710         (func_create_testdir): If no module was specified, use nearly all
40711         modules.
40712
40713 2006-10-12  Jim Meyering  <jim@meyering.net>
40714
40715         Big performance improvement for fts-based tools that use FTS_NOSTAT.
40716         Avoid spurious inode-mismatch problems on non-POSIX file systems.
40717         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
40718         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
40719         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
40720         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
40721         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
40722         (fts_set_stat_required): New function.
40723         (fts_open): Defer the calls to fts_stat, if possible or requested.
40724         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
40725         into fts_stat itself.
40726         (fts_read): Perform any required (deferred) fts_stat call.
40727         (fts_build): Likewise, for the directory we're about to open and read.
40728         In the readdir loop, carefully decide whether each entry will require
40729         an eventual call to fts_stat, using dirent.d_type info if available.
40730         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
40731         a command line argument into this function.  Update all callers.
40732         Map a return value of FTS_DOT to FTS_D for a command line argument.
40733         * modules/fts (Depends-on): Add d-type.  Alphabetize.
40734         Thanks to Miklos Szeredi for his tenacity and for the initial
40735         bug report about "find" failing on a FUSE-based file system.
40736
40737         * lib/fts.c (fts_open): Use consistent indentation.
40738
40739 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
40740
40741         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
40742         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
40743         reported by Jim Meyering.  All uses of cache variables renamed
40744         to match Autoconf's.
40745         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
40746         the other one.
40747
40748         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
40749         Fix misspelling in diagnostic.
40750
40751 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
40752
40753         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
40754         defined.  Problem reported by Matthew Woehlke.
40755
40756         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
40757         Add support for Tandem NonStop R series.
40758         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
40759         Use new macro.
40760
40761         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
40762         (has_trailing_slash): Omit size arg; all callers changed.
40763         Omit 'inline', since it doesn't help performance and we'd
40764         need to configure it.
40765         Don't count //, ///, etc. as having a trailing slash.
40766         As a side effect, this removes a C99ism reported by Matthew Woehlke.
40767         (rpl_rename_dest_slash): On failure, use rename's errno rather
40768         than (in some cases) an incorrect or junk errno.
40769         Simplify code by removing need to compute length; this does
40770         cause it to make two passes instead of one over the file name,
40771         but it's worth it.
40772
40773         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
40774         change, since Autoconf's version may no longer be appropriate now
40775         that we are using CVS Autoconf's version.  Add support for Tandem.
40776
40777 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
40778             Bruno Haible  <bruno@clisp.org>
40779
40780         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
40781         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
40782         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
40783         gl_AC_TYPE_LONG_LONG.
40784
40785         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
40786         instead of HAVE_LONG_LONG.
40787         * lib/printf-args.c (printf_fetchargs): Likewise.
40788         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
40789         * lib/vasnprintf.c (VASNPRINTF): Likewise.
40790         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
40791         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
40792         gl_AC_TYPE_LONG_LONG.
40793
40794 2006-10-11  Bruno Haible  <bruno@clisp.org>
40795
40796         * m4/longlong.m4: Add comments.
40797         * m4/ulonglong.m4: Likewise.
40798
40799 2006-10-10  Bruno Haible  <bruno@clisp.org>
40800
40801         Make it possible to #define stpcpy, strdup to aliases.
40802         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
40803         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
40804
40805 2006-10-10  Bruno Haible  <bruno@clisp.org>
40806
40807         Make it possible to #define gcd to an alias.
40808         * lib/gcd.c: Include config.h.
40809
40810 2006-10-10  Bruno Haible  <bruno@clisp.org>
40811
40812         Make it possible to #define c_isascii to an alias.
40813         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
40814         defined. Undefine the macros before defining them, to avoid gcc
40815         warnings.
40816         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
40817         define NO_C_CTYPE_MACROS early.
40818
40819 2006-10-10  Bruno Haible  <bruno@clisp.org>
40820
40821         Make it possible to #define set_program_name to an alias.
40822         * lib/progname.c: Don't undefine set_program_name; instead, undefine
40823         ENABLE_RELOCATABLE early.
40824
40825 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40826
40827         Port to Tandem NSK OSS, which has 64-bit signed int but at most
40828         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
40829         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
40830         More generally, don't assume that 64-bit signed int is available
40831         if unsigned int is, and vice versa.
40832         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
40833         unsigned symbols, not on their signed counterparts.
40834         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
40835         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
40836         (UINT64_C, UINTMAX_C):
40837         Likewise.
40838         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
40839         unsigned counterparts.
40840         (Have_long_long, Unsigned): New macros.
40841         (Int): Renamed from INT.
40842         (strtoimax): Use the new macros.
40843         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
40844         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
40845         * modules/inttypes (inttypes.h): Substitute
40846         HAVE_UNSIGNED_LONG_LONG_INT.
40847         * modules/stdint (stdint.h): Likewise.
40848         (Files): Add m4/ulonglong.m4.
40849
40850 2006-10-10  Bruno Haible  <bruno@clisp.org>
40851
40852         Fix a gcc -Wshadow warning.
40853         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
40854         to 'bucket'.
40855         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
40856         gl_linked_indexof_from_to): Likewise.
40857         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
40858         Likewise.
40859         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
40860         Likewise.
40861         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
40862         Reported by Eric Blake.
40863
40864 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
40865
40866         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
40867         for NetBSD.  Problem reported by Bruno Haible.
40868
40869 2006-10-09  Jim Meyering  <jim@meyering.net>
40870
40871         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
40872         Patch from Bruno Haible.
40873
40874 2006-10-09  Jim Meyering  <jim@meyering.net>
40875
40876         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
40877         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
40878         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
40879
40880 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
40881
40882         Don't include <config.h> twice; this doesn't work in some cases,
40883         e.g., when config.h has "#define intmax_t long long int" and
40884         we include <config.h>, <inttypes.h>, <config.h> in that order.
40885         Problem reported by Matthew Woehlke in:
40886         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
40887         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
40888         * lib/fts-cycle.c: Don't include config.h.
40889         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
40890         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
40891         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
40892         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
40893         inttypes.h.
40894         * lib/xstrtoumax.c: Likewise.
40895         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
40896         __strtol and the like, so that this module is more like its siblings.
40897         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
40898         Remove; no longer needed now that we assume gnulib inttypes.h.
40899
40900 2006-10-08  Bruno Haible  <bruno@clisp.org>
40901
40902         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
40903         option.
40904
40905 2006-10-07  Jim Meyering  <jim@meyering.net>
40906
40907         * modules/inttypes (inttypes.h): Revert what seems to have been
40908         an inadvertent part of today's change: use "|", not "/" in the
40909         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
40910
40911 2006-10-07  Bruno Haible  <bruno@clisp.org>
40912
40913         * modules/sublist: New file.
40914
40915 2006-10-07  Bruno Haible  <bruno@clisp.org>
40916
40917         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
40918         * modules/argz (argz.h): Likewise.
40919         * modules/arpa_inet (arpa/inet.h): Likewise.
40920         * modules/byteswap (byteswap.h): Likewise.
40921         * modules/configmake (configmake.h): Likewise.
40922         * modules/fcntl (fcntl.h): Likewise.
40923         * modules/fnmatch (fnmatch.h): Likewise.
40924         * modules/getopt (getopt.h): Likewise.
40925         * modules/glob (glob.h): Likewise.
40926         * modules/inttypes (inttypes.h): Likewise.
40927         * modules/netinet_in (netinet/in.h): Likewise.
40928         * modules/poll (poll.h): Likewise.
40929         * modules/stdbool (stdbool.h): Likewise.
40930         * modules/stdint (stdint.h): Likewise.
40931         * modules/sys_select (sys/select.h): Likewise.
40932         * modules/sys_socket (sys/socket.h): Likewise.
40933         * modules/sys_stat (sys/stat.h): Likewise.
40934         * modules/sysexits (sysexits.h): Likewise.
40935         * modules/unistd (unistd.h): Likewise.
40936         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40937         Add a "DO NOT EDIT" comment to the generated file.
40938         (func_import): Likewise for gnulib-comp.m4.
40939
40940 2006-10-07  Bruno Haible  <bruno@clisp.org>
40941
40942         * lib/gl_sublist.h: New file.
40943         * lib/gl_sublist.c: New file.
40944
40945 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
40946
40947         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
40948         name (relative to the original working directory) and the file
40949         name component (relative to the temporary working directory).  All
40950         callers changed.
40951         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
40952         * lib/mkdir-p.c (make_dir_parents): Likewise.
40953         * lib/mkdir-p.h (make_dir_parents): Likewise.
40954
40955 2006-10-06  Eric Blake  <ebb9@byu.net>
40956
40957         Define several macros for use by the clean-temp module.
40958         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
40959         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
40960         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
40961
40962         * lib/clean-temp.h (close_stream_temp): New declaration.
40963         * lib/clean-temp.c (includes): Pull in headers according to what
40964         other modules are in use.
40965         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
40966
40967 2006-10-06  Bruno Haible  <bruno@clisp.org>
40968
40969         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
40970         instead of fopen, fwriteerror.
40971
40972 2006-10-06  Bruno Haible  <bruno@clisp.org>
40973
40974         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
40975         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
40976         int.
40977         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
40978         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
40979         Return an error indicator.
40980         Suggested by Eric Blake.
40981
40982 2006-10-06  Bruno Haible  <bruno@clisp.org>
40983
40984         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
40985         Reported by Eric Blake.
40986
40987 2006-10-06  Bruno Haible  <bruno@clisp.org>
40988
40989         * modules/closeout (Description): Mention stderr too.
40990
40991 2006-10-06  Bruno Haible  <bruno@clisp.org>
40992         and Paul Eggert  <eggert@cs.ucla.edu>
40993
40994         * lib/closeout.c (close_stdout): Also close stderr.
40995         * lib/closeout.h: Update comment.
40996
40997 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
40998
40999         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
41000         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
41001         * lib/dirchownmod.c: Include lchown.h.
41002         * lib/lchown.c: Don't include files that lchown.h now includes.
41003         Don't declare chown, since lchown.h now does that.
41004         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
41005         (lchown): Define to rpl_chown if lchown is declared but
41006         does not exist.  Declare using a prototype if lchown is not
41007         declared.  Add a copyright notice.
41008         * lib/mkstemp.h: Include <unistd.h>.
41009         * lib/openat.c: Include lchown.h.
41010
41011         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
41012         we now test for that separately.
41013         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
41014         rather than O_NOFOLLOW, when testing whether it's possible to
41015         avoid a race condition reliably.
41016         * lib/savewd.c (savewd_chdir): Likewise.
41017
41018         Remove macros that are no longer needed now that stdint.h is
41019         reliable.
41020         * lib/fsusage.c (UINTMAX_MAX): Remove.
41021         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
41022         * lib/utimecmp.c (SIZE_MAX): Remove.
41023
41024         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
41025
41026         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
41027         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
41028         O_NOATIME works.
41029
41030 2006-10-05  Bruno Haible  <bruno@clisp.org>
41031
41032         * lib/gl_list.h (gl_sortedlist_search_from_to,
41033         gl_sortedlist_indexof_from_to): New declarations.
41034         (gl_list_implementation): New fields sortedlist_search_from_to,
41035         sortedlist_indexof_from_to.
41036         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
41037         inline functions.
41038         * lib/gl_list.c (gl_sortedlist_search_from_to,
41039         gl_sortedlist_indexof_from_to): New functions.
41040         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
41041         function.
41042         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
41043         (gl_array_sortedlist_search_from_to): New function.
41044         (gl_array_list_implementation): Update.
41045         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
41046         function.
41047         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
41048         (gl_carray_sortedlist_search_from_to): New function.
41049         (gl_carray_list_implementation): Update.
41050         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
41051         gl_linked_sortedlist_indexof_from_to): New functions.
41052         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
41053         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
41054         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
41055         gl_tree_sortedlist_indexof_from_to): New functions.
41056         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
41057         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
41058         Update.
41059         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
41060         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
41061         Update.
41062
41063 2006-10-05  Bruno Haible  <bruno@clisp.org>
41064
41065         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
41066         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
41067         (struct gl_list_implementation): Add fields search_from_to,
41068         indexof_from_to. Remove fields search, indexof.
41069         (gl_list_search): Use the search_from_to method.
41070         (gl_list_search_from, gl_list_search_from_to): New functions.
41071         (gl_list_indexof): Use the indexof_from_to method.
41072         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
41073         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
41074         (gl_list_search_from, gl_list_search_from_to): New functions.
41075         (gl_list_indexof): Use the indexof_from_to method.
41076         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
41077         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
41078         gl_array_indexof. Add start_index, end_index arguments.
41079         (gl_array_search_from_to): Renamed from gl_array_search. Add
41080         start_index, end_index arguments.
41081         (gl_array_remove, gl_array_list_implementation): Update.
41082         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
41083         gl_carray_indexof. Add start_index, end_index arguments.
41084         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
41085         start_index, end_index arguments.
41086         (gl_carray_remove, gl_carray_list_implementation): Update.
41087         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
41088         gl_linked_search. Add start_index, end_index arguments.
41089         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
41090         start_index, end_index arguments.
41091         (gl_linked_remove): Update.
41092         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
41093         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
41094         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
41095         field to 'size_t'.
41096         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
41097         gl_tree_search. Add start_index, end_index arguments.
41098         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
41099         start_index, end_index arguments.
41100         (gl_tree_remove): Update.
41101         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
41102         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
41103         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
41104         function.
41105         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
41106         gl_tree_search. Add start_index, end_index arguments.
41107         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
41108         start_index, end_index arguments.
41109         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
41110         Update.
41111         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
41112
41113 2006-10-05  Bruno Haible  <bruno@clisp.org>
41114
41115         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
41116
41117         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
41118         fwriteerror_temp): New declarations.
41119         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
41120         (descriptors): New variable.
41121         (cleanup): First, close the descriptors.
41122         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
41123         fclose_temp, fwriteerror_temp): New functions.
41124
41125 2006-10-04  Jim Meyering  <jim@meyering.net>
41126
41127         * lib/fts.c (fts_open): Tiny comment change.
41128
41129 2006-10-04  Bruno Haible  <bruno@clisp.org>
41130
41131         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
41132         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
41133         gl_LOCK_BODY.
41134         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
41135         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
41136         gl_LOCK_EARLY_BODY.
41137         (gl_LOCK): Require gl_LOCK_BODY.
41138
41139 2006-10-04  Bruno Haible  <bruno@clisp.org>
41140
41141         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
41142         (gl_oset_search_atleast): New declaration.
41143         (struct gl_oset_implementation): Add field 'search_atleast'.
41144         (gl_oset_search_atleast): New inline function.
41145         * lib/gl_oset.c (gl_oset_search_atleast): New function.
41146         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
41147         (gl_array_oset_implementation): Update.
41148         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
41149         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
41150         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
41151
41152 2006-10-04  Bruno Haible  <bruno@clisp.org>
41153
41154         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
41155
41156 2006-10-03  Bruno Haible  <bruno@clisp.org>
41157
41158         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
41159         from gl_avltreehash_list_implementation.
41160
41161 2006-10-03  Bruno Haible  <bruno@clisp.org>
41162
41163         * lib/gl_oset.c (gl_oset_add): Fix return type.
41164
41165 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
41166
41167         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
41168
41169 2006-10-02  Eric Blake  <ebb9@byu.net>
41170
41171         * modules/strnlen (Depends-on): Add extensions.
41172
41173 2006-10-02  Eric Blake  <ebb9@byu.net>
41174
41175         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
41176         definition in 2.60+.
41177
41178 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
41179
41180         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
41181         checks.
41182
41183 2006-10-02  Bruno Haible  <bruno@clisp.org>
41184
41185         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
41186         to the AUTOMAKE_OPTIONS.
41187         Reported by Jim Meyering.
41188
41189 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
41190
41191         Work around bug in Solaris 10 /proc file system:
41192         /proc/self/fd/NNN/.. isn't the parent directory of
41193         the directory whose file descriptor is NNN.  This needs to
41194         be worked around at run time, not compile time, since a
41195         program might be built on Solaris 8, where things work, and
41196         run on Solaris 10.
41197         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
41198         to use the following interface instead:
41199         (OPENAT_BUFFER_SIZE): New macro.
41200         (openat_proc_name): New function.
41201         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
41202         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
41203         Likewise.
41204         * lib/openat-proc.c: New file.
41205         * modules/openat (Files): Add lib/openat-proc.c.
41206         (Depends-on): Add same-inode, stdbool.
41207         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
41208
41209 2006-09-29  Bruno Haible  <bruno@clisp.org>
41210
41211         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
41212         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
41213         argument. Set stdout_closed before testing for ferror, not after.
41214         (fwriteerror, fwriteerror_no_ebadf): New functions.
41215
41216 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41217
41218         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
41219
41220 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
41221
41222         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
41223         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
41224
41225 2006-09-28  Jim Meyering  <jim@meyering.net>
41226
41227         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
41228         Include <unistd.h>.
41229
41230 2006-09-28  Bruno Haible  <bruno@clisp.org>
41231
41232         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
41233         * modules/linkedhash-list (Depends-on): Likewise.
41234         * modules/rbtreehash-list (Depends-on): Likewise.
41235
41236 2006-09-28  Bruno Haible  <bruno@clisp.org>
41237
41238         * lib/strndup.h: Simplify the redefinition of strndup.
41239         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
41240         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
41241
41242 2006-09-28  Bruno Haible  <bruno@clisp.org>
41243
41244         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
41245         * lib/gl_linkedhash_list.c: Likewise.
41246         * lib/gl_rbtreehash_list.c: Likewise.
41247
41248 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
41249
41250         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
41251         getaddrinfo.
41252
41253         * lib/__fpending.h: Don't include <stdio_ext.h> unless
41254         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
41255         it causes <stdio_ext.h> to cause a compile-time error.
41256         Problem reported by Nelson H. F. Beebe.
41257         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
41258         of HAVE_DECL___PENDING.
41259
41260         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
41261         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
41262         declaration.
41263
41264 2006-09-27  Jim Meyering  <jim@meyering.net>
41265
41266         This file could end up with a definition for a function
41267         named __strndup, rather than rpl_strndup on a system with
41268         incomplete weak_alias support.
41269         * lib/strndup.c (strndup): Rename from __strndup.
41270         Remove #defines that used to map __strndup to strndup.
41271         Don't use K&R prototypes.
41272         Remove LIBC-related code, since this file is not sync'd with glibc.
41273         * lib/strndup.h: Revamp, accordingly.
41274         * m4/strndup.m4: Modernize.
41275
41276 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
41277
41278         * modules/savewd (Depends-on): Add 'raise'.
41279         * lib/savewd.c: Include <signal.h>, for 'raise'.
41280
41281 2006-09-26  Jim Meyering  <jim@meyering.net>
41282
41283         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
41284         when we detect Darwin 8.7.0's acl_get_file bug.
41285         Rearrange to perform the new (below) run-test while $LIBS
41286         contains any acl-related library.  Set USE_ACL at the end.
41287         (gl_ACL_GET_FILE): New function.
41288
41289 2006-09-26  Eric Blake  <ebb9@byu.net>
41290
41291         * lib/verror.c: Include <config.h> unconditionally.
41292
41293 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
41294
41295         * modules/clock-time (Maintainer): Add self.
41296         * modules/getlogin_r (Depends-on): Add extensions.
41297
41298 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41299
41300         * modules/clock-time: New module.
41301         * modules/nanosleep (Depends-on): Add clock-time.
41302         * modules/gethrxtime (Depends-on): Likewise.
41303         * modules/gettime (Depends-on): Likewise.
41304         * modules/settime (Depends-on): Likewise.
41305
41306         * modules/fts-lgpl: Depend on openat.
41307         * modules/mkancesdirs: Depend on savewd.
41308         * modules/mkdir-p: Likewise.
41309
41310 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41311
41312         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
41313
41314         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
41315         `gl_have_arbitrary_file_name_length_limit' to
41316         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
41317         actually works between configure runs.
41318
41319 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41320             Bruno Haible  <bruno@clisp.org>
41321
41322         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
41323
41324 2006-09-25  Jim Meyering  <jim@meyering.net>
41325
41326         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
41327         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
41328
41329 2006-09-25  Eric Blake  <ebb9@byu.net>
41330
41331         * gnulib-tool (func_import, func_create_testdir): Fix typos in
41332         exec's in 2006-09-18 patch when shuffling fds.
41333
41334 2006-09-25  Bruno Haible  <bruno@clisp.org>
41335
41336         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
41337         Reported by Jim Meyering.
41338
41339 2006-09-24  Jim Meyering  <jim@meyering.net>
41340
41341         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
41342         compare a pointer against a literal "0".  That caused failures with
41343         at least HP-UX's hpcc.
41344
41345 2006-09-22  Simon Josefsson  <jas@extundo.com>
41346
41347         * modules/gc-sha1:
41348         * modules/gc-md4:
41349         * modules/gc-hmac-sha1:
41350         * modules/gc-hmac-md5:
41351         * modules/gc-des:
41352         * modules/gc-arcfour: Distribute more files.
41353
41354 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41355
41356         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
41357         (gl_linked_iterator_from_to): Initialize struct completely.
41358         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
41359         (gl_tree_iterator_from_to): Likewise
41360         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
41361         * lib/gl_array_list.c [lint] (gl_array_iterator)
41362         (gl_array_iterator_from_to): Likewise.
41363         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
41364         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
41365         (gl_carray_iterator_from_to): Likewise.
41366
41367         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
41368         * lib/md4.c (md4_process_block): Remove unused variable.
41369         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
41370         parentheses for clarity.
41371
41372 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41373
41374         * modules/bison-i18n (Depends-on): Add gettext.
41375
41376 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41377
41378         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
41379         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
41380         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
41381         also add missing comma that caused broken test.
41382         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
41383         stdlib.h, for `abort'.
41384         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
41385         variables.
41386         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
41387         include unistd.h if present, for `rmdir'.
41388         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
41389         variables.
41390         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
41391         in the process include standard headers for prototypes.
41392         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
41393         gets declared on GNU/Linux.
41394         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
41395         unistd.h, for `rmdir'.
41396         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
41397
41398         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
41399         always true.
41400         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
41401
41402         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
41403
41404 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41405
41406         * gnulib-tool (func_version): Create output all at once.  This
41407         may help avoid triggering unnecessary SIGPIPEs, and at any
41408         rate it doesn't hurt.
41409
41410 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41411             Bruno Haible  <bruno@clisp.org>
41412
41413         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
41414         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
41415         * m4/signed.m4 (bh_C_SIGNED): Likewise.
41416
41417         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
41418         (gl_FUNC_VASPRINTF): Invoke it.
41419
41420 2006-09-22  Bruno Haible  <bruno@clisp.org>
41421
41422         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
41423         getloadavg.c as first argument.
41424
41425 2006-09-22  Bruno Haible  <bruno@clisp.org>
41426
41427         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
41428         at the beginning of the gl_INIT macro.
41429         * modules/getloadavg (configure.ac): Pass $gl_source_base to
41430         gl_GETLOADAVG.
41431
41432 2006-09-22  Bruno Haible  <bruno@clisp.org>
41433
41434         * gnulib-tool (func_create_megatestdir): Don't include the config-h
41435         module.
41436         Suggested by Ralf Wildenhues.
41437
41438 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
41439
41440         Import this patch from libc:
41441
41442         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
41443
41444         * lib/regex_internal.c (re_string_reconstruct): Handle
41445         offset < pstr->valid_raw_len && pstr->offsets_needed case.
41446         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
41447         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
41448         re_string_context_at.
41449
41450         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
41451         now requires it.
41452         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
41453         gl_REGEX now does it for us.
41454         (gl_REGEX): Add test taken from
41455         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
41456
41457         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
41458         Check that large offsets work.  Modernize Autoconf usages.
41459         Prefer "yes" to mean a good thing rather than a bad.
41460         Don't put "#define mkstemp" in config.h, as this might interfere
41461         with standard system headers that "#define mkstemp mkstemp64".
41462
41463         * modules/mkstemp (Depends-on): Add extensions, so that
41464         mkstemp is visible on some platforms.
41465         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
41466         (Include): Change to "mkstemp.h" from <stdlib.h>.
41467         (Files): Add mkstemp.h.
41468
41469         * lib/mkstemp.h: New file, since some standard headers
41470         #define mkstemp.
41471         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
41472         Include "mkstemp.h".
41473         Make the _LIBC code resemble glibc original more,
41474         e.g., use K&R style.
41475         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
41476         (mkstemp): Remove, since mkstemp.h does this for us.
41477         * lib/stdlib--.h: Include mkstemp.h.
41478
41479         Import this patch from libc:
41480
41481         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
41482
41483         * lib/tempname.c (__gen_tempname): Change attempts_min
41484         into a macro.  Use preprocessor to decide how to initialize
41485         attempts [Coverity CID 67].
41486
41487 2006-09-20  Bruno Haible  <bruno@clisp.org>
41488
41489         * lib/mkdtemp.c: Import from libc.
41490         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
41491                 * sysdeps/posix/tempname.c (__gen_tempname): Change
41492                 attempts_min into a macro.  Use preprocessor to decide how to
41493                 initialize attempts [Coverity CID 67].
41494         2001-11-27  Paul Eggert  <eggert@twinsun.com>
41495                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
41496                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
41497
41498 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41499
41500         * gnulib-tool (func_exit): New function, to allow to pass the
41501         exit status portably through the trap.  Use everywhere.
41502         (--help, --version): Signal a write error.
41503         (trap): catch SIGPIPE, for write errors.
41504         Exit at the end of the trap, with the correct exit status.
41505
41506 2006-09-19  Karl Berry  <karl@gnu.org>
41507
41508         * doc/gnulib.texi: note about the license texinfo files.
41509
41510 2006-09-19  Eric Blake  <ebb9@byu.net>
41511
41512         * gnulib-tool: Avoid space-tab.
41513
41514 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
41515
41516         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
41517         that prevented coreutils 6.1 from building.  Problem reported
41518         by Petter Reinholdtsen.
41519
41520 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
41521
41522         * gnulib-tool (avoidlist): Fix typo that broke options like
41523         --avoid=lock that are used by coreutils bootstrap.
41524
41525 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
41526
41527         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
41528         more systematically.
41529
41530 2006-09-18  Jim Meyering  <jim@meyering.net>
41531
41532         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
41533
41534 2006-09-18  Bruno Haible  <bruno@clisp.org>
41535
41536         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
41537
41538 2006-09-18  Bruno Haible  <bruno@clisp.org>
41539
41540         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
41541         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
41542         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
41543         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
41544         * m4/gettext.m4: Require autoconf >= 2.52.
41545         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
41546         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
41547         of gl_cv_header_inttypes_h.
41548
41549 2006-09-18  Bruno Haible  <bruno@clisp.org>
41550
41551         * lib/javaversion.c: Include configmake.h.
41552
41553 2006-09-18  Bruno Haible  <bruno@clisp.org>
41554
41555         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
41556         avoid that the while loops be executed in a subshell.
41557
41558 2006-09-18  Bruno Haible  <bruno@clisp.org>
41559
41560         * MODULES.html.sh (func_module): Break long lines.
41561         Suggested by Bruce Korb <bkorb@gnu.org>.
41562
41563 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41564
41565         Speed up by a factor of 1.12.
41566         * gnulib-tool (nl): New variable.
41567         (func_import): Rewrite include directive extraction to only read each
41568         directive once.
41569
41570 2006-09-17  Bruno Haible  <bruno@clisp.org>
41571
41572         * modules/javaversion (Makefile.am): Remove DEFS setting.
41573         (Depends-on): Add configmake, for PKGDATADIR definition.
41574
41575 2006-09-17  Bruno Haible  <bruno@clisp.org>
41576
41577         * gnulib-tool (func_create_testdir): Rewrite all files at once.
41578
41579 2006-09-17  Bruno Haible  <bruno@clisp.org>
41580
41581         * gnulib-tool (func_append): New function, stolen from libtool.m4.
41582         (func_modules_transitive_closure, func_modules_add_dummy,
41583         func_modules_to_filelist, func_import, func_create_testdir,
41584         func_create_megatestdir, ...): Use it wherever possible.
41585         Suggested by Ralf Wildenhues.
41586
41587 2006-09-16  Karl Berry  <karl@gnu.org>
41588
41589         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
41590         to avoid sectioning errors.
41591         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
41592         [ifinfo]: blank line after @center-ed titles.
41593         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
41594         Spell FSF address consistently with others.
41595         (These changes approved by rms.)
41596
41597 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41598
41599         Speed up by a factor of 1.61.
41600         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
41601         already checked module names again.
41602
41603 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41604
41605         Speed up by a factor of 1.13.
41606         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
41607         for new_files, and the input to func_add_or_update.
41608
41609 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41610
41611         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
41612         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
41613
41614 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41615
41616         * modules/mkancesdirs (Depends-on): Add fcntl.
41617         * modules/savewd: New file.
41618         * MODULES.html.sh (File system functions): Add savewd.
41619
41620         * modules/configmake (Makefile.am): Add support for the
41621         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
41622
41623 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41624
41625         * m4/savewd.m4: New file.
41626
41627 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41628
41629         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
41630         (dirchownmod): New arg FD.  All callers changed.
41631         Use FD rather than opening the directory ourself, as opening is
41632         now the caller's responsibility.
41633         * lib/dirchownmod.h: Likewise.
41634         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
41635         hosts that require <sys/types.h> before <sys/stat.h>.  Include
41636         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
41637         (test_dir): Remove.
41638         (mkancesdirs): Return length of prefix of FILE that has already
41639         been made, or -2 if there is a child doing the work.  Redo
41640         algorithm so that it is O(N) rather than O(N**2).  Optimize away
41641         ".", and treat ".." specially since it might stray back into
41642         already-created areas.  Use a subprocess if necessary.  New arg
41643         WD; all users changed.  MAKE_DIR function should now return 1
41644         if it creates a directory that is not readable.  Return -2 if
41645         a child process is spun off.
41646         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
41647         Adjust signature to match code.
41648         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
41649         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
41650         all users changed.
41651         * lib/savewd.c, lib/savewd.h: New files.
41652
41653 2006-09-15  Jim Meyering  <jim@meyering.net>
41654
41655         * modules/rename-dest-slash: New module.
41656         * MODULES.html.sh (posix_compat): Add it here.
41657
41658         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
41659
41660 2006-09-15  Jim Meyering  <jim@meyering.net>
41661
41662         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
41663         file.
41664
41665         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
41666
41667 2006-09-15  Jim Meyering  <jim@meyering.net>
41668
41669         * lib/rename-dest-slash.c (has_trailing_slash): Use
41670         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
41671         (rpl_rename_dest_slash): Perform the cheaper trailing slash
41672         test before testing whether SRC is a directory.
41673         Suggestions from Bruno Haible.
41674
41675         Avoid a warning about an unused variable.
41676         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
41677         into the #ifdef block where it's used.
41678
41679         * lib/rename-dest-slash.c: New file.
41680
41681 2006-09-14  Bruno Haible  <bruno@clisp.org>
41682
41683         * lib/allocsa.c: Include <config.h> unconditionally.
41684         * lib/asnprintf.c: Likewise.
41685         * lib/asprintf.c: Likewise.
41686         * lib/c-strcasecmp.c: Likewise.
41687         * lib/c-strcasestr.c: Likewise.
41688         * lib/c-strncasecmp.c: Likewise.
41689         * lib/c-strstr.c: Likewise.
41690         * lib/classpath.c: Likewise.
41691         * lib/clean-temp.c: Likewise.
41692         * lib/concatpath.c: Likewise.
41693         * lib/copy-file.c: Likewise.
41694         * lib/csharpcomp.c: Likewise.
41695         * lib/csharpexec.c: Likewise.
41696         * lib/execute.c: Likewise.
41697         * lib/fatal-signal.c: Likewise.
41698         * lib/findprog.c: Likewise.
41699         * lib/fwriteerror.c: Likewise.
41700         * lib/gl_array_list.c: Likewise.
41701         * lib/gl_array_oset.c: Likewise.
41702         * lib/gl_avltree_list.c: Likewise.
41703         * lib/gl_avltree_oset.c: Likewise.
41704         * lib/gl_avltreehash_list.c: Likewise.
41705         * lib/gl_carray_list.c: Likewise.
41706         * lib/gl_linked_list.c: Likewise.
41707         * lib/gl_linkedhash_list.c: Likewise.
41708         * lib/gl_list.c: Likewise.
41709         * lib/gl_oset.c: Likewise.
41710         * lib/gl_rbtree_list.c: Likewise.
41711         * lib/gl_rbtree_oset.c: Likewise.
41712         * lib/gl_rbtreehash_list.c: Likewise.
41713         * lib/imaxabs.c: Likewise.
41714         * lib/imaxdiv.c: Likewise.
41715         * lib/javacomp.c: Likewise.
41716         * lib/javaexec.c: Likewise.
41717         * lib/javaversion.c: Likewise.
41718         * lib/linebreak.c: Likewise.
41719         * lib/localcharset.c: Likewise.
41720         * lib/lock.c: Likewise.
41721         * lib/mbchar.c: Likewise.
41722         * lib/mbswidth.c: Likewise.
41723         * lib/mkdtemp.c: Likewise.
41724         * lib/pipe.c: Likewise.
41725         * lib/printf-args.c: Likewise.
41726         * lib/printf-parse.c: Likewise.
41727         * lib/progname.c: Likewise.
41728         * lib/progreloc.c: Likewise.
41729         * lib/readlink.c: Likewise.
41730         * lib/sh-quote.c: Likewise.
41731         * lib/stpcpy.c: Likewise.
41732         * lib/stpncpy.c: Likewise.
41733         * lib/strcasecmp.c: Likewise.
41734         * lib/strcasestr.c: Likewise.
41735         * lib/strcspn.c: Likewise.
41736         * lib/striconv.c: Likewise.
41737         * lib/strncasecmp.c: Likewise.
41738         * lib/strnlen1.c: Likewise.
41739         * lib/strstr.c: Likewise.
41740         * lib/strtok_r.c: Likewise.
41741         * lib/tls.c: Likewise.
41742         * lib/tmpdir.c: Likewise.
41743         * lib/unicodeio.c: Likewise.
41744         * lib/unsetenv.c: Likewise.
41745         * lib/vasnprintf.c: Likewise.
41746         * lib/vasprintf.c: Likewise.
41747         * lib/wait-process.c: Likewise.
41748         * lib/xallocsa.c: Likewise.
41749         * lib/xsetenv.c: Likewise.
41750         * lib/xstriconv.c: Likewise.
41751
41752 2006-09-13  Simon Josefsson  <jas@extundo.com>
41753
41754         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
41755         that internally, suggested by Ralf Wildenhues
41756         <Ralf.Wildenhues@gmx.de>.
41757
41758 2006-09-13  Simon Josefsson  <jas@extundo.com>
41759
41760         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
41761         @LIBOBJS@.
41762         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41763
41764 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
41765
41766         * lib/_fpending.c: Include <config.h> unconditionally, since we no
41767         longer worry about uses that don't define HAVE_CONFIG_H.
41768         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
41769         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
41770         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
41771         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
41772         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
41773         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
41774         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
41775         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
41776         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
41777         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
41778         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
41779         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
41780         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
41781         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
41782         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
41783         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
41784         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
41785         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
41786         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
41787         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
41788         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
41789         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
41790         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
41791         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
41792         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
41793         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
41794         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
41795         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
41796         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
41797         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
41798         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
41799         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
41800         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
41801         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
41802         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
41803         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
41804         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
41805         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
41806         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
41807         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
41808         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
41809         Likewise.
41810
41811 2006-09-13  Eric Blake  <ebb9@byu.net>
41812
41813         * lib/getopt.c: Fix typo in last commit.
41814
41815 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41816
41817         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
41818         dgettext.
41819
41820 2006-09-12  Jim Meyering  <jim@meyering.net>
41821
41822         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
41823         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
41824         Reported by Nelson H. F. Beebe.
41825
41826 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
41827
41828         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
41829         program_invocation_name and program_invocation_short_name are
41830         initialized.
41831         * lib/argp-namefrob.h: Move declarations of program_invocation_name
41832         and program_invocation_short_name to argp.h, so they are visible
41833         to user programs.
41834         * lib/argp.h: Likewise
41835
41836 2006-09-10  Bruno Haible  <bruno@clisp.org>
41837
41838         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
41839         m4/inttypes_h.m4, m4/uintmax_t.m4.
41840
41841 2006-09-10  Bruno Haible  <bruno@clisp.org>
41842
41843         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
41844         gl_AC_TYPE_UINTMAX_T.
41845
41846 2006-09-10  Bruno Haible  <bruno@clisp.org>
41847
41848         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
41849
41850 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
41851
41852         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
41853         convention.  Text proposed by Bruno Haible.
41854         (struct argp_option): Document the use of N_() wrappers.
41855
41856         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
41857         '\v', and translate the two parts separately, instead of feeding
41858         the whole string to gettext.  This allows to exclude
41859         '\v' from the strings visible to the translator by writing doc
41860         strings as N_("..") "\v" N_("..").
41861
41862 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
41863
41864         * config/srclist.txt: Undo latest change; the bug was fixed.
41865
41866 2006-09-09  Bruno Haible  <bruno@clisp.org>
41867
41868         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
41869         assignments if building a library without libtool.
41870         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
41871         in func_emit_lib_Makefile_am.
41872         (func_import): When building a static library libfoo.a, arrange to
41873         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
41874         (func_create_testdir): Likewise.
41875         * modules/gc (configure.ac, Makefile.am): If building statically,
41876         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
41877         * modules/iconvme (configure.ac, Makefile.am): Likewise.
41878         * modules/striconv (configure.ac, Makefile.am): Likewise.
41879         Based on a suggestion by Ralf Wildenhues.
41880
41881 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41882
41883         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
41884         Check for unistd.h too, since Autoconf doesn't assume POSIX.
41885         Also:
41886
41887         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41888         Add year_2050_test to catch glibc bug 2821
41889         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
41890
41891         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41892         Prefer #ifdef to #if.
41893
41894         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
41895         Return from 'main' instead of calling 'exit'.
41896
41897 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41898
41899         * lib/mktime.c (guess_time_tm): Fix bug where mktime
41900         returned the maximum time_t value rather than (time_t) -1.
41901         Problem originally reported by William Bardwell
41902         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
41903
41904         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
41905         Moved to here ...
41906         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
41907         ... from here.
41908
41909 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41910
41911         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
41912         2821 is fixed.
41913
41914 2006-09-08  Jim Meyering  <jim@meyering.net>
41915
41916         Don't make generated files read-only.  That would bother too many
41917         people.  However, do retain the ability to work when targets are
41918         read-only: remove the destination and temporary files before writing
41919         them (when generated via sed or echo), or by using the -f option for
41920         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
41921         * modules/alloca-opt, modules/argz, modules/arpa_inet:
41922         * modules/byteswap, modules/configmake, modules/fcntl:
41923         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
41924         * modules/localcharset, modules/netinet_in, modules/poll:
41925         * modules/stdbool, modules/stdint, modules/sys_select:
41926         * modules/sys_socket, modules/sys_stat, modules/sysexits:
41927
41928 2006-09-08  Jim Meyering  <jim@meyering.net>
41929
41930         Avoid new build failure on FreeBSD 6.0.
41931         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
41932         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
41933         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
41934
41935 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41936
41937         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
41938
41939 2006-09-07  Jim Meyering  <jim@meyering.net>
41940
41941         Fix global typo in last change: use chmod u-w, not chmod u-x.
41942         Spotted by Paul Eggert and Bruce Korb.
41943         * modules/alloca-opt, modules/argz, modules/arpa_inet:
41944         * modules/byteswap, modules/configmake, modules/fcntl:
41945         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
41946         * modules/localcharset, modules/netinet_in, modules/poll:
41947         * modules/stdbool, modules/stdint, modules/sys_select:
41948         * modules/sys_socket, modules/sys_stat, modules/sysexits:
41949
41950 2006-09-06  Jim Meyering  <jim@meyering.net>
41951
41952         Make generated files be read-only.
41953         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
41954         Ensure that each generated file is now read-only.
41955         * modules/argz: Likewise.
41956         * modules/arpa_inet: Likewise.
41957         * modules/byteswap: Likewise.
41958         * modules/configmake: Likewise.
41959         * modules/fcntl: Likewise.
41960         * modules/fnmatch: Likewise.
41961         * modules/getopt: Likewise.
41962         * modules/glob: Likewise.
41963         * modules/inttypes: Likewise.
41964         * modules/netinet_in: Likewise.
41965         * modules/poll: Likewise.
41966         * modules/stdbool: Likewise.
41967         * modules/stdint: Likewise.
41968         * modules/sys_select: Likewise.
41969         * modules/sys_socket: Likewise.
41970         * modules/sys_stat: Likewise.
41971         * modules/sysexits: Likewise.
41972         * modules/localcharset: Same as above, but continue using temporary
41973         file named "t-$@" (why different?) rather than the "$@-t" used
41974         everywhere else.
41975
41976         * modules/sysexits (Makefile.am): Replace literal occurrences
41977         of "sysexit.h" more readable, and more consistent, "$@".
41978
41979 2006-09-06  Bruno Haible  <bruno@clisp.org>
41980
41981         * modules/striconv: New file.
41982         * modules/xstriconv: New file.
41983         * MODULES.html.sh (Internationalization functions): Add striconv,
41984         xstriconv.
41985
41986 2006-09-06  Bruno Haible  <bruno@clisp.org>
41987
41988         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
41989         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
41990         not using libtool correctly.
41991
41992 2006-09-06  Bruno Haible  <bruno@clisp.org>
41993
41994         * lib/striconv.h: New file.
41995         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
41996         iconvstring.c.
41997         * lib/xstriconv.h: New file.
41998         * lib/xstriconv.c: New file.
41999
42000 2006-09-06  Bruno Haible  <bruno@clisp.org>
42001
42002         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
42003         lib_..._LDFLAGS.
42004
42005 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42006
42007         * lib/argz_.h: Sync from Libtool.
42008
42009         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
42010                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
42011
42012         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
42013
42014 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
42015
42016         * modules/trim: New file.
42017
42018 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
42019
42020         * lib/trim.h: New file.
42021         * lib/trim.c: New file.
42022
42023 2006-09-05  Bruno Haible  <bruno@clisp.org>
42024
42025         * MODULES.html.sh (String handling): Add trim.
42026
42027 2006-09-04  Karl Berry  <karl@gnu.org>
42028
42029         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
42030         until next release.
42031
42032 2006-09-03  Bruno Haible  <bruno@clisp.org>
42033
42034         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
42035         correctly.
42036
42037 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42038
42039         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
42040         not gl_GETLOADAVG.  Omit unneeded semicolons.
42041         Problems reported by Ralf Wildenhues in
42042         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
42043         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
42044         at the end, which is the usual gnulib style.
42045
42046         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
42047         of doing all the work ourselves.
42048         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
42049         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
42050
42051 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42052
42053         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
42054         Problem reported by Ralf Wildenhues in
42055         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
42056
42057         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
42058         HAVE_STRUCT_STATFS_F_FSTYPENAME.
42059
42060 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42061
42062         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
42063         yesterday's patch by changing test -n to test -z.
42064
42065 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42066
42067         * modules/getloadavg (Files): Add m4/getloadavg.m4.
42068         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
42069         the former is now obsolescent.
42070
42071         * modules/chdir-long (Depends-on): Add fcntl.
42072
42073 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42074
42075         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
42076         obsolescent, and programs should use gnulib instead.
42077         * m4/getloadavg.m4: New file, with contents taken from Autoconf
42078         but with prefixes changed.
42079
42080 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42081
42082         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
42083         or stdbool.h, because they might not exist while configuring.
42084
42085         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
42086         Don't include unistd.h or limits.h; not needed, since chdir-long.h
42087         does that for us.
42088         (O_DIRECTORY): Remove.
42089
42090 2006-08-31  Eric Blake  <ebb9@byu.net>
42091
42092         * gnulib-tool: Don't let emacs change spaces to TAB.
42093
42094 2006-08-31  Bruno Haible  <bruno@clisp.org>
42095
42096         * gnulib-tool: When calling func_import more than once, do it in a
42097         subshell.
42098         Reported by Eric Blake <ebb9@byu.net>.
42099
42100 2006-08-31  Bruno Haible  <bruno@clisp.org>
42101
42102         * gnulib-tool (nl): Remove variable.
42103         (sed_transform_lib_file): Use more robust test for config-h module.
42104         (func_import): Fix typo in 2006-08-25 patch.
42105
42106 2006-08-31  Bruno Haible  <bruno@clisp.org>
42107
42108         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
42109         specified, augment Makefile.am variables instead of assigning them.
42110
42111 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
42112
42113         Work around a bug in both the Linux and SunOS 64-bit kernels:
42114         nanosleep mishandles sleeps for longer than 2**31 seconds.
42115         Problem reported by Frank v Waveren in
42116         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
42117         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
42118         Check for nanosleep bug.
42119         (LIB_NANOSLEEP): Append clock_gettime library if needed.
42120
42121 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
42122
42123         Work around a bug in both the Linux and SunOS 64-bit kernels:
42124         nanosleep mishandles sleeps for longer than 2**31 seconds.
42125         Problem reported by Frank v Waveren in
42126         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
42127         * lib/nanosleep.c (BILLION): New constant.
42128         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
42129         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
42130         implementation.
42131
42132 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
42133
42134         * modules/nanosleep (Depends-on): Add gettime.
42135
42136 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
42137         and Simon Josefsson  <jas@extundo.com>
42138         and Oskar Liljeblad  <oskar@osk.mine.nu>
42139
42140         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
42141         * gnulib-tool (func_import): New license type 'unmodifiable license
42142         text'.
42143         * modules/fdl: Use it.  Longer description.
42144         * module/gpl, module/lgpl: New files.
42145
42146 2006-08-30  Jim Meyering  <jim@meyering.net>
42147
42148         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
42149         shadowing the parameter.
42150
42151 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42152
42153         Sync from Libtool:
42154
42155         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42156
42157         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
42158         sharing with gnulib.  Report by Eric Blake.
42159
42160 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
42161
42162         * modules/isapipe: New file.
42163         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
42164
42165 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
42166
42167         * modules/configmake (Makefile.am): Add a comment, and omit
42168         the CONFIGMAKE_ prefix from generated macro names.  Suggested
42169         by Bruno Haible.
42170
42171 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
42172
42173         * m4/isapipe.m4: New file.
42174
42175 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
42176
42177         * lib/isapipe.c, lib/isapipe.h: New files.
42178
42179 2006-08-29  Jim Meyering  <jim@meyering.net>
42180
42181         * modules/configmake (Makefile.am): Make configmake.h depend on
42182         Makefile.  Otherwise, a stale configmake.h could hang around.
42183
42184 2006-08-29  Eric Blake  <ebb9@byu.net>
42185
42186         * lib/error.c (error_at_line, print_errno_message): Match libc, after
42187         resolution of upstream bug 3044.
42188
42189 2006-08-29  Bruno Haible  <bruno@clisp.org>
42190
42191         * modules/localcharset (Depends-on): Add configmake.
42192         (Makefile.am): Remove setting of LIBDIR through DEFS.
42193
42194 2006-08-29  Bruno Haible  <bruno@clisp.org>
42195
42196         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
42197         defined.
42198
42199 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
42200
42201         * modules/fcntl: New file.
42202         * modules/chdir-safer (Depends-on): Add fcntl.
42203         * modules/fts: Likewise.
42204         * modules/mkdir-p: Likewise.
42205
42206         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
42207         This undoes the most recent change, since we're now addressing the
42208         problem in a different way.
42209
42210         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
42211         into output, since the output might be called Makefile.am even
42212         if $makefile_name is something different.
42213         (func_import): Use $makefile_am rather than
42214         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
42215         empty.
42216
42217         * modules/inttypes (Files): Add m4/inttypes-h.m4.
42218
42219 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
42220
42221         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
42222         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
42223         recent change to stdint.m4, since we're now addressing the problem in a
42224         different way.
42225
42226 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
42227
42228         * m4/fcntl_h.m4: New file.
42229
42230 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
42231
42232         * lib/fcntl_.h: New file.
42233         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
42234         the fcntl module.
42235         * lib/dirchownmod.c: Likewise.
42236         * lib/fts.c: Likewise.
42237
42238         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
42239         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
42240         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
42241         just before including <inttypes.h>, to avoid circular inclusion.
42242
42243 2006-08-28  Jim Meyering  <jim@meyering.net>
42244
42245         * doc/visibility.texi: Actually read and correct the grammar of the
42246         sentence affected by yesterday's change.
42247
42248 2006-08-28  Eric Blake  <ebb9@byu.net>
42249
42250         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
42251         needs wrapper.
42252
42253 2006-08-28  Eric Blake  <ebb9@byu.net>
42254
42255         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
42256
42257 2006-08-28  Eric Blake  <ebb9@byu.net>
42258
42259         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
42260
42261 2006-08-28  Bruno Haible  <bruno@clisp.org>
42262
42263         * modules/c-strstr: New file, from GNU gettext.
42264         * MODULES.html.sh (String handling): Add c-strstr.
42265
42266 2006-08-28  Bruno Haible  <bruno@clisp.org>
42267
42268         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
42269         macros.
42270         Reported by Eric Blake.
42271
42272 2006-08-28  Bruno Haible  <bruno@clisp.org>
42273
42274         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
42275         (VASNPRINTF): Return a string of length > INT_MAX without failing.
42276         * lib/vasprintf.c: Include errno.h, limits.h.
42277         (EOVERFLOW): New fallback definition.
42278         (vasprintf): Test here whether the string length is > INT_MAX.
42279         * lib/vsnprintf.c: Include errno.h, limits.h.
42280         (EOVERFLOW): New fallback definition.
42281         (vsnprintf): Fix bug when generated string was too long for the buffer.
42282         Test here whether the string length is > INT_MAX.
42283
42284 2006-08-28  Bruno Haible  <bruno@clisp.org>
42285
42286         * lib/inttypes_.h (SCNX*): Remove definitions.
42287         Reported by Eric Blake.
42288
42289 2006-08-28  Bruno Haible  <bruno@clisp.org>
42290
42291         * lib/c-strstr.h: New file, from GNU gettext.
42292         * lib/c-strstr.c: New file, from GNU gettext.
42293
42294 2006-08-28  Bruno Haible  <bruno@clisp.org>
42295
42296         * gnulib-tool: Reorder some statements.
42297
42298 2006-08-28  Bruno Haible  <bruno@clisp.org>
42299
42300         * gnulib-tool: New option --makefile-name.
42301         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
42302         $makefile_name.
42303         (func_import): Write $makefile_name to the cache file, and read it from
42304         there unless explicitly specified. Use $makefile_name as file name
42305         instead of Makefile.am. Adjust the recommendations accordingly.
42306
42307 2006-08-28  Bruno Haible  <bruno@clisp.org>
42308
42309         * gnulib-tool (func_verify_module): Check against misapplying patch.
42310
42311 2006-08-28  Bruno Haible  <bruno@clisp.org>
42312
42313         * gnulib-tool (func_relativize, func_relconcat): New functions.
42314         Give an error if --local-dir is given with --update.
42315         Remove trailing slashes from $local_gnulib_dir.
42316         (func_import): Store the relativized $local_gnulib_dir in
42317         gnulib-cache.m4, and read it from there if not specified explicitly.
42318
42319 2006-08-28  Bruno Haible  <bruno@clisp.org>
42320
42321         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
42322         is the current directory. Respect also $local_gnulib_dir.
42323
42324 2006-08-28  Bruno Haible  <bruno@clisp.org>
42325             Simon Josefsson  <jas@extundo.com>
42326
42327         BeOS portability.
42328         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
42329
42330 2006-08-27  Jim Meyering  <jim@meyering.net>
42331
42332         * doc/visibility.texi: Remove duplicate word: "pointer".
42333
42334 2006-08-26  Bruno Haible  <bruno@clisp.org>
42335
42336         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
42337         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
42338         (Makefile.am): Create inttypes.h from inttypes_.h.
42339         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
42340
42341         * modules/imaxabs: New file.
42342
42343         * modules/imaxdiv: New file.
42344
42345 2006-08-26  Bruno Haible  <bruno@clisp.org>
42346
42347         * m4/inttypes.m4: New file.
42348         * m4/_inttypes_h.m4: Remove file.
42349         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
42350         PRI_MACROS_BROKEN.
42351         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
42352
42353         * m4/imaxabs.m4: New file.
42354
42355         * m4/imaxdiv.m4: New file.
42356
42357 2006-08-26  Bruno Haible  <bruno@clisp.org>
42358
42359         * lib/inttypes_.h: New file.
42360         * lib/inttypes.h: Remove file.
42361         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
42362
42363         * lib/imaxabs.c: New file.
42364
42365         * lib/imaxdiv.c: New file.
42366
42367 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42368
42369         New config-h module, so that "make" output needn't be cluttered
42370         by -DHAVE_CONFIG_H.
42371         * MODULES.html.sh (Support for building libraries and executables):
42372         Add config-h.
42373         * modules/config-h: New file.
42374         * gnulib-tool (nl, sed_transform_lib_file): New vars.
42375         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
42376         the config-h module is used.
42377
42378         New configmake module, so that "make" output needn't be cluttered
42379         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
42380         * MODULES.html.sh (Support for building libraries and executables):
42381         Add configmake.
42382         * modules/configmake: New file.
42383
42384 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42385
42386         * m4/config-h.m4: New file.
42387
42388 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42389
42390         * config/srclist.txt: Add elisp-comp.
42391
42392 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42393
42394         * MODULES.html.sh (Support for building libraries and executables):
42395         Add elisp-comp.
42396         * build-aux/elisp-comp: New file.
42397         * modules/elisp-comp: New file.
42398
42399 2006-08-24  Bruno Haible  <bruno@clisp.org>
42400
42401         * gnulib-tool (func_create_testdir): Use non-default values of
42402         sourcebase and m4base.
42403
42404 2006-08-24  Bruno Haible  <bruno@clisp.org>
42405
42406         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
42407         HTML structure.
42408
42409 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
42410
42411         * modules/openat (Depends-on): Add lchown.
42412
42413 2006-08-23  Bruno Haible  <bruno@clisp.org>
42414
42415         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
42416         of gl_LOCK_EARLY instead of gl_LOCK.
42417
42418 2006-08-23  Bruno Haible  <bruno@clisp.org>
42419
42420         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
42421         on OSF/1 to no.
42422         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
42423
42424 2006-08-23  Bruno Haible  <bruno@clisp.org>
42425
42426         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
42427         as unusable.
42428
42429         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
42430         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
42431         (gl_LOCK): New macro.
42432
42433 2006-08-22  Simon Josefsson  <jas@extundo.com>
42434
42435         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
42436         to md5 module.
42437
42438 2006-08-22  Simon Josefsson  <jas@extundo.com>
42439
42440         * MODULES.html.sh: Add "Support for maintaining and release
42441         projects".
42442
42443         * build-aux/gnupload: New file, from coreutils.
42444
42445 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42446
42447         Avoid the need for AC_LIBSOURCES in m4 macros.
42448         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
42449         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
42450         * modules/check-version (EXTRA_DIST): Add check-version.h.
42451         * modules/crc (EXTRA_DIST): Add crc.h.
42452         * modules/des (EXTRA_DIST): Add des.h.
42453         * modules/gc (EXTRA_DIST): Add gc.h.
42454         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
42455         * modules/getline (EXTRA_DIST): Add getline.h.
42456         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
42457         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
42458         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
42459         * modules/md2 (EXTRA_DIST): Add md2.h.
42460         * modules/md4 (EXTRA_DIST): Add md4.h.
42461         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
42462         * modules/read-file (EXTRA_DIST): Add read-file.h.
42463         * modules/readline (EXTRA_DIST): Add readline.h.
42464         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
42465         rijndael-api-fst.h.
42466
42467 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42468
42469         * m4/rijndael.m4 (gl_ARCFOUR):
42470         * m4/arctwo.m4 (gl_ARCTWO):
42471         * m4/check-version.m4 (gl_CHECK_VERSION):
42472         * m4/crc.m4 (gl_CRC):
42473         * m4/des.m4 (gl_DES):
42474         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
42475         * m4/gc.m4 (gl_GC):
42476         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
42477         * m4/getline.m4 (gl_FUNC_GETLINE):
42478         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
42479         * m4/hmac-md5.m4 (gl_HMAC_MD5):
42480         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
42481         * m4/md2.m4 (gl_MD2):
42482         * m4/md4.m4 (gl_MD4):
42483         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
42484         * m4/read-file.m4 (gl_FUNC_READ_FILE):
42485         * m4/readline.m4 (gl_FUNC_READLINE):
42486         * m4/rijndael.m4 (gl_RIJNDAEL):
42487         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
42488         to get the necessary .h files and whatnot.
42489
42490 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42491
42492         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
42493         gnulib rather than the other way around.
42494         * config/srclistvars.sh (COREUTILS): Remove.
42495
42496 2006-08-22  Jim Meyering  <jim@meyering.net>
42497
42498         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
42499
42500         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
42501
42502 2006-08-22  Eric Blake  <ebb9@byu.net>
42503
42504         * modules/regexprops-generic: New file.
42505         * MODULES.html.sh (Support for building documentation): List it.
42506
42507 2006-08-22  Eric Blake  <ebb9@byu.net>
42508
42509         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
42510         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
42511         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
42512         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
42513
42514 2006-08-22  Bruno Haible  <bruno@clisp.org>
42515
42516         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
42517         and lib_LTLIBRARIES like the other lib_* variables.
42518
42519 2006-08-22  Bruno Haible  <bruno@clisp.org>
42520
42521         * build-aux/x-to-1.in: New file, from GNU gettext.
42522
42523 2006-08-22  Bruno Haible  <bruno@clisp.org>
42524
42525         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
42526         <utmpx.h> exists.
42527
42528 2006-08-22  Bruno Haible  <bruno@clisp.org>
42529
42530         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
42531         <utmpx.h> exists.
42532
42533 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42534
42535         BeOS portability.
42536         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
42537         exist.
42538         Problem reported by Bruno Haible.
42539
42540 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42541
42542         Avoid the need for AC_LIBSOURCES in m4 macros.
42543         * modules/acl (EXTRA_DIST): Add acl.h.
42544         * modules/argmatch (Files): Add m4/argmatch.m4.
42545         (configure.ac): Add gl_ARGMATCH.
42546         (EXTRA_DIST): Renamed from lib_SOURCES, for
42547         consistency with the other modules.  Remove argmatch.c.
42548         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
42549         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
42550         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
42551         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
42552         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
42553         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
42554         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
42555         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
42556         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
42557         * modules/closeout (EXTRA_DIST): Add closeout.h.
42558         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
42559         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
42560         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
42561         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
42562         dirname.h; remove basename.c and stripslash.c.
42563         * modules/exclude (EXTRA_DIST): Add exclude.h.
42564         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
42565         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
42566         * modules/file-type (EXTRA_DIST): Add file-type.h.
42567         * modules/filemode (EXTRA_DIST): Add filemode.h.
42568         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
42569         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
42570         * modules/fpending (EXTRA_DIST): Add __fpending.h.
42571         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
42572         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
42573         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
42574         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
42575         * modules/getdate (EXTRA_DIST): Add getdate.c.
42576         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
42577         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
42578         * modules/getpass (EXTRA_DIST): Add getpass.h.
42579         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
42580         * modules/group-member (EXTRA_DIST): Add group-member.h.
42581         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
42582         * modules/hash (EXTRA_DIST): Add hash.h.
42583         * modules/human (EXTRA_DIST): Add human.h.
42584         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
42585         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
42586         * modules/lchown (EXTRA_DIST): Add lchown.h.
42587         * modules/long-options (EXTRA_DIST): Add long-options.h.
42588         * modules/lstat (EXTRA_DIST): Add lstat.h.
42589         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
42590         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
42591         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
42592         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
42593         * modules/memxor (EXTRA_DIST): Add memxor.h.
42594         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
42595         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
42596         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
42597         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
42598         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
42599         * modules/physmem (EXTRA_DIST): Add physmem.h.
42600         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
42601         * modules/posixver (EXTRA_DIST): Add posixver.h.
42602         * modules/quote (EXTRA_DIST): Add quote.h.
42603         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
42604         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
42605         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
42606         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
42607         regex_internal.h regexec.c.
42608         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
42609         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
42610         * modules/same (EXTRA_DIST): Add same.h.
42611         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
42612         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
42613         * modules/savedir (EXTRA_DIST): Add savedir.h.
42614         * modules/sha1 (EXTRA_DIST): Add sha1.h.
42615         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
42616         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
42617         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
42618         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
42619         * modules/strdup (EXTRA_DIST): Add strdup.h.
42620         * modules/strftime (EXTRA_DIST): Add strftime.h.
42621         * modules/strndup (EXTRA_DIST): Add strndup.h.
42622         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
42623         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
42624         * modules/time_r (EXTRA_DIST): Add time_r.h.
42625         * modules/timespec (EXTRA_DIST): Add timespec.h.
42626         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
42627         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
42628         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
42629         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
42630         * modules/userspec (EXTRA_DIST): Add userspec.h.
42631         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
42632         * modules/utimens (EXTRA_DIST): Add utimens.h.
42633         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
42634         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
42635         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
42636         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
42637         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
42638         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
42639         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
42640         * modules/yesno (EXTRA_DIST): Add yesno.h.
42641
42642 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42643
42644         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
42645
42646         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
42647         * m4/dev-ino.m4, same-inode.m4: Remove.
42648
42649         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
42650         * m4/acl.m4 (AC_FUNC_ACL):
42651         * m4/backupfile.m4 (gl_BACKUPFILE):
42652         * m4/c-strtod.m4 (gl_C99_STRTOLD):
42653         * m4/canon-host.m4 (gl_CANON_HOST):
42654         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
42655         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
42656         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
42657         * m4/cloexec.m4 (gl_CLOEXEC):
42658         * m4/close-stream.m4 (gl_CLOSE_STREAM):
42659         * m4/closeout.m4 (gl_CLOSEOUT):
42660         * m4/dirfd.m4 (gl_FUNC_DIRFD):
42661         * m4/dirname.m4 (gl_DIRNAME):
42662         * m4/exclude.m4 (gl_EXCLUDE):
42663         * m4/exitfail.m4 (gl_EXITFAIL):
42664         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
42665         * m4/file-type.m4 (gl_FILE_TYPE):
42666         * m4/filemode.m4 (gl_FILEMODE):
42667         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
42668         * m4/fpending.m4 (gl_FUNC_FPENDING):
42669         * m4/fprintftime.m4 (gl_FPRINTFTIME):
42670         * m4/fts.m4 (gl_FUNC_FTS):
42671         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
42672         * m4/getdate.m4 (gl_GETDATE):
42673         * m4/gethrxtime.m4 (gl_GETHRXTIME):
42674         * m4/getpagesize.m4 (gl_GETPAGESIZE):
42675         * m4/getpass.m4 (gl_FUNC_GETPASS):
42676         * m4/gettime.m4 (gl_GETTIME):
42677         * m4/getugroups.m4 (gl_GETUGROUPS):
42678         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
42679         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
42680         * m4/hard-locale.m4 (gl_HARD_LOCALE):
42681         * m4/hash.m4 (gl_HASH):
42682         * m4/idcache.m4 (gl_IDCACHE):
42683         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
42684         * m4/lchown.m4 (gl_FUNC_LCHOWN):
42685         * m4/long-options.m4 (gl_LONG_OPTIONS):
42686         * m4/lstat.m4 (gl_FUNC_LSTAT):
42687         * m4/md5.m4 (gl_MD5):
42688         * m4/memcasecmp.m4 (gl_MEMCASECMP):
42689         * m4/memcoll.m4 (gl_MEMCOLL):
42690         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
42691         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
42692         * m4/memxor.m4 (gl_MEMXOR):
42693         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
42694         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
42695         * m4/modechange.m4 (gl_MODECHANGE):
42696         * m4/mountlist.m4 (gl_MOUNTLIST):
42697         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
42698         * m4/openat.m4 (gl_FUNC_OPENAT):
42699         * m4/pathmax.m4 (gl_PATHMAX):
42700         * m4/physmem.m4 (gl_PHYSMEM):
42701         * m4/posixtm.m4 (gl_POSIXTM):
42702         * m4/posixver.m4 (gl_POSIXVER):
42703         * m4/quote.m4 (gl_QUOTE):
42704         * m4/quotearg.m4 (gl_QUOTEARG):
42705         * m4/readtokens.m4 (gl_READTOKENS):
42706         * m4/readutmp.m4 (gl_READUTMP):
42707         * m4/regex.m4 (gl_REGEX):
42708         * m4/safe-read.m4 (gl_SAFE_READ):
42709         * m4/safe-write.m4 (gl_SAFE_WRITE):
42710         * m4/same.m4 (gl_SAME):
42711         * m4/save-cwd.m4 (gl_SAVE_CWD):
42712         * m4/savedir.m4 (gl_SAVEDIR):
42713         * m4/settime.m4 (gl_SETTIME):
42714         * m4/sha1.m4 (gl_SHA1):
42715         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
42716         * m4/stat-macros.m4 (gl_STAT_MACROS):
42717         * m4/stat-time.m4 (gl_STAT_TIME):
42718         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
42719         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
42720         * m4/strdup.m4 (gl_FUNC_STRDUP):
42721         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
42722         * m4/strndup.m4 (gl_FUNC_STRNDUP):
42723         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
42724         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
42725         * m4/time_r.m4 (gl_TIME_R):
42726         * m4/timespec.m4 (gl_TIMESPEC):
42727         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
42728         * m4/unlinkdir.m4 (gl_UNLINKDIR):
42729         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
42730         * m4/userspec.m4 (gl_USERSPEC):
42731         * m4/utimecmp.m4 (gl_UTIMECMP):
42732         * m4/utimens.m4 (gl_UTIMENS):
42733         * m4/xalloc.m4 (gl_XALLOC):
42734         * m4/xgetcwd.m4 (gl_XGETCWD):
42735         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
42736         * m4/xreadlink.m4 (gl_XREADLINK):
42737         * m4/xstrtod.m4 (gl_XSTRTOD):
42738         * m4/yesno.m4 (gl_YESNO):
42739         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
42740         to get the necessary .h files and whatnot.
42741
42742 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
42743             Bruno Haible  <bruno@clisp.org>
42744
42745         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
42746         /bin/sh understanding of '!' conditional negation.
42747
42748 2006-08-21  Jim Meyering  <jim@meyering.net>
42749
42750         * modules/openat (Depends-on): Really alphabetize.
42751
42752         * modules/acl (Depends-on): Add error and quote.
42753
42754         * check-module (find_included_lib_files): Add at-func.c to the
42755         ok-to-include-more-than-once white list.
42756
42757         * modules/openat (Depends-on): Add lstat.  Alphabetize.
42758
42759 2006-08-21  Bruno Haible  <bruno@clisp.org>
42760
42761         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42762         Emit a pkgdata_DATA variable only if some snippets add contents to it.
42763         Reported by Martin Lambers <marlam@marlam.de>.
42764
42765 2006-08-21  Bruno Haible  <bruno@clisp.org>
42766
42767         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
42768         specify an installation location, don't emit a noinst_LIBRARIES or
42769         noinst_LTLIBRARIES assignment.
42770
42771 2006-08-21  Bruno Haible  <bruno@clisp.org>
42772
42773         BeOS portability.
42774         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
42775         BeOS has mbrtowc() but no <wctype.h>.
42776
42777 2006-08-21  Bruno Haible  <bruno@clisp.org>
42778
42779         BeOS portability.
42780         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
42781         exist.
42782
42783 2006-08-21  Bruno Haible  <bruno@clisp.org>
42784
42785         BeOS portability.
42786         * lib/mbchar.h: Include <wctype.h> only if it exists.
42787
42788 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42789
42790         Remove files that are no longer needed by their respective modules.
42791         * m4/obstack.m4: Remove.
42792         * m4/strerror_r.m4: Remove.
42793         * m4/uint32_t.m4: Remove.
42794         * m4/uintptr_t.m4: Remove.
42795         * m4/ullong_max.m4: Remove.
42796         * m4/xstrtoimax.m4: Remove.
42797         * m4/xstrtoumax.m4: Remove.
42798
42799         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
42800         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
42801         dependencies now capture this.
42802
42803         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
42804         Do not use AC_LIBSOURCES, since gnulib modules now do this.
42805         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
42806         * m4/human.m4 (gl_HUMAN): Likewise.
42807         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
42808         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
42809
42810         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
42811
42812         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
42813         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
42814         stdint.
42815         * m4/human.m4 (gl_HUMAN): Likewise.
42816         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
42817         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
42818         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
42819         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
42820         * m4/xstrtol (gl_XSTRTOL): Likewise.
42821
42822         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
42823         AC_TYPE_LONG_LONG_INT.
42824         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
42825         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
42826         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
42827         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
42828
42829         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
42830         on stdbool.
42831
42832         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
42833         (gl_PREREQ_XSTRTOUL): Remove.
42834
42835         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
42836
42837         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
42838         mode.
42839
42840 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42841
42842         Add and change modules to make it easier for coreutils to use
42843         gnulib-tool.
42844         * modules/backupfile (Files): Remove m4/d-ino.m4.
42845         (Depends-on): Add d-ino.
42846         * modules/cycle-check (Depends-on): Add stdint.
42847         (lib_SOURCES): Add cycle-check.h.
42848         * modules/d-ino: New module.
42849         * modules/d-type: New module.
42850         * modules/error (Files): Remove m4/strerror_r.m4.
42851         * modules/filemode (Files): Add m4/st_dm_mode.m4.
42852         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
42853         m4/inttypes_h.m4, m4/uintmax_t.m4.
42854         (Depends-on): Add stdint.
42855         (lib_SOURCES): Add fsusage.h.
42856         * modules/getcwd (Files): Remove d-ino.m4.
42857         (Depends-on): Add d-ino.
42858         * modules/getndelim2 (Depends-on): Add stdint.
42859         * modules/glob (Files): Remove m4/d-type.m4.
42860         (Depends-on): Add d-type.
42861         * modules/host-os: New module.
42862         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
42863         m4/inttypes_h.m4, m4/uintmax_t.m4.
42864         * Depends-on: Add stdint.
42865         (lib_SOURCES): Add human.h.
42866         * modules/inttostr (Files): Remove m4/intmax_t.m4,
42867         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
42868         m4/uintmax_t.m4, m4/ulonglong.m4.
42869         (Depends-on): Add stdint.
42870         (EXTRA_DIST): Add inttostr.h.
42871         * modules/lchmod: New module.
42872         * modules/link-follow: New module.
42873         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
42874         (Depends-on): Add lchmod.
42875         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
42876         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
42877         (Depends-on): Add stdint.
42878         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
42879         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
42880         (Depends-on): Add stdint.
42881         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
42882         * modules/perl: New module.
42883         * modules/regex (Depends-on): Add stdint.
42884         * modules/rmdir-errno: New module.
42885         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
42886         m4/intmax_t.m4.
42887         (Depends-on): Add stdint.
42888         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
42889         m4/uintmax_t.m4.
42890         (Depends-on): Add stdint.
42891         * modules/unlink-busy: New module.
42892         * modules/utimecmp (Depends-on): Add stdint.
42893         * modules/uptime: New module.
42894         * modules/winsz-ioctl: New module.
42895         * modules/winsz-termios: New module.
42896         * modules/xnanosleep (Depends-on): Add nanosleep.
42897         * modules/ullong_max: Remove.
42898         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
42899         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
42900         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
42901         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
42902         (Depends-on): Add inttypes.
42903         (lib_SOURCES): Add xstrtol.h.
42904         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
42905         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
42906         * MODULES.html.sh: Move 'assert' into the assert section.
42907         Move 'dummy' into the linking section.
42908         Remove ullong_max.
42909         Add section for compatibility checks for POSIX:2001 functions,
42910         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
42911         winsz-ioctl, and winsz-termios into it.
42912         Add lchmod.
42913         Add top-level Misc section and put host-os, perl, and uptime
42914         into it.
42915
42916 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42917
42918         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
42919         now assume the stdint module.  Do not include inttypes.h.
42920         * lib/fsusage.h: Likewise.
42921         * lib/getndelim2.c: Likewise.
42922         * lib/human.h: Likewise.
42923         * lib/inttostr.h: Likewise.
42924         * lib/obstack.c: Likewise.
42925         * lib/regex_internal.h: Likewise.
42926         * lib/tempname.c: Likewise.
42927         * lib/utimecmp.c: Likewise.
42928         * lib/xstrtol.h: Likewise.
42929
42930         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
42931
42932         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
42933         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
42934         * lib/xtime.h: Likewise.
42935
42936 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42937
42938         * modules/openat (Files): Add lib/fchmodat.c.
42939         Fixes problem reported by Jay Youngman.
42940
42941 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42942
42943         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
42944         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
42945
42946 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
42947             Bruno Haible  <bruno@clisp.org>
42948
42949         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
42950         and is a script that invokes bison. Tighten the code. Add comments.
42951
42952 2006-08-18  Jim Meyering  <jim@meyering.net>
42953
42954         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
42955         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
42956         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
42957         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
42958
42959 2006-08-18  Bruno Haible  <bruno@clisp.org>
42960
42961         * modules/bison-i18n: New file.
42962         * MODULES.html.sh (Internationalization functions): Add it.
42963
42964 2006-08-18  Bruno Haible  <bruno@clisp.org>
42965
42966         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
42967         sys/statvfs.h. When getmntinfo was found, check its declaration and
42968         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
42969
42970 2006-08-18  Bruno Haible  <bruno@clisp.org>
42971
42972         * m4/bison-i18n.m4: New file, from bison.
42973
42974 2006-08-18  Bruno Haible  <bruno@clisp.org>
42975
42976         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
42977         (ME_DUMMY): Treat "kernfs" as a dummy.
42978         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
42979
42980 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42981
42982         Update from coreutils.
42983
42984         2006-08-15  Jim Meyering  <jim@meyering.net>
42985
42986         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
42987
42988         2006-01-17  Jim Meyering  <jim@meyering.net>
42989
42990         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
42991
42992         2006-01-11  Jim Meyering  <jim@meyering.net>
42993
42994         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
42995         Check for the lchmod function.
42996
42997 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42998
42999         Update from coreutils.
43000
43001         * lib/__fpending.h: Add copyright notice.
43002         * lib/fprintftime.h: Likewise.
43003         * lib/savedir.c: Use (C) in copyright notice.
43004         * lib/savedir.h: Likewise.
43005
43006         2006-08-15  Jim Meyering  <jim@meyering.net>
43007
43008         * lib/at-func.c: New file, with the logic of all emulated at-functions.
43009         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
43010         in support of the EXPECTED_ERRNO macro.
43011         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
43012         definitions.  Instead, define the appropriate symbols and include
43013         "at-func.c".
43014         * lib/mkdirat.c (mkdirat): Likewise.
43015         * lib/fchmodat.c (fchmodat): Likewise.
43016         (ENOSYS): Remove definition.
43017         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
43018         it.  Don't include "unistd--.h" -- it wasn't ever used.
43019
43020         2006-01-17  Jim Meyering  <jim@meyering.net>
43021
43022         Rewrite fts.c not to change the current working directory,
43023         by using openat, fstatat, fdopendir, etc..
43024
43025         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
43026         (HAVE_OPENAT_SUPPORT): Define.
43027         [_LIBC] (fchdir): Don't undef or define; no longer used.
43028         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
43029         Now, this `function' always succeeds, and consumes its file descriptor
43030         parameter -- so callers must not close such FDs.  Update callers.
43031         (diropen_fd, opendirat, cwd_advance_fd): New functions.
43032         (diropen): Add parameter, SP.  Adjust all callers.
43033         Implement using diropen_fd, rather than open.
43034         (fts_open): Initialize new member, fts_cwd_fd.
43035         Remove fts_rft-setting code.
43036         (fts_close): Close fts_cwd_fd, if necessary.
43037         (__opendir2): Define in terms of opendir or opendirat,
43038         depending on whether the FST_NOCHDIR flag is set.
43039         (fts_build): Since fts_safe_changedir consumes its FD, and since
43040         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
43041         and close the dup'd file descriptor upon failure.
43042         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
43043         (fts_safe_changedir): Tweak semantics to reflect that this function
43044         now calls cwd_advance_fd and hence consumes its FD argument.
43045         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
43046         [struct FTS] (fts_rft): Remove now-unused member.
43047         [struct FTS] (fts_cycle.state): Improve comment.
43048
43049         * lib/openat.c (openat_needs_fchdir): New function.
43050         * lib/openat.h (openat_needs_fchdir): Declare it.
43051
43052 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
43053
43054         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
43055         Problem and fix reported by Pádraig Brady in
43056         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
43057
43058 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
43059
43060         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
43061
43062 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
43063
43064         * lib/memcoll.c (memcoll): Optimize for the common case where the
43065         arguments are bytewise equal.
43066
43067 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
43068
43069         * doc/regexprops-generic.texi: Add a copyright notice.
43070
43071 2006-08-15  Bruno Haible  <bruno@clisp.org>
43072
43073         * modules/tmpdir (License): Change to LGPL.
43074
43075 2006-08-15  Bruno Haible  <bruno@clisp.org>
43076
43077         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
43078         module.
43079
43080 2006-08-14  Simon Josefsson  <jas@extundo.com>
43081
43082         * config/srclist.txt: Add gnupload.
43083
43084 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
43085
43086         Change copyright notice from LGPL 2 to GPL 2, since that's the
43087         standard form used in the gnulib repository.
43088         * tests/test-lock.c: Likewise.
43089         * tests/test-stdint.c: Likewise.
43090         * tests/test-tls.c: Likewise.
43091
43092         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
43093         prelude-manager.  User shorter URLs for GNU projects, without '?'.
43094         Add copyright notice.
43095
43096         * check-module: Add copyright notice.  Output a copyright
43097         notice if "--version" is specified.
43098         * modules/COPYING: New file.
43099         * tests/test-getaddrinfo.c: Add copyright notice.
43100         * tests/test-verify.c: Likewise.
43101
43102 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
43103
43104         Change copyright notice from LGPL 2 to GPL 2, since that's the
43105         standard form used in the gnulib repository.
43106         * lib/lock.c: LGPL -> GPL.
43107         * lib/lock.h: Likewise.
43108         * lib/strnlen1.c: Likewise.
43109         * lib/strnlen1.h: Likewise.
43110         * lib/tls.c: Likewise.
43111         * lib/tls.h: Likewise.
43112         * lib/tmpdir.c: Likewise.
43113
43114         * lib/TODO: Remove; this belongs only in coreutils.
43115
43116 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
43117
43118         Add copyright notices to long-enough files that lack them, since
43119         otherwise the files aren't clearly free.  Use the same notice that
43120         getdate.texi already uses.
43121         * doc/alloca-opt.texi: Add copyright notice.
43122         * doc/alloca.texi: Likewise.
43123         * doc/ctime.texi: Likewise.
43124         * doc/functions.texi: Likewise.
43125         * doc/gcd.texi: Likewise.
43126         * doc/gnulib-tool.texi: Likewise.
43127         * doc/inet_ntoa.texi: Likewise.
43128         * doc/visibility.texi: Likewise.
43129
43130         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
43131         * doc/quote.texi: Add copyright notice.
43132
43133         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
43134         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
43135         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
43136         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
43137         is now obsolete, and give a pointer to the Sun list.
43138         Add copyright notice.
43139
43140 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
43141
43142         * config/srclistvars.sh: Add copyright notice.
43143
43144 2006-08-14  Eric Blake  <ebb9@byu.net>
43145
43146         Import the following change from libc:
43147
43148         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
43149
43150         Upstream bug 2997.
43151         * lib/misc/error.c: Add space between program name and message if file
43152         name is missing.
43153
43154 2006-08-12  Karl Berry  <karl@gnu.org>
43155
43156         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
43157         remove, these originate in gnulib now.
43158
43159 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43160
43161         * doc/Makefile (standards.info standards.html standards.dvi):
43162         Also depend on make-stds.texi.
43163
43164 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
43165
43166         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
43167         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
43168
43169         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
43170         in wchar_t.  Problem reported by Eric Blake.
43171
43172         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
43173         LEN is smaller than SIZE.  Suggested by Bruno Haible.
43174         Also, help the compiler to keep LEN in a register.
43175
43176 2006-08-11  Eric Blake  <ebb9@byu.net>
43177
43178         * users.txt: Sort.  Add tar.
43179
43180 2006-08-11  Bruno Haible  <bruno@clisp.org>
43181
43182         * users.txt: New file.
43183
43184 2006-08-11  Bruno Haible  <bruno@clisp.org>
43185
43186         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
43187         before <wchar.h>. Needed for OSF/1 and BSD/OS.
43188
43189 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
43190
43191         * modules/snprintf (Depends-on): Remove minmax.
43192         (Maintainer): Add self and Bruno.
43193
43194 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
43195
43196         * lib/.cppi-disable: Add snprintf.h, socket_.h.
43197         * lib/snprintf.c: Include <errno.h> and <limits.h>.
43198         (EOVERFLOW): Define if the system does not.
43199         Do not include "minmax.h"; it wasn't used.
43200         (snprintf): Don't assume size_t promotes to an unsigned type.
43201         Fix bug when generated string was too long for the buffer: the
43202         buffer's contents are supposed to be the initial prefix of the
43203         output.  Don't assume vasnprintf returns EOVERFLOW if the size
43204         exceeds INT_MAX; do the check ourselves.
43205
43206         Import the following changes from libc:
43207
43208         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
43209
43210         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
43211         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
43212         set wc to the byte which couldn't be converted.
43213         (re_string_reconstruct): Don't clear valid_raw_len before calling
43214         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
43215         tip_context using re_string_context_at.
43216
43217         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
43218
43219         * lib/posix/regex.h: g++ still cannot handled [restrict].
43220
43221         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
43222
43223         * lib/posix/regex.h: Remove special handling for VMS.
43224
43225 2006-08-10  Jim Meyering  <jim@meyering.net>
43226
43227         * modules/same-inode: New module.
43228         * modules/dev-ino: New module.
43229         * modules/cycle-check: Depend on these modules, rather than simply
43230         including their .h files.
43231         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
43232         required via m4/cycle-check.m4.
43233         * modules/same: Depend on new same-inode module, rather than
43234         including same-inode.h.
43235         * modules/chdir-safer: New file.
43236
43237         * modules/chown (Depends-on): Add stat-macros.
43238
43239 2006-08-10  Jim Meyering  <jim@meyering.net>
43240
43241         * m4/cycle-check.m4: New file.
43242         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
43243         * m4/dev-ino.m4, m4/same-inode.m4: New files.
43244
43245 2006-08-10  Eric Blake  <ebb9@byu.net>
43246
43247         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
43248         in from original proposal.
43249
43250 2006-08-10  Eric Blake  <ebb9@byu.net>
43251         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
43252
43253         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
43254         namespace.
43255
43256 2006-08-10  Bruno Haible  <bruno@clisp.org>
43257
43258         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
43259         as well.
43260
43261 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43262
43263         Sync from coreutils.
43264
43265         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
43266
43267         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
43268         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
43269
43270 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43271
43272         * modules/restrict: Remove; no longer needed now that we assume
43273         Autoconf 2.59 or later.
43274         * MODULES.html.sh: Remove 'restrict'.
43275         * modules/argp (Depends-on): Remove 'restrict'.
43276         * modules/base64 (Depends-on): Likewise.
43277         * modules/gc (Depends-on): Likewise.
43278         * modules/getaddrinfo (Depends-on): Likewise.
43279         * modules/glob (Depends-on): Likewise.
43280         * modules/inet_ntop (Depends-on): Likewise.
43281         * modules/inet_pton (Depends-on): Likewise.
43282         * modules/memxor (Depends-on): Likewise.
43283         * modules/regex (Depends-on): Likewise.
43284         * modules/strtok_r (Depends-on): Likewise.
43285         * modules/time_r (Depends-on): Likewise.
43286
43287 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43288
43289         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
43290         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
43291         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
43292         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
43293         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
43294         * m4/memxor.m4 (gl_MEMXOR): Likewise.
43295         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
43296         gl_C_RESTRICT replaced by AC_C_RESTRICT.
43297
43298         Merge from coreutils.
43299         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
43300         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
43301         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
43302         * m4/time_r.m4 (gl_TIME_R): Likewise.
43303
43304 2006-08-09  Karl Berry  <karl@gnu.org>
43305
43306         * config/srclist.txt: no more gettext-tools, per Bruno.
43307
43308 2006-08-08  Eric Blake  <ebb9@byu.net>
43309
43310         * modules/verror: New module.
43311         * MODULES.html.sh: Document it.
43312
43313 2006-08-08  Eric Blake  <ebb9@byu.net>
43314
43315         * lib/verror.h, lib/verror.c: New files.
43316
43317 2006-08-08  Eric Blake  <ebb9@byu.net>
43318
43319         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
43320         verror_at_line output complies with GNU Coding Standards even when
43321         file is NULL.
43322
43323 2006-08-07  Bruno Haible  <bruno@clisp.org>
43324
43325         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
43326         versions of AIX.
43327         Reported by Ralf Wildenhues.
43328
43329 2006-08-07  Bruno Haible  <bruno@clisp.org>
43330
43331         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
43332         in an AC_DEFUN. Needed so that the autoconf snippets can use
43333         AC_REQUIRE.
43334
43335 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43336
43337         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43338         Initialize pkgdata_DATA.
43339         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
43340         overriding it.
43341
43342 2006-08-06  Eric Blake  <ebb9@byu.net>
43343
43344         * lib/error.h: Fold in some upstream changes from glibc.
43345         * lib/error.c: Likewise.
43346
43347 2006-08-04  Bruno Haible  <bruno@clisp.org>
43348
43349         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43350         Make the mostlyclean-local rule depend on mostlyclean-generic.
43351         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
43352
43353 2006-07-31  Bruno Haible  <bruno@clisp.org>
43354
43355         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
43356         <stdlib.h>, <string.h>.
43357
43358 2006-07-30  Bruno Haible  <bruno@clisp.org>
43359
43360         * modules/readlink (License): Change to LGPL.
43361
43362 2006-07-30  Bruno Haible  <bruno@clisp.org>
43363
43364         * modules/javaversion (Makefile.am): Distribute javaversion.java and
43365         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
43366         set PKGDATADIR to point to it.
43367
43368 2006-07-30  Bruno Haible  <bruno@clisp.org>
43369
43370         * modules/csharpexec (configure.ac): Comment out macro invocation.
43371         * modules/javaexec (configure.ac): Likewise.
43372         * modules/javacomp-script (configure.ac): Likewise.
43373
43374         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
43375
43376 2006-07-30  Bruno Haible  <bruno@clisp.org>
43377
43378         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
43379         linked-list.
43380
43381 2006-07-30  Bruno Haible  <bruno@clisp.org>
43382
43383         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
43384
43385 2006-07-30  Bruno Haible  <bruno@clisp.org>
43386
43387         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43388         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
43389         get removed.
43390
43391 2006-07-29  Bruno Haible  <bruno@clisp.org>
43392
43393         Make it possible for gnulib-tool to work with locally modified or
43394         augmented gnulib repositories.
43395         * gnulib-tool (func_usage): Document --local-dir option.
43396         (local_gnulib_dir): New variable.
43397         Handle --local-dir option.
43398         (func_lookup_file): New function.
43399         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
43400         (func_get_description, func_get_filelist, func_get_description,
43401         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
43402         func_get_automake_snippet, func_get_include_directive,
43403         func_get_license, func_get_maintainer): Use func_lookup_file.
43404         (func_import, func_create_testdir): Use func_lookup_file.
43405
43406 2006-07-29  Bruno Haible  <bruno@clisp.org>
43407
43408         * modules/setenv (Depends-on): Add unistd.
43409
43410 2006-07-29  Bruno Haible  <bruno@clisp.org>
43411
43412         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
43413
43414 2006-07-29  Bruno Haible  <bruno@clisp.org>
43415
43416         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
43417
43418 2006-07-29  Bruno Haible  <bruno@clisp.org>
43419
43420         * gnulib-tool (import, update): If there is no Makefile.am, look at
43421         aclocal.m4, instead of bailing out.
43422
43423 2006-07-29  Bruno Haible  <bruno@clisp.org>
43424
43425         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
43426         Categorize the options by when they are useful.
43427
43428 2006-07-29  Bruno Haible  <bruno@clisp.org>
43429
43430         * gnulib-tool (func_usage): Document option --no-libtool.
43431         Handle option --no-libtool.
43432         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
43433         for changed semantics of $libtool variable.
43434         (func_import): Likewise. If libtool is not used, show this through
43435         an option --no-libtool.
43436         (func_create_testdir): Update.
43437
43438 2006-07-29  Bruno Haible  <bruno@clisp.org>
43439
43440         * gnulib-tool (func_import): Extend error message about missing
43441         --doc-base.
43442
43443 2006-07-29  Bruno Haible  <bruno@clisp.org>
43444
43445         * gnulib-tool (func_import): Don't create the $docbase directory if
43446         there is no file to store there.
43447
43448 2006-07-29  Bruno Haible  <bruno@clisp.org>
43449
43450         * gnulib-tool (autoconf_minversion): If a --dir option is given and
43451         relevant, look for configure.ac there, not in the current directory.
43452         Also use a simple search for AC_PREREQ, not "autoconf --trace".
43453
43454 2006-07-29  Bruno Haible  <bruno@clisp.org>
43455
43456         * gnulib-tool (SORT): New variable.
43457         (func_usage): Undocument --assume-autoconf option.
43458         Remove --assume-autoconf option handling.
43459         (autoconf_minversion): Determine from the contents of configure.ac.
43460         (func_import): Remove autoconf_minversion handling.
43461         Suggested by Eric Blake.
43462
43463 2006-07-29  Bruno Haible  <bruno@clisp.org>
43464
43465         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
43466
43467 2006-07-29  Bruno Haible  <bruno@clisp.org>
43468
43469         * config/srclist.txt (*setenv.[ch]): Remove rules.
43470
43471 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43472
43473         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
43474
43475 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43476
43477         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
43478         arpa/inet.h.
43479
43480 2006-07-28  Simon Josefsson  <jas@extundo.com>
43481
43482         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
43483         * modules/inet_pton (Depends-on): Likewise.
43484
43485 2006-07-28  Simon Josefsson  <jas@extundo.com>
43486
43487         * m4/netinet_in_h.m4: New file.
43488
43489 2006-07-28  Simon Josefsson  <jas@extundo.com>
43490
43491         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
43492         #include's.
43493
43494 2006-07-28  Simon Josefsson  <jas@extundo.com>
43495
43496         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
43497         #include's.
43498
43499 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
43500
43501         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
43502         setgid on directories only if they set these bits.
43503         * lib/modechange.h: Remove obsolete comment about masks.
43504
43505 2006-07-28  Eric Blake  <ebb9@byu.net>
43506
43507         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
43508         macro expansion.
43509
43510 2006-07-28  Bruno Haible  <bruno@clisp.org>
43511
43512         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
43513
43514 2006-07-28  Bruno Haible  <bruno@clisp.org>
43515
43516         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
43517
43518 2006-07-28  Bruno Haible  <bruno@clisp.org>
43519
43520         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
43521         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
43522         Define fallbacks.
43523         Avoids link error on FreeBSD 4.x.
43524         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
43525
43526         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
43527         encoding.
43528         * lib/mbswidth.c (iswcntrl): Likewise.
43529
43530 2006-07-27  Bruno Haible  <bruno@clisp.org>
43531
43532         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
43533         test.
43534
43535 2006-07-27  Bruno Haible  <bruno@clisp.org>
43536
43537         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
43538         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
43539         defined.
43540
43541 2006-07-26  Eric Blake  <ebb9@byu.net>
43542
43543         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
43544
43545 2006-07-26  Eric Blake  <ebb9@byu.net>
43546
43547         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
43548         like mingw that lack mkstemp.
43549         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
43550         avoid compilation warning on mingw.
43551
43552 2006-07-26  Bruno Haible  <bruno@clisp.org>
43553
43554         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
43555         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
43556         INT_FAST*_MIN, INTPTR_MIN.
43557
43558 2006-07-25  Bruno Haible  <bruno@clisp.org>
43559
43560         * modules/version-etc (Depends-on): Add stdarg.
43561
43562 2006-07-25  Bruno Haible  <bruno@clisp.org>
43563
43564         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
43565         complex commands.
43566
43567 2006-07-25  Bruno Haible  <bruno@clisp.org>
43568
43569         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
43570         defined in <stdarg.h> or config.h.
43571
43572 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
43573
43574         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
43575         (gl_STDIO_SAFER): Remove.
43576
43577 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
43578
43579         * MODULES.html.sh (File stream based Input/Output):
43580         Add fopen-safer, tmpfile-safer; remove stdio-safer.
43581         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
43582         * modules/fopen-safer, modules/tmpfile-safer: New files.
43583         * modules/stdio-safer: Remove.
43584
43585 2006-07-24  Bruno Haible  <bruno@clisp.org>
43586
43587         * modules/tmpdir: New file.
43588         * MODULES.html.sh (File system functions): Add it.
43589
43590 2006-07-24  Bruno Haible  <bruno@clisp.org>
43591
43592         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
43593         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
43594
43595 2006-07-24  Bruno Haible  <bruno@clisp.org>
43596
43597         * modules/clean-temp: New file.
43598
43599 2006-07-24  Bruno Haible  <bruno@clisp.org>
43600
43601         * m4/tmpdir.m4: New file, from GNU gettext.
43602
43603 2006-07-24  Bruno Haible  <bruno@clisp.org>
43604
43605         * lib/tmpdir.h: New file, from GNU gettext.
43606         * lib/tmpdir.c: New file, from GNU gettext.
43607
43608 2006-07-24  Bruno Haible  <bruno@clisp.org>
43609
43610         * lib/clean-temp.h: New file, from GNU gettext.
43611         * lib/clean-temp.c: New file, from GNU gettext.
43612
43613 2006-07-23  Eric Blake  <ebb9@byu.net>
43614
43615         * modules/stdio-safer (Files): Add tmpfile-safer.c.
43616         (Depends-on): Add binary-io.
43617
43618 2006-07-23  Eric Blake  <ebb9@byu.net>
43619
43620         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
43621
43622 2006-07-23  Eric Blake  <ebb9@byu.net>
43623
43624         * lib/tmpfile-safer.c: New file.
43625         * lib/stdio-safer.h (fopen_safer): Add prototype.
43626         * lib/stdio--.h (tmpfile): Make safer.
43627
43628 2006-07-23  Bruno Haible  <bruno@clisp.org>
43629
43630         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
43631         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
43632         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
43633         gl_linked_remove_at): Use it.
43634
43635 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43636         and Simon Josefsson <jas@extundo.com>
43637
43638         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
43639
43640         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
43641
43642 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
43643
43644         * modules/close-stream: New file.
43645         * modules/closeout (Description): Make it clear that it exits
43646         with a diagnostic on error.
43647         (Depends-on): Add close-stream.  Remove fpending, stdbool.
43648         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
43649
43650 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
43651
43652         * m4/close-stream.m4: New file.
43653
43654 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
43655
43656         * lib/close-stream.c, lib/close-stream.h: New files.
43657
43658 2006-07-22  Bruno Haible  <bruno@clisp.org>
43659
43660         Merge from GNU gettext 0.15.
43661
43662         2006-05-01  Bruno Haible  <bruno@clisp.org>
43663
43664                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
43665
43666         2006-07-22  Bruno Haible  <bruno@clisp.org>
43667
43668                 * modules/javaversion: New file.
43669                 * MODULES.html.sh (Java): Add javaversion.
43670
43671         2006-03-12  Bruno Haible  <bruno@clisp.org>
43672
43673                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
43674
43675         2005-12-04  Bruno Haible  <bruno@clisp.org>
43676
43677                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
43678                 (untested).
43679
43680         2006-06-21  Bruno Haible  <bruno@clisp.org>
43681
43682                 Avoid warnings from recent versions of mcs.
43683                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
43684                 -o, -L, -r any more. Use options documented since mcs-1.0
43685                 instead. Similarly for -g.
43686
43687         2005-12-04  Bruno Haible  <bruno@clisp.org>
43688
43689                 * build-aux/csharpcomp.sh.in: Suffix for resources is
43690                 .resources, not .resource.
43691
43692         2005-07-09  Bruno Haible  <bruno@clisp.org>
43693
43694                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
43695                 add a .dll suffix.
43696                 Reported by Mark Junker <mjscod@gmx.de>.
43697
43698         2006-07-22  Bruno Haible  <bruno@clisp.org>
43699
43700                 * modules/gettext: Upgrade to gettext-0.15.
43701                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
43702                 m4/visibility.m4.
43703                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
43704
43705 2006-07-22  Bruno Haible  <bruno@clisp.org>
43706
43707         Merge from GNU gettext 0.15.
43708
43709         2006-03-25  Bruno Haible  <bruno@clisp.org>
43710
43711                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
43712
43713         2006-07-21  Bruno Haible  <bruno@clisp.org>
43714
43715                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
43716                 "1.1".
43717
43718         2006-05-09  Bruno Haible  <bruno@clisp.org>
43719
43720                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
43721                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
43722                 for the conftestver execution.
43723
43724         2006-05-01  Bruno Haible  <bruno@clisp.org>
43725
43726                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
43727                 optional target-version argument. Verify that the compiler
43728                 groks source of the specified source-version, or add -source
43729                 option as necessary. Verify that the compiler produces
43730                 bytecode in the specified target-version, or add -target and
43731                 -source options as necessary. Make the result of the test
43732                 available as variable CONF_JAVAC. Also log error output in
43733                 config.log.
43734
43735         2006-03-11  Bruno Haible  <bruno@clisp.org>
43736
43737                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
43738
43739         2006-05-09  Bruno Haible  <bruno@clisp.org>
43740
43741                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
43742                 CLASSPATH_SEPARATOR to a semicolon.
43743
43744         2006-03-12  Bruno Haible  <bruno@clisp.org>
43745
43746                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
43747                 available as variable CONF_JAVA, for subsequent autoconf
43748                 tests. Also log error output in config.log.
43749
43750         2006-07-19  Bruno Haible  <bruno@clisp.org>
43751
43752                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
43753                 that getline works on glibc2 systems. Needed to avoid trouble
43754                 in relocatable.c.
43755                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
43756
43757         2005-12-04  Bruno Haible  <bruno@clisp.org>
43758
43759                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
43760                 launcher (untested).
43761
43762         2005-12-04  Bruno Haible  <bruno@clisp.org>
43763
43764                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
43765
43766         2006-07-22  Bruno Haible  <bruno@clisp.org>
43767
43768                 * gettext.m4: Update from GNU gettext-0.15.
43769                 * nls.m4: Likewise.
43770                 * po.m4: Likewise.
43771                 * inttypes-pri.m4: Likewise.
43772                 * inttypes-h.m4: Renamed from inttypes.m4.
43773                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
43774
43775 2006-07-22  Bruno Haible  <bruno@clisp.org>
43776
43777         Merge from GNU gettext 0.15.
43778
43779         2005-07-05  Bruno Haible  <bruno@clisp.org>
43780
43781                 * printf-args.c (printf_fetchargs): Work around broken
43782                 definition of wint_t on mingw.
43783
43784         2005-02-12  Bruno Haible  <bruno@clisp.org>
43785
43786                 * xallocsa.h: Add extern "C" for C++.
43787
43788         2006-05-17  Bruno Haible  <bruno@clisp.org>
43789
43790                 Cygwin portability.
43791                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
43792
43793         2006-04-30  Bruno Haible  <bruno@clisp.org>
43794
43795                 * progreloc.c: Include <mach-o/dyld.h> if available.
43796                 (find_executable): Use _NSGetExecutablePath when possible.
43797
43798         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
43799
43800                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
43801                 function.
43802
43803         2005-12-29  Bruno Haible  <bruno@clisp.org>
43804
43805                 * progreloc.c (set_program_name_and_installdir): Fix
43806                 compilation error.
43807
43808         2005-12-04  Bruno Haible  <bruno@clisp.org>
43809
43810                 Cygwin portability.
43811                 * progreloc.c: Include <windows.h> also on Cygwin.
43812                 (find_executable): Add support for Cygwin.
43813                 (set_program_name_and_installdir): Handle also platforms with
43814                 nonempty EXEEXT.
43815
43816         2006-07-11  Bruno Haible  <bruno@clisp.org>
43817
43818                 * javacomp.c: Fix a comment.
43819                 Reported by Jim Meyering.
43820
43821         2006-04-30  Bruno Haible  <bruno@clisp.org>
43822
43823                 * javacomp.h (compile_java_class): Add source_version,
43824                 target_version arguments.
43825                 * javacomp.c: Rewritten to choose only a compiler that
43826                 respects the specified source_version and target_version.
43827
43828         2006-06-27  Bruno Haible  <bruno@clisp.org>
43829
43830                 Assume correct S_ISDIR macro.
43831                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
43832
43833         2006-07-22  Bruno Haible  <bruno@clisp.org>
43834
43835                 * javaversion.h: New file, from GNU gettext.
43836                 * javaversion.c: New file, from GNU gettext.
43837                 * javaversion.java: New file, from GNU gettext.
43838                 * javaversion.class: New file, from GNU gettext.
43839
43840         2006-05-17  Bruno Haible  <bruno@clisp.org>
43841
43842                 Cygwin portability.
43843                 * javaexec.c (execute_java_class): Test for jview program
43844                 also on Cygwin.
43845
43846         2006-04-09  Bruno Haible  <bruno@clisp.org>
43847
43848                 * fatal-signal.c: Don't include string.h.
43849                 (at_fatal_signal): Use a copying loop instead of memcpy.
43850
43851         2005-12-04  Bruno Haible  <bruno@clisp.org>
43852
43853                 * csharpexec.c: Add support for 'clix' launcher (untested).
43854                 (execute_csharp_using_sscli): New function.
43855                 (execute_csharp_program): Call it.
43856
43857         2006-06-21  Bruno Haible  <bruno@clisp.org>
43858
43859                 Avoid warnings from recent versions of mcs.
43860                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
43861                 -o, -L, -r any more. Use options documented since mcs-1.0
43862                 instead. Similarly for -g.
43863
43864         2005-07-09  Bruno Haible  <bruno@clisp.org>
43865
43866                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
43867                 add a .dll suffix.
43868                 Reported by Mark Junker <mjscod@gmx.de>.
43869
43870         2006-06-17  Bruno Haible  <bruno@clisp.org>
43871
43872                 * config.charset: Update for NetBSD 3.0.
43873
43874         2006-05-17  Bruno Haible  <bruno@clisp.org>
43875
43876                 Cygwin portability.
43877                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
43878
43879         2006-05-16  Bruno Haible  <bruno@clisp.org>
43880
43881                 * localcharset.c [CYGWIN]: Include <windows.h>.
43882                 (get_charset_aliases): For Cygwin, return the same CPxxx
43883                 aliases list as under WIN32.
43884                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
43885                 the environment variables. Fall back to GetACP().
43886
43887         2006-04-05  Bruno Haible  <bruno@clisp.org>
43888
43889                 * config.charset: Update Juan Manuel Guerrero's address.
43890
43891         2005-02-12  Bruno Haible  <bruno@clisp.org>
43892
43893                 * allocsa.h: Add extern "C" for C++.
43894
43895         2005-02-10  Bruno Haible  <bruno@clisp.org>
43896
43897                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
43898                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
43899
43900         2006-07-22  Bruno Haible  <bruno@clisp.org>
43901
43902                 * gettext.h: Update to GNU gettext-0.15.
43903
43904 2006-07-22  Bruno Haible  <bruno@clisp.org>
43905
43906         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
43907         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
43908         lib-prefix.m4, longdouble.m4, ssize_t.m4.
43909
43910 2006-07-21  Eric Blake  <ebb9@byu.net>
43911
43912         * modules/stdlib-safer: New file.
43913         * MODULES.html.sh (File stream based Input/Output): Add
43914         stdlib-safer.
43915
43916 2006-07-21  Eric Blake  <ebb9@byu.net>
43917
43918         * lib/stdlib-safer.h: New file from coreutils, required by
43919         stdlib--.h.
43920
43921 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
43922
43923         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
43924
43925 2006-07-20  Bruno Haible  <bruno@clisp.org>
43926
43927         * gnulib-tool: Recognize new option --assume-autoconf.
43928         (autoconf_minversion): New variable.
43929         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
43930
43931 2006-07-20  Bruno Haible  <bruno@clisp.org>
43932
43933         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
43934
43935 2006-07-19  Derek R. Price  <derek@ximbiot.com>
43936
43937         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
43938         Reindent and repaginate.
43939
43940 2006-07-19  Derek Price  <derek@ximbiot.com>
43941
43942         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
43943         Correct grammar.
43944
43945 2006-07-17  Bruno Haible  <bruno@clisp.org>
43946
43947         * modules/list: New file.
43948         * modules/array-list: New file.
43949         * modules/carray-list, modules/carray-list-tests: New files.
43950         * modules/linked-list, modules/linked-list-tests: New files.
43951         * modules/avltree-list, modules/avltree-list-tests: New files.
43952         * modules/rbtree-list, modules/rbtree-list-tests: New files.
43953         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
43954         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
43955         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
43956         * modules/oset: New file.
43957         * modules/array-oset: New file.
43958         * modules/avltree-oset, modules/avltree-oset-tests: New files.
43959         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
43960         * tests/test-carray_list.c: New file.
43961         * tests/test-linked_list.c: New file.
43962         * tests/test-avltree_list.c: New file.
43963         * tests/test-rbtree_list.c: New file.
43964         * tests/test-linkedhash_list.c: New file.
43965         * tests/test-avltreehash_list.c: New file.
43966         * tests/test-rbtreehash_list.c: New file.
43967         * tests/test-avltree_oset.c: New file.
43968         * tests/test-rbtree_oset.c: New file.
43969         * MODULES.html.sh (Container data structures): New section.
43970
43971 2006-07-17  Bruno Haible  <bruno@clisp.org>
43972
43973         * m4/gl_list.m4: New file.
43974
43975 2006-07-17  Bruno Haible  <bruno@clisp.org>
43976
43977         * lib/gl_list.h: New file.
43978         * lib/gl_list.c: New file.
43979         * lib/gl_array_list.h: New file.
43980         * lib/gl_array_list.c: New file.
43981         * lib/gl_carray_list.h: New file.
43982         * lib/gl_carray_list.c: New file.
43983         * lib/gl_linked_list.h: New file.
43984         * lib/gl_linked_list.c: New file.
43985         * lib/gl_anylinked_list1.h: New file.
43986         * lib/gl_anylinked_list2.h: New file.
43987         * lib/gl_avltree_list.h: New file.
43988         * lib/gl_avltree_list.c: New file.
43989         * lib/gl_anyavltree_list1.h: New file.
43990         * lib/gl_anyavltree_list2.h: New file.
43991         * lib/gl_rbtree_list.h: New file.
43992         * lib/gl_rbtree_list.c: New file.
43993         * lib/gl_anyrbtree_list1.h: New file.
43994         * lib/gl_anyrbtree_list2.h: New file.
43995         * lib/gl_anytree_list1.h: New file.
43996         * lib/gl_anytree_list2.h: New file.
43997         * lib/gl_linkedhash_list.h: New file.
43998         * lib/gl_linkedhash_list.c: New file.
43999         * lib/gl_anyhash_list1.h: New file.
44000         * lib/gl_anyhash_list2.h: New file.
44001         * lib/gl_avltreehash_list.h: New file.
44002         * lib/gl_avltreehash_list.c: New file.
44003         * lib/gl_rbtreehash_list.h: New file.
44004         * lib/gl_rbtreehash_list.c: New file.
44005         * lib/gl_anytreehash_list1.h: New file.
44006         * lib/gl_anytreehash_list2.h: New file.
44007
44008         * lib/gl_oset.h: New file.
44009         * lib/gl_oset.c: New file.
44010         * lib/gl_array_oset.h: New file.
44011         * lib/gl_array_oset.c: New file.
44012         * lib/gl_avltree_oset.h: New file.
44013         * lib/gl_avltree_oset.c: New file.
44014         * lib/gl_rbtree_oset.h: New file.
44015         * lib/gl_rbtree_oset.c: New file.
44016         * lib/gl_anytree_oset.h: New file.
44017
44018 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
44019
44020         * m4/mkancesdirs.m4: New file.
44021         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
44022         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
44023         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
44024         it.
44025
44026 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
44027
44028         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
44029         * lib/mkancesdirs.h: New files.
44030         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
44031         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
44032         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
44033         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
44034         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
44035         callers changed.  Revamp internals significantly, by not
44036         attempting to create directories that are temporarily more
44037         permissive than the final results.  Do not attempt to use
44038         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
44039         This removes some race conditions, fixes some bugs, and simplifies
44040         things.  Use new dirchownmod function to do owner and mode changes.
44041         * lib/mkdir-p.h: Likewise.
44042         * lib/modechange.c (octal_to_mode): New function.
44043         (struct mode_change): New member mentioned.
44044         (make_node_op_equals): New arg mentioned.  All callers changed.
44045         (mode_compile): Keep track of which mode bits the user has explicitly
44046         mentioned.
44047         (mode_adjust): New arg DIR, so that we implement the X op correctly.
44048         New arg PMODE_BITS, to keep track of which mode bits the user
44049         mentioned; it treats S_ISUID and S_ISGID speciall.
44050         All callers changed.
44051         * lib/modechange.h: Likewise.
44052
44053 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
44054
44055         * MODULES.html.sh: Add mkancestors.
44056         * modules/mkancesdirs: New module.
44057         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
44058         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
44059         The chdir-safer and afs files are now orphans; I'll remove them
44060         unless someone speaks up.
44061         Add lib/dirchownmod.c, lib/dirchownmod.h.
44062         (Depends-on): Remove alloca, chown, save-cwd, dirname.
44063         Add lchown, mkancesdirs.
44064         (Maintainer): Add self.
44065
44066 2006-07-15  Karl Berry  <karl@gnu.org>
44067
44068         * gnulib-tool: help message wording/arrangement.
44069
44070 2006-07-14  Simon Josefsson  <jas@extundo.com>
44071
44072         * doc/gnulib.texi (Libtool and Windows): New section.
44073
44074 2006-07-12  Simon Josefsson  <jas@extundo.com>
44075
44076         * modules/gendocs (License): Fix license, approved by Karl.
44077
44078 2006-07-12  Eric Blake  <ebb9@byu.net>
44079
44080         * MODULES.html.sh: Add gendocs.
44081
44082 2006-07-11  Eric Blake  <ebb9@byu.net>
44083
44084         * modules/fdl: New module, to install doc/fdl.texi.
44085         * MODULES.html.sh: Add new section for documentation modules.
44086         * gnulib-tool: Avoid space-tab.
44087         (--doc-base): New option, to manage files from doc.
44088
44089 2006-07-11  Eric Blake  <ebb9@byu.net>
44090
44091         * m4/absolute-header.m4: Fix comments to match recent change.
44092
44093 2006-07-11  Eric Blake  <ebb9@byu.net>
44094
44095         * gnulib-tool: List --doc-base before --tests-base.
44096
44097 2006-07-11  Derek R. Price  <derek@ximbiot.com>
44098
44099         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
44100
44101 2006-07-11  Bruno Haible  <bruno@clisp.org>
44102
44103         * README: Mention where to put documentation.
44104
44105 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44106
44107         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
44108
44109 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
44110
44111         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
44112         to stdint.m4.
44113
44114 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
44115
44116         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
44117         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
44118         "no/such/file/stdint.h" when there is no such file, so that
44119         the resulting C code can be parsed by dodgy compilers.
44120         Problems reported by Bob Proulx.
44121
44122 2006-07-10  Derek R. Price  <derek@ximbiot.com>
44123
44124         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
44125         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
44126         macros into the GNU _D_EXACT_NAMLEN.
44127         * lib/savedir.c:  Likewise.
44128         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
44129
44130 2006-07-10  Derek R. Price  <derek@ximbiot.com>
44131         and Paul Eggert  <eggert@cs.ucla.edu>
44132
44133         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
44134         * m4/savedir.m4:
44135         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
44136         macros into the GNU _D_EXACT_NAMLEN.
44137
44138 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
44139
44140         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
44141         around the absolute name, to work around a problem with the HP-UX
44142         11.23 native C compiler, reported by Bob Proulx.
44143
44144 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
44145
44146         * doc/maintain.texi, make-stds.texi: Sync from
44147         <http://savannah.gnu.org/projects/gnustandards>.
44148
44149 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
44150
44151         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
44152
44153 2006-07-09  Jim Meyering  <jim@meyering.net>
44154
44155         * m4/glob.m4: Remove a doubled word in a comment.
44156
44157 2006-07-09  Jim Meyering  <jim@meyering.net>
44158
44159         * lib/argp-pv.c: Remove a doubled word in a comment.
44160         * lib/check-version.c (check_version): Likewise.
44161         * lib/javacomp.c (compile_java_class): Likewise.
44162
44163 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
44164
44165         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
44166         for the benefit of people using Autoconf 2.60.  If you want to
44167         support older Autoconf versions you can copy m4/onceonly_2_57.m4
44168         (or m4/onceonly.m4, if pre-2.57) manually.
44169
44170 2006-07-08  Jim Meyering  <jim@meyering.net>
44171
44172         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
44173         comment.
44174         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
44175         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
44176         comment.
44177
44178 2006-07-08  Jim Meyering  <jim@meyering.net>
44179
44180         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
44181
44182 2006-07-07  Simon Josefsson  <jas@extundo.com>
44183
44184         * tests/test-crc.c: Change expected crc value, the test vector
44185         were probably computed using the old broken crc.c?
44186
44187 2006-07-06  Simon Josefsson  <jas@extundo.com>
44188
44189         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
44190         now the canonical place for the M4 file).
44191
44192         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
44193         from the sys_socket dependency now.
44194
44195         * modules/inet_pton (Files): Ditto.
44196
44197         * modules/inet_ntop (Files): Ditto.
44198
44199 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
44200
44201         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
44202         not gl_PREREQ_GETUSERSHELL.
44203
44204 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44205
44206         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
44207         with only one argument, for Autoconf 2.60.
44208         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
44209         expand to nothing, so add a shell command to avoid syntax error.
44210         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
44211
44212 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44213
44214         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
44215
44216 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
44217
44218         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
44219         no longer needed.  Check for isblank decl.
44220         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
44221         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
44222         of existence.
44223
44224 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
44225
44226         * lib/getloadavg.c: Use __VMS, not VMS.
44227         * lib/getopt.c: Likewise.
44228         * lib/getpagesize.h: Likewise.
44229         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
44230         and probably does not work.
44231
44232 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
44233
44234         * lib/.cppi-disable: Add wcwidth.
44235         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
44236         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
44237         (ISGRAPH): Remove.  All uses changed to isgraph.
44238         (FOLD) [!defined _LIBC]: Remove special case.
44239         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
44240         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
44241         HAVE_ISBLANK.
44242         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
44243         case.
44244
44245 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
44246
44247         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
44248         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
44249         brackets.  Other minor changes to suppress some compiler
44250         warnings.
44251
44252 2006-07-06  Derek R. Price  <derek@ximbiot.com>
44253         and Paul Eggert  <eggert@cs.ucla.edu>
44254
44255         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
44256         of invoking obsolescent AC_HEADER_DIRENT macro.
44257         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
44258         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
44259         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
44260         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
44261         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
44262         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
44263         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
44264         * m4/readdir.m4: Remove; no longer needed.
44265
44266 2006-07-06  Derek R. Price  <derek@ximbiot.com>
44267         and Paul Eggert  <eggert@cs.ucla.edu>
44268
44269         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
44270         Don't worry about this obsolete case any more.
44271         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
44272         directories.
44273         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
44274         worry about this obsolete case any more.
44275         * lib/fts.c: Likewise.
44276         * lib/getcwd.c: Likewise.
44277         * lib/glob.h: Likewise.
44278         * lib/savedir.c: Likewise.
44279
44280 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
44281
44282         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
44283         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
44284         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
44285         needed.
44286         All uses removed.
44287         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
44288         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
44289         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
44290         needed.
44291         * m4/getdate.m4 (gl_GETDATE): Likewise.
44292         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
44293         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
44294         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
44295         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
44296         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
44297         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
44298         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
44299         needed.
44300
44301 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
44302
44303         * lib/memcasecmp.c: Include <limits.h>.
44304         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
44305         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
44306         Don't assume isdigit succeeds only on '0' through '9'.
44307
44308 2006-07-05  Eric Blake  <ebb9@byu.net>
44309
44310         * modules/getaddrinfo (Depends-on): Add snprintf.
44311
44312 2006-07-05  Eric Blake  <ebb9@byu.net>
44313
44314         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
44315         to avoid 'header present but could not be compiled' on cygwin.
44316
44317 2006-07-05  Eric Blake  <ebb9@byu.net>
44318
44319         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
44320         missing from netdb.h.
44321         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
44322
44323 2006-07-05  Derek R. Price  <derek@ximbiot.com>
44324
44325         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
44326         no longer needed.
44327         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
44328         * m4/getdate.m4 (gl_GETDATE): Likewise.
44329         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
44330         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
44331         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
44332         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
44333         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
44334
44335 2006-07-05  Derek R. Price  <derek@ximbiot.com>
44336
44337         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
44338         All uses of is_space replaced by isspace.
44339         * lib/exit.h: Don't talk about STDC_HEADERS.
44340         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
44341         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
44342         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
44343         replaced by isprint etc.
44344         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
44345         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
44346         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
44347         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
44348         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
44349         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
44350
44351 2006-07-05  Bruno Haible  <bruno@clisp.org>
44352
44353         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
44354         the function exists, before testing against AIX.
44355         Reported by Martin Lambers <marlam@marlam.de>.
44356
44357 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
44358
44359         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
44360         From Mark D. Baushke.
44361
44362 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
44363
44364         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
44365         to the absolute name, not just one, to bypass Sun C 5.8's
44366         "warning: #include of /usr/include/... may be non-portable".
44367
44368 2006-07-04  Eric Blake  <ebb9@byu.net>
44369
44370         * modules/dirname-tests: New test module.
44371         * tests/test-dirname.c: New file, replacing dirname.c
44372         TEST_DIRNAME section that was recently deleted.
44373
44374 2006-07-04  Bruno Haible  <bruno@clisp.org>
44375
44376         Assume ANSI C header files and <ctype.h> functions.
44377         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
44378         (mbsnwidth): Use isprint, iscntrl instead.
44379
44380 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44381
44382         Merge from coreutils.
44383         * MODULES.html.sh: Add xstrtold.
44384         * modules/xstrtold: New file.
44385         * modules/cycle-check (Files): Add lib/same-inode.h.
44386         * modules/dirname (Files): Add m4/double-slash-root.m4.
44387         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
44388         * modules/mkdir-p (Files): Add lib/same-inode.h.
44389         * modules/same (Files): Add lib/same-inode.h.
44390
44391 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44392
44393         * m4/absolute-header.m4: Renamed from full-header-path.m4.
44394         This is to keep the terminology clean; POSIX talks about
44395         "absolute pathnames", not "full pathnames", but the GNU
44396         Coding Standards say to use "path" for something else;
44397         so use "absolute" to keep both sides happy.
44398         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
44399         Set gl_absolute_header, not gl_full_header_path.
44400         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
44401         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
44402         All uses changed.
44403
44404         Merge from coreutils.
44405
44406         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
44407
44408         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
44409         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
44410         want to require the building of c-strtod.o.
44411         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
44412         needs -lm directly.
44413         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
44414
44415         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
44416
44417         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
44418         --as-needed option if available.  Problem reported by Albert Chin in
44419         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
44420         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
44421         cc merely issues a bunch of annoying warnings for --as-needed
44422         (this problem was reported by Bob Proulx).  Also, try linking with
44423         -lm to detect a bug in binutils 2.16 (this problem was reported
44424         by Ralf Wildenhues).
44425
44426         2006-06-18  Jim Meyering  <jim@meyering.net>
44427
44428         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
44429         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
44430         macro.
44431         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
44432         also check for glibc-2.4's abort-inducing bug.
44433
44434         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
44435         Low-probability clean-up should be to use rmdir to get rid of
44436         the just-created directory, not unlink.
44437
44438         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
44439         configure fail, and request a bug report to inform us about it.
44440         Add a comment that, barring reports to the contrary, in 2007 we'll
44441         assume ftruncate is universally available.
44442
44443         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
44444
44445         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
44446
44447         2006-03-12  Jim Meyering  <jim@meyering.net>
44448
44449         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
44450         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
44451         * m4/same.m4 (gl_SAME): Likewise.
44452         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
44453
44454         2006-03-11  Eric Blake  <ebb9@byu.net>
44455
44456         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
44457         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
44458         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
44459         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
44460
44461 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44462
44463         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
44464         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
44465         reported by Mark D. Baushke, one in
44466         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
44467
44468         Merge from coreutils.
44469
44470         * lib/.cppi-disable: Add stdint_.h.
44471         * lib/.cvsignore: Add stdint.h.
44472
44473         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
44474
44475         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
44476         both double and long double versions.
44477         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
44478         * lib/xstrtold.c: New file.
44479         * lib/xstrtod.h (xstrtold): New decl.
44480
44481         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
44482
44483         * lib/filemode.c (setst): Remove.
44484         (strmode): Rewrite to avoid setst.  This makes the code shorter,
44485         (arguably) clearer, and the generated code is a bit smaller on my
44486         Debian GNU/Linux stable x86 host.
44487
44488         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
44489
44490         * lib/filemode.c: Include "filemode.h" first, to test the interface.
44491         Assume that filemode.h includes sys/types.h and sys/stat.h.
44492         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
44493         (ftypelet): Reorder to put common cases first, for efficiency.
44494         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
44495         to do 'M'.
44496         (strmode): Renamed from mode_string, and now stores 12 bytes instead
44497         of 10, for compatibility with FreeBSD.  All callers changed.
44498         (filemodestring): Now stores 12 bytes instead of 10, and sets file
44499         types that can't be deduced solely from st_mode.  First arg is now a
44500         const pointer.
44501         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
44502         (strmode): Renamed from mode_string.
44503         (filemodestring): New decl.
44504         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
44505         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
44506         needed.
44507         (S_ISPORT, S_ISWHT): New macros, if not already defined.
44508
44509         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
44510
44511         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
44512         fsusage.h now does that.  Include fsusage.h first, to test interface.
44513         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
44514         at most one method (the old code could have generated decls that
44515         didn't conform to C89, not that this was ever exercised).
44516         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
44517
44518         2006-03-19  Jim Meyering  <jim@meyering.net>
44519
44520         Work even in a chroot where d_ino values for entries in "/"
44521         don't match the stat.st_ino values for the same names.
44522         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
44523         number, iterate through all entries again, using lstat instead.
44524         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
44525         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
44526
44527         * lib/getcwd.c (__getcwd): Clarify a comment.
44528         Use memcpy in place of a call to strcpy.
44529
44530         2006-03-12  Jim Meyering  <jim@meyering.net>
44531
44532         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
44533         matches that of the current directory (which we're about to chdir ".."
44534         out of), then save the dev-ino of the parent, instead.
44535
44536         * lib/same-inode.h (SAME_INODE): New file/macro.
44537         * lib/chdir-safer.c (SAME_INODE): Remove definition.
44538         Include "same-inode.h", instead.
44539         * lib/same.c: Likewise.
44540         * lib/cycle-check.h: Include "same-inode.h".
44541         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
44542         * lib/cycle-check.c (SAME_INODE): Remove definition.
44543         * lib/root-dev-ino.h: Include "same-inode.h".
44544
44545         2006-03-11  Eric Blake  <ebb9@byu.net>
44546
44547         * lib/same.c (same_name): s/base_name/last_component/
44548         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
44549         * lib/filenamecat.c (file_name_concat): Likewise.
44550
44551         2006-03-11  Eric Blake  <ebb9@byu.net>,
44552                     Paul Eggert  <eggert@cs.ucla.edu>
44553
44554         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
44555         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
44556         drive prefix.
44557         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
44558         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
44559         (last_component): New method.
44560         * lib/dirname.c (dir_len): Determine when drive letters need a
44561         subsequent slash.  Preserve // when it is special.
44562         (dir_name): Don't append dot when drive letter is absolute.
44563         [TEST_DIRNAME]: Move into a full-blown gnulib test.
44564         * lib/basename.c (base_name): New semantics - malloc the result.
44565         Preserve // when it is special.  Preserve relative files that look
44566         like drive letters.
44567         (base_len): Preserve // when it is special.
44568         (last_component): New method, similar to old base_name semantics.
44569         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
44570         base_name.  Strip redundant slashes from ///.
44571
44572 2006-07-03  Jim Meyering  <jim@meyering.net>
44573
44574         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
44575         macro is used before the first cycle_check call.
44576
44577 2006-07-03  Eric Blake  <ebb9@byu.net>
44578
44579         * modules/dirname (Depends-on): Add xstrndup.
44580
44581 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
44582
44583         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
44584         test cases, so that config.log is a bit easier to follow.
44585
44586 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
44587
44588         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
44589         both are 64 bits, since this seems to be the tradition, and this
44590         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
44591         we ever run into a host that prefers long long to long in this
44592         case, we'll need another configure-time test.  Problem reported by
44593         Jim Meyering.
44594
44595 2006-07-02  Eric Blake  <ebb9@byu.net>
44596
44597         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
44598
44599 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
44600
44601         * modules/inttypes (Depends-on): No longer depends on stdint.
44602         * modules/stdint (Description): Say more about assumptions.
44603         Say that the fast types might differ.  Say macros are used.
44604         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
44605         (Makefile.am): Revise list of substituted symbols to match
44606         new stdint.m4.
44607         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
44608         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
44609         * tests/test-stdint.c (verify_same_types)
44610         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
44611         the code conforms to C99/C89.
44612         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
44613         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
44614
44615 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
44616
44617         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
44618         but fix a bug, by requiring at least 64 bits.
44619         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
44620         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
44621         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
44622         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
44623
44624         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
44625         changes.  Make 2.59 a prerequisite.  Check and substitute for
44626         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
44627         inttypes.h.  Do not use special include files; just use the
44628         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
44629         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
44630         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
44631         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
44632         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
44633         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
44634         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
44635         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
44636         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
44637         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
44638         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
44639         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
44640         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
44641         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
44642         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
44643         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
44644         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
44645         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
44646         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
44647         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
44648         WINT_MAX.  Check for C99 conformance more strictly, by detecting
44649         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
44650         not check for things that C99 does not require, e.g., int8_t.  If
44651         a test isn't needed unless <stdint.h> isn't working, and is
44652         unlikely to be needed for any other reason, then don't do it
44653         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
44654         size_t, since we assume C89 freestanding at least.  Do not check
44655         for sig_atomic_t, wchar_t, or wint_t, since the code now does
44656         the right thing even if the types are not defined.  Instead use:
44657         (gl_STDINT_TYPE_PROPERTIES): New macro.
44658         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
44659         testing whether <sys/types.h> clashes, as Autoconf does this for
44660         us now.  All uses removed.
44661         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
44662         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
44663         (gl_CHECK_TYPE_SAME):
44664         Remove; no longer needed.
44665         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
44666         exists, since we'll return 0 anyway in that case.
44667         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
44668
44669 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
44670
44671         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
44672         possible collision with system files.
44673         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
44674         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
44675         WCHAR_MIN and WCHAR_MAX in this case.
44676         (<stddef.h>): Do not include; no longer needed.
44677         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
44678         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
44679         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
44680         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
44681         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
44682         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
44683         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
44684         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
44685         !defined(__c99))]: Include in this case too, since it's harmless
44686         now.
44687         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
44688         dangerous to do so.
44689         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
44690         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
44691         (_STDINT_MIN, _STDINT_MAX): New macros.
44692         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
44693         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
44694         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
44695         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
44696         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
44697         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
44698         macros, not typedefs; this simplifies things quite a bit.
44699         Use long int for all types narrower than int64_t.
44700         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
44701         Define in terms of long long int or int64_t or long int,
44702         not int64_t or int32_t.  This saves some compile-time testing.
44703         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
44704         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
44705         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
44706         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
44707         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
44708         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
44709         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
44710         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
44711         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
44712         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
44713         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
44714         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
44715         undef any previous version and define our own version, for
44716         simplicity and consistency with the new macros for types.
44717         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
44718         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
44719         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
44720         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
44721         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
44722         @WINT_T_SUFFIX@ to keep things simple here.
44723         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
44724         Simplify by assuming typical 8/16/32/64 host, since we're
44725         already doing that elsewhere anyway.
44726         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
44727         and assume long long int is 64 bits if available.  This
44728         speeds up 'configure'.
44729
44730 2006-07-01  Eric Blake  <ebb9@byu.net>
44731
44732         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
44733         Reported by Andreas Buening.
44734
44735 2006-07-01  Eric Blake  <ebb9@byu.net>
44736
44737         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
44738
44739 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
44740
44741         * lib/getaddrinfo.c: fixed typo
44742
44743 2006-06-29  Jim Meyering  <jim@meyering.net>
44744
44745         * modules/strftime (Maintainer): Add my name, since with the
44746         FPRINTFTIME changes strftime.c has forked from glibc.
44747
44748 2006-06-29  Eric Blake  <ebb9@byu.net>
44749
44750         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
44751
44752 2006-06-29  Eric Blake  <ebb9@byu.net>
44753
44754         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
44755
44756 2006-06-29  Eric Blake  <ebb9@byu.net>
44757
44758         * lib/stat_.h: New file.
44759
44760 2006-06-29  Eric Blake  <ebb9@byu.net>
44761
44762         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
44763         unused static function.
44764
44765 2006-06-29  Eric Blake  <ebb9@byu.net>
44766
44767         * doc/functions.texi (Function Portability): Document missing lstat
44768         on mingw.
44769
44770 2006-06-29  Eric Blake  <ebb9@byu.net>
44771
44772         * MODULES.html.sh: Add sys_stat.
44773         * modules/sys_stat: New module.
44774         * modules/mkstemp (Depends-on): Add sys_stat.
44775
44776 2006-06-29  Derek R. Price  <derek@ximbiot.com>
44777
44778         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
44779
44780 2006-06-29  Derek R. Price  <derek@ximbiot.com>
44781
44782         * m4/c-bs-a.m4: Removed.
44783
44784 2006-06-29  Derek R. Price  <derek@ximbiot.com>
44785
44786         * lib/strftime.c: Assume strftime() exists.
44787
44788 2006-06-29  Derek Price  <derek@ximbiot.com>
44789
44790         * modules/c-bs-a: Removed - \a is C89.
44791         * MODULES.html.sh: Remove c-bs-a.
44792
44793 2006-06-29  Bruno Haible  <bruno@clisp.org>
44794
44795         * modules/wcwidth (License): Change to LGPL.
44796
44797 2006-06-28  Simon Josefsson  <jas@extundo.com>
44798
44799         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
44800         on _WIN32.
44801
44802         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
44803         getnameinfo.
44804
44805 2006-06-28  Simon Josefsson  <jas@extundo.com>
44806
44807         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
44808
44809 2006-06-28  Simon Josefsson  <jas@extundo.com>
44810
44811         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
44812         functions there.  It will succeed on Windows XP, but on Windows
44813         2000 and (presumably) earlier, it will fail, and use the internal
44814         re-implementation.
44815         (use_win32_p): New function.
44816         (getaddrinfo): Use strtoul on servname, to support numeric ports.
44817         Support AI_NUMERICSERV to disable getservbyname.
44818         (getnameinfo): New function, only supports
44819         NI_NUMERICHOST|NI_NUMERICSERV for now.
44820
44821         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
44822         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
44823         getnameinfo.
44824
44825 2006-06-28  Eric Blake  <ebb9@byu.net>
44826
44827         * modules/wcwidth: New file.
44828         * modules/mbchar (Depends-on): Add wcwidth.
44829         * modules/mbswidth (Depends-on): Add wcwidth.
44830         * MODULES.html.sh: Add wcwidth.
44831
44832 2006-06-28  Eric Blake  <ebb9@byu.net>
44833
44834         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
44835         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
44836
44837 2006-06-28  Eric Blake  <ebb9@byu.net>
44838
44839         * lib/xvasprintf.h: Fix comments.
44840
44841 2006-06-28  Eric Blake  <ebb9@byu.net>
44842
44843         * lib/mbchar.h (wcwidth): Include wcwidth.h.
44844         * lib/mbswidth.c (wcwidth): Move from here...
44845         * lib/wcwidth.h: ...to this new file.
44846
44847 2006-06-28  Derek R. Price  <derek@ximbiot.com>
44848
44849         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
44850
44851         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
44852         it's obsolete.
44853         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
44854
44855 2006-06-28  Derek R. Price  <derek@ximbiot.com>
44856
44857         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
44858         Autoconf 2.60 says this stuff was obsolete.
44859
44860 2006-06-28  Bruno Haible  <bruno@clisp.org>
44861
44862         * modules/wcwidth (Files): Add m4/wchar_t.m4.
44863
44864 2006-06-28  Bruno Haible  <bruno@clisp.org>
44865
44866         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
44867         gt_TYPE_WCHAR_T.
44868
44869 2006-06-28  Bruno Haible  <bruno@clisp.org>
44870
44871         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
44872         declaration for wcwidth.
44873         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
44874
44875 2006-06-28  Bruno Haible  <bruno@clisp.org>
44876
44877         * lib/mkdtemp.c [MINGW]: Include <io.h>.
44878         (mkdir): Define using _mkdir.
44879
44880 2006-06-28  Bruno Haible  <bruno@clisp.org>
44881
44882         * lib/getaddrinfo.h: Fix POSIX URL.
44883         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
44884         _WIN32.
44885         (use_win32_p): Make static.
44886         (getaddrinfo): Reject service name if it is empty or does not consist
44887         solely of decimal digits, or if its value is > 65535.
44888         (getnameinfo): Remove useless casts.
44889
44890 2006-06-27  Simon Josefsson  <jas@extundo.com>
44891
44892         * modules/sys_select: New file, suggested by Bruno Haible, Paul
44893         Eggert and Martin Lambers.
44894
44895 2006-06-27  Simon Josefsson  <jas@extundo.com>
44896
44897         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
44898         Eggert and Martin Lambers.
44899
44900 2006-06-27  Bruno Haible  <bruno@clisp.org>
44901
44902         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
44903         result to 0, not to empty.
44904         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
44905
44906 2006-06-27  Bruno Haible  <bruno@clisp.org>
44907
44908         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
44909
44910 2006-06-26  Simon Josefsson  <jas@extundo.com>
44911
44912         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
44913         present.
44914
44915 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
44916
44917         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
44918         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
44919         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
44920
44921 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
44922
44923         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
44924
44925 2006-06-26  Bruno Haible  <bruno@clisp.org>
44926
44927         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
44928
44929 2006-06-26  Bruno Haible  <bruno@clisp.org>
44930
44931         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
44932
44933 2006-06-26  Bruno Haible  <bruno@clisp.org>
44934
44935         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
44936         SGI C compiler in pre-C99 mode.
44937         Suggested by Mark D. Baushke and Larry Jones.
44938
44939 2006-06-26  Bruno Haible  <bruno@clisp.org>
44940
44941         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
44942         WCHAR_MAX.
44943         Reported by Mark D. Baushke and Larry Jones.
44944
44945 2006-06-26  Bruno Haible  <bruno@clisp.org>
44946
44947         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
44948         in pre-C99 mode.
44949         Suggested by Mark D. Baushke and Larry Jones.
44950
44951 2006-06-23  Simon Josefsson  <jas@extundo.com>
44952             Bruno Haible  <bruno@clisp.org>
44953
44954         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
44955         Emit mostlyclean-local rule.
44956         (func_emit_tests_Makefile_am): Likewise.
44957         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
44958
44959 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
44960
44961         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
44962
44963 2006-06-23  Bruno Haible  <bruno@clisp.org>
44964
44965         * tests/test-stdint.c: Update to match ISO C 99 Technical
44966         Corrigendum 1.
44967
44968 2006-06-23  Bruno Haible  <bruno@clisp.org>
44969
44970         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
44971
44972 2006-06-23  Bruno Haible  <bruno@clisp.org>
44973
44974         * lib/stdint_.h: Treat IRIX like OpenBSD.
44975
44976 2006-06-23  Bruno Haible  <bruno@clisp.org>
44977
44978         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
44979         ISO C 99 Technical Corrigendum 1.
44980
44981 2006-06-22  Simon Josefsson  <jas@extundo.com>
44982
44983         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
44984         MinGW.
44985
44986 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
44987
44988         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
44989         needed.  Some compiler complained about some of them.  Problem reported
44990         by Larry Jones in
44991         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
44992
44993 2006-06-21  Simon Josefsson  <jas@extundo.com>
44994
44995         * tests/test-getaddrinfo.c: New file.
44996
44997         * modules/getaddrinfo-tests: New file.
44998
44999         * MODULES.html.sh: Add inet_pton.
45000
45001         * modules/inet_pton: New file.
45002
45003 2006-06-21  Simon Josefsson  <jas@extundo.com>
45004
45005         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
45006         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
45007         of using the (limited) gnulib implementation on Windows XP.
45008
45009         * m4/inet_pton.m4: New file.
45010
45011 2006-06-21  Simon Josefsson  <jas@extundo.com>
45012
45013         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
45014         variable.
45015
45016         * lib/socket_.h: Don't define WINVER.
45017
45018         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
45019         slightly modified to work in gnulib.
45020
45021 2006-06-21  Simon Josefsson  <jas@extundo.com>
45022
45023         * doc/gnulib.texi (Windows sockets): Add.
45024
45025 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
45026
45027         * lib/read-file.c (fread_file): Start with buffer allocation of
45028         0 bytes rather than 1 byte; this simplifies the code.
45029         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
45030         code to free buffer and save/restore errno.
45031         (internal_read_file): Remove unused local.
45032
45033 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
45034
45035         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
45036         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
45037         Problem reported by Denis Excoffier in
45038         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
45039
45040 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45041
45042         * modules/sys_socket, modules/socklen: Include sys/types since
45043         FreeBSD 4.x's sys/socket.h needs it.
45044
45045 2006-06-19  Simon Josefsson  <jas@extundo.com>
45046
45047         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
45048
45049 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
45050
45051         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
45052
45053 2006-06-19  Bruno Haible  <bruno@clisp.org>
45054
45055         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
45056         and FULL_PATH_INTTYPES_H in angle brackets.
45057         Reported by Mark D. Baushke <mdb@gnu.org>.
45058
45059 2006-06-17  Eric Blake  <ebb9@byu.net>
45060
45061         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
45062         errno.
45063
45064 2006-06-17  Bruno Haible  <bruno@clisp.org>
45065
45066         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
45067         <sys/inttypes.h>.
45068
45069 2006-06-17  Bruno Haible  <bruno@clisp.org>
45070
45071         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
45072         whether errno is declared. Assume <errno.h> declares errno.
45073
45074 2006-06-17  Bruno Haible  <bruno@clisp.org>
45075
45076         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
45077
45078 2006-06-17  Bruno Haible  <bruno@clisp.org>
45079
45080         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
45081         problem on Solaris 2.5.1.
45082
45083 2006-06-16  Eric Blake  <ebb9@byu.net>
45084
45085         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
45086         * lib/unicodeio.c [!defined errno]: Likewise.
45087         * lib/strtol.c [!defined errno]: Likewise.
45088         * lib/strtod.c [!defined errno]: Likewise.
45089
45090 2006-06-15  Eric Blake  <ebb9@byu.net>
45091
45092         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
45093
45094 2006-06-15  Eric Blake  <ebb9@byu.net>
45095
45096         * config/srclist.txt (ssize_t.m4): Lose sync.
45097
45098 2006-06-15  Bruno Haible  <bruno@clisp.org>
45099
45100         * modules/stdint (Files): Include m4/full-header-path.m4,
45101         m4/size_max.m4, m4/wchar_t.m4.
45102         (Makefile.am): Many more substitutions.
45103         * modules/stdint-tests: New file.
45104         * tests/test-stdint.c: New file.
45105
45106 2006-06-15  Bruno Haible  <bruno@clisp.org>
45107
45108         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
45109         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
45110         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
45111         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
45112         gl_CHECK_TYPE_SAME): New macros.
45113
45114 2006-06-15  Bruno Haible  <bruno@clisp.org>
45115
45116         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
45117
45118 2006-06-15  Bruno Haible  <bruno@clisp.org>
45119
45120         * lib/stdint_.h: Rewritten to be fully auto-configured.
45121         Fixes bug on HP-UX/IA64.
45122
45123 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
45124
45125         * lib/getdate.y (__attribute__): Don't define if already defined.
45126         Problem reported by Larry Jones.
45127         * lib/utimens.c (__attribute__): Likewise.
45128
45129 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
45130
45131         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
45132         reported by Andreas Schwab.
45133
45134 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45135             Bruno Haible  <bruno@clisp.org>
45136
45137         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
45138         check for the declaration of strnlen and a run test that exposes the
45139         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
45140         rpl_strndup.
45141
45142 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45143             Bruno Haible  <bruno@clisp.org>
45144
45145         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
45146
45147 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45148
45149         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
45150         compile test, for Tru64 4.0D.
45151
45152 2006-05-28  Karl Berry  <karl@gnu.org>
45153
45154         * config/srclist.txt (printf-args.c): lose sync.
45155
45156 2006-05-26  Martin Lambers  <marlam@marlam.de>
45157
45158         * lib/getpass.c: Updates the test for the native W32 API, and adds
45159         missing includes, thus fixing compilation warnings.
45160
45161 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45162
45163         * lib/exclude.c (exclude_fnmatch): New function.
45164         (excluded_file_name): Call exclude_fnmatch.
45165         * lib/exclude.h (excluded_file_name): New prototype
45166
45167 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
45168
45169         * lib/tempname.c (small_open, large_open): New macros.
45170         (__open, __open64) [!_LIBC]: Remove.
45171         (__gen_tempname): Use small_open and large_open instead of __open
45172         and __open64.  This fixes a portability bug on HP-UX 11.11i
45173         reported by Simon Wing-Tang in
45174         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
45175
45176 2006-05-24  Bruno Haible  <bruno@clisp.org>
45177
45178         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
45179         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
45180         Reported by Thorsten Maerz <torte@netztorte.de> via
45181         Aaron Stone <aaron@serendipity.cx>.
45182
45183 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
45184
45185         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
45186         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
45187         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
45188         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
45189         not really conditional on the cache.
45190         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
45191
45192 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
45193
45194         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
45195         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
45196         (my_usleep): Don't mishandle maximum value.
45197
45198 2006-05-19  Jim Meyering  <jim@meyering.net>
45199
45200         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
45201
45202 2006-05-17  Bruno Haible  <bruno@clisp.org>
45203
45204         Cygwin portability.
45205         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
45206
45207 2006-05-17  Bruno Haible  <bruno@clisp.org>
45208
45209         * lib/stdint_.h: Fix recognition of Cygwin.
45210
45211 2006-05-15  Bruno Haible  <bruno@clisp.org>
45212
45213         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
45214         on libtool patch by Ralf Wildenhues.
45215
45216 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
45217
45218         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
45219         test for C99 conformance; (bool) 0.5 is an integer constant
45220         expression, but (bool) -0.5 is not.  Problem reported by Fedor
45221         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
45222
45223 2006-05-11  Simon Josefsson  <jas@extundo.com>
45224
45225         * m4/xvasprintf.m4: Fix obvious typo.
45226
45227 2006-05-11  Jim Meyering  <jim@meyering.net>
45228
45229         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
45230         James Lemley.
45231
45232 2006-05-10  Simon Josefsson  <jas@extundo.com>
45233
45234         * lib/md4.c: Typo fix, update copyright years.
45235         (K1, K2): Don't use L because it turn computations into 64-bit on
45236         64-bit platforms.
45237
45238 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
45239
45240         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
45241         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
45242         unwanted sign propagation, e.g., on hosts with 64-bit int.
45243         There still are some problems with reeelly weird theoretical hosts
45244         (e.g., 33-bit int) but it's not worth worrying about now.
45245         * lib/sha1.c (rol): Likewise.
45246         (K1, K2, K3, K4): Remove unnecessary L suffix.
45247
45248 2006-05-10  Bruno Haible  <bruno@clisp.org>
45249
45250         * lib/des.c: Cast to avoid warnings.
45251
45252 2006-05-09  Bruno Haible  <bruno@clisp.org>
45253
45254         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
45255         (Depends-on): Depend also on xsize, stdarg.
45256         (configure.ac): Add gl_XVASPRINTF.
45257
45258 2006-05-09  Bruno Haible  <bruno@clisp.org>
45259
45260         * m4/xvasprintf.m4: New file.
45261
45262 2006-05-09  Bruno Haible  <bruno@clisp.org>
45263
45264         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
45265         (EOVERFLOW): Define fallback value.
45266         (xstrcat): New function.
45267         (xvasprintf): Recognize the special case of a string concatenation.
45268
45269 2006-05-08  Eric Blake  <ebb9@byu.net>
45270
45271         * gnulib-tool (func_version): Base copyright year on CVS date.
45272         (func_emit_copyright_notice): New function.
45273         (func_emit_lib_Makefile_am): Use it.
45274         (func_emit_tests_Makefile_am): Likewise.
45275         (func_import): Likewise.
45276
45277 2006-05-08  Bruno Haible  <bruno@clisp.org>
45278
45279         * modules/stdarg: New file.
45280         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
45281
45282 2006-05-08  Bruno Haible  <bruno@clisp.org>
45283
45284         * m4/stdarg.m4: New file, from GNU gettext.
45285
45286 2006-05-08  Bruno Haible  <bruno@clisp.org>
45287
45288         * config/srclist.txt (build-aux/config.rpath): different from latest
45289         release.
45290
45291 2006-05-08  Bruno Haible  <bruno@clisp.org>
45292
45293         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
45294
45295 2006-05-05  Jim Meyering  <jim@meyering.net>
45296
45297         * m4/warning.m4: New file, derived from bison's file by the same name.
45298
45299 2006-05-03  Bruno Haible  <bruno@clisp.org>
45300
45301         * lib/stdint_.h: Shorter URL.
45302         * lib/inttypes.h: Likewise.
45303
45304 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
45305
45306         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
45307
45308 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
45309
45310         * lib/verify.h: Document the internals better.  Most of this change
45311         was written by Bruno Haible.
45312
45313 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
45314
45315         * doc/verify.texi: New file, partly based on a proposal by
45316         Bruno Haible.
45317
45318 2006-05-02  Bruno Haible  <bruno@clisp.org>
45319
45320         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
45321         test from here...
45322         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
45323
45324 2006-04-29  Bruno Haible  <bruno@clisp.org>
45325
45326         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
45327         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
45328
45329 2006-04-29  Bruno Haible  <bruno@clisp.org>
45330
45331         * gnulib-tool: Make --update option actually work.
45332
45333 2006-04-29  Bruno Haible  <bruno@clisp.org>
45334
45335         * doc/gcd.texi: New file.
45336         * doc/gnulib.texi: Include it.
45337
45338 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
45339
45340         * lib/getdate.y (get_date): When adding relative date, start with the
45341         initial time, not with the result of the first mktime call.
45342
45343 2006-04-25  Bruno Haible  <bruno@clisp.org>
45344
45345         * gnulib-tool (func_import): Output the include directives in three
45346         blocks, sorted separately.
45347         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45348
45349 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
45350
45351         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
45352         to define main with arguments, for C++.  Reported by Eric Blake.
45353         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
45354         Prefer 'int main ()' to 'int main (void)', for C++.
45355         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
45356         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
45357         for 'main', for C99 and C++.
45358
45359 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
45360
45361         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
45362         Don't assume that exit status -1 is valid.
45363         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
45364         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
45365         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
45366         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
45367         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
45368         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
45369         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
45370         functions can be used without declaring them, or that you can
45371         exit with status -1.
45372         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
45373
45374 2006-04-24  Karl Berry  <karl@gnu.org>
45375
45376         * config/srclist.txt (longdouble.m4): sync lost.
45377
45378 2006-04-24  Eric Blake  <ebb9@byu.net>
45379
45380         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
45381
45382 2006-04-24  Bruno Haible  <bruno@clisp.org>
45383
45384         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
45385         poll() implementation in AIX.
45386         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45387
45388 2006-04-24  Bruno Haible  <bruno@clisp.org>
45389
45390         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
45391         assigned exactly once.
45392
45393 2006-04-23  Claudio Fontana  <claudio@gnu.org>
45394             Bruno Haible  <bruno@clisp.org>
45395
45396         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
45397         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
45398         for AM_CPPFLAGS.
45399
45400 2006-04-23  Bruno Haible  <bruno@clisp.org>
45401
45402         * modules/copy-file: Depend on unistd.
45403         * modules/execute: Likewise.
45404         * modules/fatal-signal: Likewise.
45405         * modules/findprog: Likewise.
45406         * modules/mkdtemp : Likewise.
45407         * modules/pipe: Likewise.
45408         * modules/wait-process: Likewise.
45409
45410 2006-04-23  Bruno Haible  <bruno@clisp.org>
45411
45412         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
45413         condition was already detected.
45414         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45415
45416 2006-04-23  Bruno Haible  <bruno@clisp.org>
45417
45418         * lib/copy-file.c: Include <unistd.h> unconditionally.
45419         * lib/execute.c: Likewise.
45420         * lib/fatal-signal.c: Likewise.
45421         * lib/findprog.c: Likewise.
45422         * lib/mkdtemp.c: Likewise.
45423         * lib/pipe.h: Likewise.
45424         * lib/pipe.c: Likewise.
45425         * lib/wait-process.h: Likewise.
45426
45427 2006-04-23  Bruno Haible  <bruno@clisp.org>
45428
45429         * gnulib-tool (func_usage): Fix --import description. Document
45430         --update.
45431         (func_import): Create temporary file in a temporary directory, if
45432         --dry-run is specified. Silence errors from 'grep' when there are no
45433         m4 files in $m4dir.
45434         (func_create_testdir): Silence errors from 'grep' when there are no
45435         m4 files in $m4dir.
45436         Reported by Karl Berry <karl@freefriends.org>.
45437
45438 2006-04-20  Bruno Haible  <bruno@clisp.org>
45439
45440         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
45441         one argument, so that the code will be portable to Autoconf 2.60.
45442         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
45443         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
45444         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
45445
45446 2006-04-19  Derek Price  <derek@ximbiot.com>
45447             Eric Blake  <ebb9@byu.net>
45448
45449         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
45450         rather than "/full/path.h".  Update comment to match.  Shorten &
45451         generalize m4_translit call via AS_TR_CPP.
45452
45453 2006-04-19  Derek Price  <derek@ximbiot.com>
45454             Eric Blake  <ebb9@byu.net>
45455
45456         * lib/inttypes.h: Correct grammar in comment.
45457
45458 2006-04-18  Derek Price  <derek@ximbiot.com>
45459             Paul Eggert  <eggert@cs.ucla.edu>
45460
45461         * modules/inttypes: New file.
45462         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
45463
45464 2006-04-18  Derek Price  <derek@ximbiot.com>
45465             Paul Eggert  <eggert@cs.ucla.edu>
45466
45467         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
45468         New files.
45469
45470 2006-04-18  Derek Price  <derek@ximbiot.com>
45471             Paul Eggert  <eggert@cs.ucla.edu>
45472
45473         * lib/inttypes.h: New file.
45474         * lib/strtoimax.c: Assume <inttypes.h>.
45475
45476 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
45477
45478         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
45479         isn't mounted.  Problem reported by Kir Kolyshkin.
45480
45481 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
45482
45483         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
45484         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
45485         Derek R. Price.
45486         * lib/regex.h (RE_DUP_MAX): Update comment to match current
45487         implementation.
45488
45489 2006-04-12  Eric Blake  <ebb9@byu.net>
45490
45491         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
45492         is now done automatically by the corresponding Autoconf macro.
45493
45494 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
45495
45496         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
45497         time_r.h.
45498
45499 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
45500
45501         Merge regex changes from libc, removing some of our
45502         POSIX-conformance changes that were rejected and redoing them in a
45503         less-intrusive way.
45504
45505         * lib/regcomp.c (re_compile_internal, init_dfa):
45506         Length arg is now size_t, not Idx.  All uses changed.
45507         (peek_token): Forward decl now says internal_function.
45508         (__re_error_msgid, __re_error_msgid_idx):
45509         Now static rather than extern with attribute_hidden.
45510         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
45511         For some reason libc prefers K&R style defns for external functions.
45512         (regerror) [!defined _LIBC]: Likewise.
45513         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
45514         (seek_collating_symbol_entry, lookup_collation_sequence_value):
45515         (build_range_exp, build_collating_symbol):
45516         Use K&R-style defn.
45517         (re_compile_fastmap): Use '\0' to memset, not 0.
45518         (utf8_sb_map): Make the calculations more obvious.
45519         (init_dfa, parse_bracket_exp, build_charclass_op):
45520         Call calloc and cast result, as glibc does.
45521         (init_word_char, fetch_token, peek_token, peek_token_bracket):
45522         (build_range_exp, build_collating_symbol):
45523         Now internal functions.
45524
45525         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
45526
45527         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
45528         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
45529         Don't depend on VMS; depend on __VMS instead, for POSIX
45530         namespace cleanness.
45531         (regoff_t): Define to ssize_t, not long int.
45532
45533         Remove the REG_ macros named below.  Instead, make the old names
45534         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
45535         __USE_GNU_REGEX.
45536         (REG_BACKSLASH_ESCAPE_IN_LISTS):
45537         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
45538         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
45539         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
45540         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
45541         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
45542         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
45543         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
45544         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
45545         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
45546         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
45547         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
45548         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
45549         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
45550         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
45551         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
45552         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
45553         (REG_NREGS):
45554         Remove.  All uses replaced by the old RE_* names.
45555         (RE_BACKSLASH_ESCAPE_IN_LISTS):
45556         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
45557         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
45558         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
45559         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
45560         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
45561         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
45562         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
45563         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
45564         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
45565         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
45566         Don't bother having these macros be independent of each others'
45567         values, since they no longer exist in the POSIX name space.
45568
45569         Rename the following member names back to their old names,
45570         unless !__USE_GNU_REGEX.  All uses changed back.
45571         (buffer): Renamed from re_buffer.
45572         (allocated): Renamed from re_allocated.
45573         (used): Renamed from re_used.
45574         (syntax): Renamed from re_syntax.
45575         (fastmap): Renamed from re_fastmap.
45576         (translate): Renamed from re_translate.
45577         (can_be_null): Renamed from re_can_be_null.
45578         (regs_allocated): Renamed from re_regs_allocated.
45579         (fastmap_accurate): Renamed from re_fastmap_accurate.
45580         (no_sub): Renamed from re_no_sub.
45581         (not_bol): Renamed from re_not_bol.
45582         (not_eol): Renamed from re_not_eol.
45583         (newline_anchor): Renamed from re_newline_anchor.
45584         (num_regs): Renamed from rm_num_regs.
45585         (start): Renamed from rm_start.
45586         (end): Renamed from rm_end.
45587
45588         (free_state): Move up a bit.
45589
45590         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
45591         #define to be empty.
45592         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
45593         when that is what is intended.
45594         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
45595         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
45596         (MAX): New macro.
45597         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
45598         All uses changed back to re_malloc, etc.  It's now the caller's
45599         responsibility to check for overflow; all callers changed.
45600         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
45601         (re_x2nrealloc): Remove.
45602         (free_state): Remove decl.
45603
45604         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
45605         (re_set_registers, re_exec):
45606         Use K&R-style defn.
45607
45608         2006-01-31  Roland McGrath  <roland@redhat.com>
45609
45610         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
45611         Reported by Mike Frysinger <vapier@gentoo.org>.
45612
45613         2006-01-15  Andreas Jaeger  <aj@suse.de>
45614
45615         [BZ #1950]
45616         * lib/regex_internal.c (re_string_reconstruct): Adjust for
45617         build_wcs_upper_buffer change.
45618         (build_wcs_upper_buffer): Change return type.
45619
45620         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
45621
45622         * lib/regex_internal.h: Include <stdint.h> if available.
45623
45624         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
45625
45626         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
45627
45628         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
45629
45630         * lib/regcomp.c: Adjust for changed secondary hash function.
45631
45632         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
45633
45634         * lib/regex.h: Pretty printing.
45635         Clean up namespace a bit.
45636
45637         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
45638
45639         * lib/regexec.c (update_cur_sifted_state, check_arrival,
45640         check_arrival_add_next_nodes): Avoid using uninitialized variable.
45641
45642         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
45643                     Ulrich Drepper  <drepper@redhat.com>
45644
45645         [BZ #1302]
45646         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
45647         changed.
45648         (bitset_word_t): Renamed from bitset_word.  All uses changed.
45649
45650         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
45651
45652         [BZ #281]
45653         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
45654         * lib/regcomp.c: Remove unnecessary uses of
45655         unsigned RE_TRANSLATE_TYPE.
45656         * lib/regex_internal.h: Likewise.
45657         * lib/regex_internal.c: Likewise.
45658         * lib/regexec.c: Likewise.
45659         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
45660
45661         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
45662
45663         * lib/regexec.c (find_recover_state): Remove unnecessary
45664         initialization.
45665         (transit_state_bkref): Make DFA a const pointer.
45666         (get_subexp): Likewise.
45667         (check_arrival): Likewise.
45668         (update_cur_sifted_state): Likewise.
45669         (re_search_internal): Likewise.
45670         (prune_impossible_nodes): Likewise.
45671         (acquire_init_state_context): Likewise.
45672         (proceed_next_node): Likewise.
45673         (set_regs): Likewise.
45674         (free_fail_stack_return): Likewise.
45675         (check_arrival_expand_ecl): Mark DFA parameter as const.
45676         (check_arrival_expand_ecl_sub): Likewise.
45677         (check_subexp_limits): Likewise.
45678         (sub_epsilon_src_nodes):  Likewise.
45679         (add_epsilon_src_nodes):  Likewise.
45680         (merge_state_array): Likewise.
45681         (update_regs): Likewise.
45682         (build_trtable): Likewise.
45683         (sift_states_backward): Mark MCTX parameter as const.
45684         (build_sifted_states): Likewise.
45685         (update_cur_sifted_state): Likewise.
45686         (sift_states_mkref): Likewise.
45687         (check_arrival_expand_ecl): Mark eclosure as const.
45688         (check_dst_limits_calc_pos_1): Likewise.
45689         * lib/regex_internal.h (re_match_context_t): Make dfa a const
45690         pointer.
45691
45692         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
45693
45694         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
45695         (transit_state_sb): Likewise.
45696         (transit_state_mb): Likewise.
45697         (sift_states_iter_mb): Likewise.
45698         (check_arrival_add_next_nodes): Likewise.
45699         (check_node_accept_bytes): Change first parameter to pointer-to-const.
45700         [_LIBC] (re_search_2_stub): Use mempcpy.
45701
45702         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
45703         mbrtowc for very simple UTF-8 case.
45704
45705         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
45706         a pointer-to-const.
45707         (re_acquire_state_context): Likewise.
45708         * lib/regex_internal.h: Adjust prototypes.
45709
45710         * lib/regex.c: Prevent using C++ compilers.
45711
45712         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
45713         (re_acquire_state_context): Likewise.
45714
45715 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
45716
45717         * modules/regex (Depends-on): Add ssize_t.
45718
45719 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
45720
45721         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
45722         translation table.
45723
45724 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
45725
45726         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
45727
45728 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
45729             Bruno Haible  <bruno@clisp.org>
45730
45731         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
45732         <sys/types.h> and <inttypes.h>.
45733
45734 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45735
45736         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
45737         `__error_t_defined', so argp.h will not typedef the former.
45738
45739 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
45740
45741         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
45742         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
45743         glibc names.  Even if glibc is changed to conform to POSIX, the
45744         traditional names will be available anyway, since regex depends on
45745         the extensions module.  Also, fix a longstanding typo in the
45746         implementation of Spencer ERE test #75 from grep 2.3.  Problems
45747         reported by Emanuele Giaquinta.  Also, change sense of cached
45748         variable, so that the message makes sense.
45749
45750 2006-03-24  Simon Josefsson  <jas@extundo.com>
45751
45752         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
45753         including some doc fixes.
45754         (base64_encode_alloc): Fix +1 bug on allocation failures.
45755
45756 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45757
45758         * lib/base64.c (base64_encode): Do not read past end of array with
45759         unsanitized input on systems with CHAR_BIT > 8.
45760
45761 2006-03-24  Eric Blake  <ebb9@byu.net>
45762
45763         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
45764
45765 2006-03-22  Karl Berry  <karl@gnu.org>
45766
45767         * config/srclist.txt (*setenv.[ch]): get from coreutils.
45768         * config/srclistvars.sh (COREUTILS): new var.
45769
45770 2006-03-17  Jim Meyering  <jim@meyering.net>
45771
45772         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
45773         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
45774
45775 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
45776
45777         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
45778         no longer needs it.  Instead, check that regoff_t is as least
45779         as wide as ptrdiff_t.
45780
45781         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
45782         so that our regex.h stays compatible with the installed regex.
45783         This is helpful for installers who configure --without-included-regex.
45784         Problem reported by Emanuele Giaquinta.
45785
45786 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
45787
45788         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
45789         Typedef to long int, not to off_, as POSIX will likely change
45790         in that direction.
45791
45792 2006-03-15  Eric Blake  <ebb9@byu.net>
45793
45794         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
45795
45796 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
45797
45798         * lib/argp-help.c (validate_uparams): Fix typo
45799         * lib/argp-parse.c (argp_default_options): Consistently begin help
45800         messages with a lowercase letter.
45801
45802 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
45803
45804         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
45805         overrun buffers and shouldn't be used (much as gets shouldn't be
45806         used).
45807         * lib/time_r.c (asctime_r, ctime_r): Likewise.
45808
45809 2006-03-08  Simon Josefsson  <jas@extundo.com>
45810
45811         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
45812         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45813
45814 2006-03-08  Simon Josefsson  <jas@extundo.com>
45815
45816         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
45817         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45818
45819 2006-03-08  Simon Josefsson  <jas@extundo.com>
45820
45821         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
45822         signal that configure disabled the device.
45823
45824 2006-03-08  Simon Josefsson  <jas@extundo.com>
45825
45826         * build-aux/maint.mk: Fix refresh-po, to handle no translated
45827         languages.
45828
45829 2006-03-07  Simon Josefsson  <jas@extundo.com>
45830
45831         * modules/getopt (Depends-on): Add unistd.
45832
45833         * modules/unistd: New file.
45834
45835 2006-03-07  Simon Josefsson  <jas@extundo.com>
45836
45837         * modules/gc-random: New file.
45838
45839 2006-03-07  Simon Josefsson  <jas@extundo.com>
45840
45841         * m4/unistd_h.m4: New file.
45842
45843 2006-03-07  Simon Josefsson  <jas@extundo.com>
45844
45845         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
45846         test to be side-effect free by storing the result in the cache
45847         variable gl_cv_lib_readline, and moving the assignment of
45848         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
45849         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45850
45851 2006-03-07  Simon Josefsson  <jas@extundo.com>
45852
45853         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
45854         error on missing devices (the functions will return an error).
45855
45856         * m4/gc.m4: Move random stuff to gc-random.m4
45857
45858 2006-03-07  Simon Josefsson  <jas@extundo.com>
45859
45860         * lib/unistd_.h: New file.
45861
45862 2006-03-07  Simon Josefsson  <jas@extundo.com>
45863
45864         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
45865
45866 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45867
45868         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
45869         Problem reported by Juan Manuel Guerrero.
45870
45871 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45872
45873         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
45874         the unistd module.
45875         * lib/getlogin_r.c: Likewise.
45876         * lib/getlogin_r.h: Likewise.
45877         * lib/glob.c: Likewise.
45878         * lib/pagealign_alloc.c: Likewise.
45879         * lib/unistd_.h: Remove; no longer needed.
45880
45881 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45882
45883         * MODULES.html.sh (Support for systems lacking POSIX:2001):
45884         Add unistd.
45885         * modules/c-stack (Depends-on): Add unistd.
45886         * modules/getlogin_r: Likewise.
45887         * modules/glob: Likewise.
45888         * modules/pagealign_alloc: Likewise.
45889         * modules/unistd (Files): Remove lib/unistd_.h.
45890         (EXTRA_DIST): Remove.
45891         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
45892         need unistd_.h.
45893         (MOSTLYCLEANFILES): Remove unistd.h-t.
45894
45895 2006-03-03  Simon Josefsson  <jas@extundo.com>
45896
45897         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
45898
45899 2006-03-03  Simon Josefsson  <jas@extundo.com>
45900
45901         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
45902         libidn and bison.
45903
45904 2006-03-03  Simon Josefsson  <jas@extundo.com>
45905
45906         * build-aux/maint.mk: Add indent target.
45907
45908 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
45909
45910         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
45911         our replacement poll.h in any case, to avoid a differing
45912         declaration from a system header.  Seen on AIX.
45913
45914 2006-03-01  Simon Josefsson  <jas@extundo.com>
45915
45916         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
45917         <kasal@ucw.cz>.
45918
45919 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45920
45921         * modules/gettime (Depends-on): Add extensions module.
45922         * modules/nanosleep (Depends-on): Likewise.
45923         * modules/settime (Depends-on): Likewise.
45924
45925 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45926
45927         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
45928         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
45929         pedantically.
45930         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
45931         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
45932
45933         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
45934         not "==".  Reported by Ralf Wildenhues.
45935
45936 2006-03-01  Karl Berry  <karl@gnu.org>
45937
45938         * doc/Copyright/request-*: new files, synced from gnuorg.
45939
45940 2006-03-01  Karl Berry  <karl@gnu.org>
45941
45942         * config/srclist.txt (Copyright/*): new entries.
45943
45944 2006-02-28  Simon Josefsson  <jas@extundo.com>
45945
45946         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
45947
45948 2006-02-27  Simon Josefsson  <jas@extundo.com>
45949
45950         * lib/base64.h: Indent #define's.  From Jim Meyering
45951         <jim@meyering.net>.
45952
45953 2006-02-27  Jim Meyering  <jim@meyering.net>
45954
45955         Revert the change of 2006-02-24, so these files can continue
45956         to be sync'd from gettext.
45957         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
45958         of `config.h'.
45959
45960 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
45961
45962         * modules/intprops: New file.
45963         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
45964         Add intprops.
45965         * modules/getloadavg (Files): Remove lib/intprops.h.
45966         (Depends-on): Add intprops.
45967         * modules/human: Likewise.
45968         * modules/inttostr: Likewise.
45969         * modules/openat: Likewise.
45970         * modules/sig2str: Likewise.
45971         * modules/userspec: Likewise.
45972         * modules/utimecmp: Likewise.
45973         * modules/xnanosleep: Likewise.
45974         * modules/xstrtol: Likewise.
45975
45976 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
45977
45978         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
45979         * modules/lock-tests (TESTS): Use $(EXEEXT).
45980         * modules/tls-tests: Likewise.
45981         * modules/argp-tests: Likewise.
45982         (check_PROGRAMS): New var, replacing...
45983         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
45984
45985 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45986
45987         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
45988         `config.h'.
45989
45990 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
45991
45992         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
45993
45994 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45995
45996         Sync from coreutils.
45997         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
45998         gl_CHDIR_SAFER.
45999
46000 2006-02-22  Jim Meyering  <jim@meyering.net>
46001
46002         Sync from coreutils.
46003         * m4/chdir-safer.m4: New file.
46004
46005 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
46006
46007         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
46008         AT_FDCWD exceeds INT_MAX.
46009         * lib/openat.h (AT_FDCWD): Likewise.
46010
46011 2006-02-17  Eric Blake  <address@hidden>
46012
46013         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
46014
46015 2006-02-16  Simon Josefsson  <jas@extundo.com>
46016
46017         * modules/getaddrinfo (Depends-on): Add sys_socket.
46018
46019 2006-02-15  Simon Josefsson  <jas@extundo.com>
46020
46021         * build-aux/maint.mk: Add dsyntax-check rule.
46022
46023 2006-02-15  Eric Blake  <ebb9@byu.net>
46024
46025         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
46026         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
46027         'present but cannot compile' warnings on cygwin.
46028         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
46029         use ws2tcpip.h if sys/socket.h works.
46030         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
46031         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
46032
46033 2006-02-14  Simon Josefsson  <jas@extundo.com>
46034
46035         * modules/maintainer-makefile (Files): Rename.
46036
46037         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
46038         and (the local) Makefile.cfg to maint-cfg.mk.
46039
46040         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
46041         to the latter.
46042
46043         * modules/maintainer-makefile: New module.
46044
46045         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
46046         severaly stripped to make it possible to build it up from scratch
46047         with reliable tests.
46048
46049         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
46050         fixes to permit overriding the default actions when configure and
46051         makefile are not available.
46052
46053 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
46054
46055         Sync from coreutils.
46056         * modules/lstat (Depends-on): Don't depend on xalloc.
46057         (License): Change from GPL to LGPL, since this is now simply a
46058         replacement for a libc function.
46059
46060 2006-02-14  Jim Meyering  <jim@meyering.net>
46061
46062         Sync from coreutils.
46063
46064         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
46065         failure on deficient systems, and simplify gnulib lgpl dependencies.
46066         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
46067         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
46068
46069         * lib/xalloc-die.c: Remove unused definition of N_.
46070
46071 2006-02-14  Jim Meyering  <jim@meyering.net>
46072
46073         Sync from coreutils.
46074         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
46075         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
46076         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
46077         double-quote uses of that variable, to accommodate the rare case in
46078         which getmntent is available in none of the libraries checked.  This
46079         happens at least on FreeBSD 5.0.
46080
46081 2006-02-13  Simon Josefsson  <jas@extundo.com>
46082
46083         * gnulib-tool (Usage): Fix --import, from
46084         karl@freefriends.org (Karl Berry).
46085
46086 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
46087
46088         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
46089
46090 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
46091
46092         * lib/argp-namefrob.h: Restore changes accidentally lost during the
46093         "autoupdate" on 2005-12-12.
46094
46095 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
46096
46097         * modules/closeout (Depends-on): Remove atexit.
46098
46099 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
46100
46101         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
46102         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
46103
46104 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
46105
46106         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
46107         __EXTENSIONS__ if this causes compilation to fail.  Problem
46108         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
46109         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
46110
46111 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
46112
46113         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
46114         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
46115         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
46116         All uses changed.
46117
46118 2006-01-26  Simon Josefsson  <jas@extundo.com>
46119
46120         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
46121         prototype is visible on mingw32.
46122
46123         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
46124         for mingw32.
46125
46126         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
46127         mingw32).
46128
46129 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
46130
46131         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
46132         attempt to open for write; this always fails, at least on POSIX
46133         hosts.  This reinstates the 2006-01-09 change, which was
46134         inadvertently removed.
46135
46136 2006-01-26  Bruno Haible  <bruno@clisp.org>
46137
46138         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
46139         Reported by Paul Eggert.
46140
46141 2006-01-26  Bruno Haible  <bruno@clisp.org>
46142             Paul Eggert  <eggert@cs.ucla.edu>
46143
46144         * lib/stdbool_.h (_Bool)
46145         [(! (defined __cplusplus || defined __BEOS__)
46146           && !defined __GNUC__
46147           && !(defined __HP_cc || defined __xlc__
46148                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
46149                || defined __sgi))]:
46150         #define to signed char in these cases too; this simplifies
46151         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
46152         etc., separately) and makes it more conservative.
46153
46154 2006-01-25  Simon Josefsson  <jas@extundo.com>
46155
46156         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
46157         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
46158         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
46159
46160 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
46161
46162         * lib/argp-namefrob.h: Bugfix. Remove stray #
46163
46164 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
46165
46166         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
46167         so that we test the test.
46168         Check for yet another HP-UX cc bug involving *bool |= bool.
46169
46170 2006-01-25  Karl Berry  <karl@gnu.org>
46171
46172         * config/srclist.txt (vasnprintf.c): sync lost.
46173
46174 2006-01-25  Jim Meyering  <jim@meyering.net>
46175
46176         Sync from the stable (b5) branch of coreutils:
46177
46178         * lib/fts.c (fts_children): Don't let close() clobber errno from
46179         failed fchdir().
46180
46181         * lib/fts.c (fts_stat): When following a symlink-to-directory,
46182         don't necessarily interpret stat-fails+lstat-succeeds as indicating
46183         a dangling symlink.  That can also happen at least for ELOOP.
46184         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
46185         FYI, this bug predates the inclusion of fts.c in coreutils.
46186
46187         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
46188         in their own block, so pre-c99 compilers don't object.
46189
46190         Avoid the double-free (first in fts_read, second in fts_close) that
46191         would occur when an `active' directory is made inaccessible (e.g.,
46192         via chmod a-x) during a traversal.
46193         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
46194         before returning.  Reproduce this failure by
46195         mkdir -p a/b; cd a; chmod a-x . b
46196         Reported by Stavros Passas.
46197
46198 2006-01-25  Jim Meyering  <jim@meyering.net>
46199
46200         * lib/fileblocks.c: Remove more useless parentheses.
46201         * lib/readutmp.h: Likewise.
46202
46203 2006-01-25  Bruno Haible  <bruno@clisp.org>
46204
46205         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
46206         warnings.
46207         Reported by Paul Eggert.
46208
46209 2006-01-25  Bruno Haible  <bruno@clisp.org>
46210
46211         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
46212         rid of a trap command. For Solaris sh.
46213         Reported by Mark D. Baushke <mdb@gnu.org>.
46214
46215 2006-01-24  Simon Josefsson  <jas@extundo.com>
46216
46217         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
46218         Bruno.
46219
46220 2006-01-24  Karl Berry  <karl@gnu.org>
46221
46222         * config/srclist.txt (argp-namefrob.h): sync lost.
46223
46224 2006-01-24  Jim Meyering  <jim@meyering.net>
46225
46226         * modules/openat (Files): Add lib/intprops.h.
46227         From Mark D. Baushke.
46228
46229 2006-01-24  Jim Meyering  <jim@meyering.net>
46230
46231         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
46232         Reported by Mark D. Baushke.
46233
46234 2006-01-24  Jim Meyering  <jim@meyering.net>
46235
46236         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
46237
46238 2006-01-24  Bruno Haible  <bruno@clisp.org>
46239
46240         * modules/strnlen (Maintainer): Change from glibc to all.
46241
46242 2006-01-24  Bruno Haible  <bruno@clisp.org>
46243
46244         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
46245         Patch by Paul Eggert.
46246
46247 2006-01-24  Bruno Haible  <bruno@clisp.org>
46248
46249         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
46250         already has it.
46251         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
46252         2005-11-26.
46253
46254         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
46255         'signed char' to avoid problems with the built-in _Bool type.
46256         Reported by Paul Eggert on 2005-11-26.
46257
46258 2006-01-24  Bruno Haible  <bruno@clisp.org>
46259
46260         * gnulib-tool (func_import): Avoid constructing complicated sed
46261         expressions inside backquote.
46262         Report and solution by Mark D. Baushke <mdb@gnu.org>.
46263
46264 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
46265
46266         These changes imported from libc.
46267         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
46268         test and two separate function calls.
46269         * lib/strndup.c (__strndup): Add libc_hidden_def.
46270
46271 2006-01-23  Simon Josefsson  <jas@extundo.com>
46272
46273         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
46274         Remove the test_*_SOURCES variable: automake infers it by default.
46275         * modules/tls-tests: Likewise.
46276
46277 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
46278
46279         Work around porting bugs reported by Dieter in
46280         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
46281         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
46282         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
46283         Include "getopt.h" first, to check interface.
46284         (getenv): Declare only if defined HAVE_DECL_GETENV &&
46285         !HAVE_DECL_GETENV.
46286         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
46287         (__strndup): Revert to K&R-style function dfns, the glibc style.
46288         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
46289         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
46290         Include strnlen.h first, to get prototype properly.
46291         (strnlen): Renamed from __strnlen.
46292         Remove weak alias.
46293
46294 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
46295
46296         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
46297
46298 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
46299
46300         * config/srclist.txt: Adjust to reflect glibc reorganization.
46301         This affects only comments.
46302
46303 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
46304
46305          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
46306          Reported by Bruce Korb <bkorb@gnu.org>.
46307
46308 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
46309
46310         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
46311         to pacify gcc -Wswitch-default.
46312
46313 2006-01-22  Bruno Haible  <bruno@clisp.org>
46314
46315         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
46316         temporary buffer for sprintf, take into account the precision also
46317         for 'd', 'i', 'u', 'o', 'x', 'X'.
46318
46319 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
46320
46321         * modules/argp-tests: New module
46322         * tests/test-argp.c: New file
46323         * tests/test-argp-2.sh: New file
46324
46325 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
46326
46327         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
46328         (__argp_base_name): Removed
46329         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
46330         typo.
46331         (__argp_base_name): Provide macro definition or extern declaration
46332         depending on the configuration
46333
46334 2006-01-20  Simon Josefsson  <jas@extundo.com>
46335
46336         * modules/inet_ntop (Depends-on): Depend on sys_socket.
46337
46338 2006-01-20  Simon Josefsson  <jas@extundo.com>
46339
46340         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
46341
46342 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
46343
46344         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
46345         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
46346         Suggested by Bruno Haible.
46347
46348 2006-01-20  Karl Berry  <karl@gnu.org>
46349
46350         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
46351         until changes propagate, I guess.
46352
46353 2006-01-19  Simon Josefsson  <jas@extundo.com>
46354
46355         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
46356
46357 2006-01-19  Simon Josefsson  <jas@extundo.com>
46358
46359         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
46360
46361 2006-01-19  Simon Josefsson  <jas@extundo.com>
46362
46363         * gnulib-tool: Set check_PROGRAMS.
46364
46365         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
46366         modules/des-tests, modules/gc-arcfour-tests,
46367         modules/gc-arctwo-tests, modules/gc-des-tests,
46368         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
46369         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
46370         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
46371         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
46372         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
46373         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
46374         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
46375         test_*_SOURCES.
46376
46377 2006-01-18  Simon Josefsson  <jas@extundo.com>
46378
46379         * modules/socklen (Depends-on): Depend on sys_socket.
46380
46381 2006-01-18  Simon Josefsson  <jas@extundo.com>
46382
46383         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
46384         modules/des-tests, modules/gc-arcfour-tests,
46385         modules/gc-arctwo-tests, modules/gc-des-tests,
46386         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
46387         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
46388         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
46389         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
46390         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
46391         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
46392         $(EXEEXT) to automake TESTS variable, for mingw32.
46393
46394 2006-01-17  Simon Josefsson  <jas@extundo.com>
46395
46396         * modules/socklen (Include): Need sys/socket.h.
46397
46398 2006-01-17  Bruno Haible  <bruno@clisp.org>
46399
46400         * modules/ssize_t (Include): Add <sys/types.h>.
46401
46402 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
46403
46404         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
46405         it's not portable and it doesn't work with cross-compiles.
46406         Problem reported by Bruno Haible.  Fix missing-$ typo in
46407         'test "gl_cv_ignore_unused_libraries" ...' that prevented
46408         -zignore from being used with Sun's C compiler.
46409
46410 2006-01-12  Simon Josefsson  <jas@extundo.com>
46411
46412         * lib/base64.c: Fix warning, reported by Bruno Haible
46413         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
46414
46415 2006-01-12  Bruno Haible  <bruno@clisp.org>
46416
46417         * modules/ldd: New file.
46418         * build-aux/ldd.sh.in: New file.
46419         * MODULES.html.sh (Support for building libraries and executables): Add
46420         ldd.
46421
46422 2006-01-12  Bruno Haible  <bruno@clisp.org>
46423
46424         * m4/ldd.m4: New file.
46425
46426 2006-01-12  Bruno Haible  <bruno@clisp.org>
46427
46428         * gnulib-tool (func_import, func_create_testdir): Don't go into an
46429         endless loop while replacing $auxdir with build-aux.
46430
46431 2006-01-11  Simon Josefsson  <jas@extundo.com>
46432
46433         * lib/stdint_.h (SIZE_MAX): Add missing (.
46434
46435 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
46436
46437         Sync from coreutils.
46438         * lib/md5.c: Fix commentary typos.
46439         (alignof, UNALIGNED_P): No need for a GCC-specific version.
46440         * lib/md5.h (__attribute__): Remove; unused.
46441         * lib/sha1.c: Fix commentary to match md5 better.
46442         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
46443         so that we don't need to worry about alignment.  All uses changed.
46444         This merges the 2005-10-28 md5 change into sha1.
46445
46446 2006-01-11  Jim Meyering  <jim@meyering.net>
46447
46448         Sync from coreutils.
46449         * lib/md5.c (OP): Fix spacing.
46450
46451 2006-01-11  Bruno Haible  <bruno@clisp.org>
46452
46453         Ensure automatic ordering between gl_LOCK and gl_ARGP.
46454         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
46455         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
46456
46457 2006-01-11  Bruno Haible  <bruno@clisp.org>
46458
46459         Ensure automatic ordering between gl_LOCK and gl_ARGP.
46460         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
46461         the "early" section as well.
46462
46463 2006-01-11  Bruno Haible  <bruno@clisp.org>
46464
46465         Avoid "ar: no archive members specified" error on MacOS X.
46466         * gnulib-tool (func_modules_add_dummy): New function.
46467         (func_import, func_create_testdir): Invoke it.
46468
46469 2006-01-11  Bruno Haible  <bruno@clisp.org>
46470
46471         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
46472         with $auxdir in AC_CONFIG_FILES statements.
46473
46474 2006-01-11  Bruno Haible  <bruno@clisp.org>
46475
46476         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46477         Initialize also noinst_HEADERS to empty.
46478
46479 2006-01-11  Bruno Haible  <bruno@clisp.org>
46480
46481         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
46482         variables.
46483         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
46484         autoreconf.
46485
46486 2006-01-11  Bruno Haible  <bruno@clisp.org>
46487
46488         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
46489         overridable by the user.
46490         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46491
46492 2006-01-10  Simon Josefsson  <jas@extundo.com>
46493
46494         * modules/sys_socket: New file.
46495
46496 2006-01-10  Simon Josefsson  <jas@extundo.com>
46497
46498         * m4/sys_socket_h.m4: New file.
46499
46500 2006-01-10  Simon Josefsson  <jas@extundo.com>
46501
46502         * lib/socket_.h: New file.
46503
46504 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
46505
46506         * modules/readutmp (Maintainer): Add myself.
46507
46508 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
46509
46510         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
46511         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
46512         People who are still concerned with buggy memcmp implementations
46513         can invoke gl_FUNC_MEMCMP themselves.
46514
46515 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
46516
46517         * lib/regex_internal.h (BITSET_WORD_BITS):
46518         Work around a bug in 64-bit PGC (before version 6.1-2), where the
46519         preprocessor mishandles large unsigned values as if they were signed.
46520         Problem reported by Claudio Fontana in
46521         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
46522
46523 2006-01-10  Jim Meyering  <jim@meyering.net>
46524
46525         Avoid the double-free (first in fts_read, second in fts_close) that
46526         would occur when an `active' directory is made inaccessible (e.g.,
46527         via chmod a-x) during a traversal.
46528         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
46529         before returning.  Reproduce this failure by
46530         mkdir -p a/b; cd a; chmod a-x . b
46531         Reported by Stavros Passas.
46532
46533         Sync from coreutils.
46534         * lib/sha1.c: Tweak grammar in a comment.
46535
46536 2006-01-10  Jim Meyering  <jim@meyering.net>
46537
46538         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
46539         Patch by Joerg Sonnenberger.
46540
46541 2006-01-10  Bruno Haible  <bruno@clisp.org>
46542
46543         * modules/readutmp: Depend on module free.
46544         * modules/strtok_r: Depend on module restrict.
46545
46546 2006-01-10  Bruno Haible  <bruno@clisp.org>
46547
46548         * modules/gettext (configure.ac): Add an invocation of
46549         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
46550
46551 2006-01-10  Bruno Haible  <bruno@clisp.org>
46552
46553         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
46554         Reported by Werner Lemberg <wl@gnu.org>.
46555
46556 2006-01-10  Bruno Haible  <bruno@clisp.org>
46557
46558         * lib/localcharset.c: Update from GNU gettext.
46559
46560 2006-01-10  Bruno Haible  <bruno@clisp.org>
46561
46562         * lib/argp.h (__const): Remove macro. Use const instead.
46563         * lib/argp-fmtstream.h (__const): Likewise.
46564         * lib/glob_.h (__const): Remove macro.
46565         * lib/glob-libc.h: Use const instead of __const.
46566
46567 2006-01-10  Bruno Haible  <bruno@clisp.org>
46568
46569         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
46570         variable.
46571         Needed to avoid an automake error regarding the 'gettext' module.
46572
46573 2006-01-09  Simon Josefsson  <jas@extundo.com>
46574
46575         * modules/inet_ntop (Depends-on): Add restrict.
46576
46577 2006-01-09  Simon Josefsson  <jas@extundo.com>
46578
46579         * modules/gc-rijndael-tests (License): Put under LGPL.
46580
46581         * modules/gc-des-tests (License): Likewise.
46582
46583         * modules/gc-arcfour-tests (License): Likewise.
46584
46585         * modules/gc-arctwo-tests (License): Likewise.
46586
46587         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
46588
46589         * modules/gc-hmac-sha1-tests (Files): Likewise.
46590
46591         * modules/gc-hmac-md5-tests (License): Likewise.
46592
46593         * modules/gc-sha1-tests (License): Likewise.
46594
46595         * modules/gc-md5-tests (License): Likewise.
46596
46597         * modules/gc-md4-tests (License): Likewise.
46598
46599         * modules/gc-md2-tests (License): Likewise.
46600
46601         * modules/gc-tests (License): Likewise.
46602
46603         * modules/des-tests (License): Likewise.
46604
46605         * modules/md4-tests (License): Likewise.
46606
46607         * modules/md2-tests (License): Likewise.
46608
46609 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46610
46611         Sync from coreutils:
46612
46613         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
46614         * modules/lib-ignore: New file.
46615         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
46616         chdir-safer.m4, lchmod.m4.
46617         * modules/openat: Add mkdirat.c, openat-priv.h.
46618
46619 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46620
46621         Sync from coreutils.
46622         * m4/lib-ignore.m4: New file.
46623         * m4/lchmod.m4: New file.
46624
46625 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46626
46627         Sync from coreutils.
46628         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
46629         for write access: POSIX says that must fail.
46630         * lib/fts.c (diropen): Likewise.
46631         * lib/save-cwd.c (save_cwd): Likewise.
46632         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
46633         well, for minor improvements on hosts that lack O_DIRECTORY.
46634         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
46635         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
46636         Fall back on chown if open failed with EACCES.
46637
46638         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
46639         Report an error at compile-time if only a 1-second nominal clock
46640         resolution is found.
46641
46642         * lib/lchmod.h: New file.
46643         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
46644         (make_dir_parents): Use lchown rather than chown, and
46645         lchmod rather than chmod.
46646
46647         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
46648         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
46649         "proc" reported by n0dalus.
46650
46651         * lib/mountlist.c: Include <limits.h>.
46652         (dev_from_mount_options)
46653         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
46654         New function.  It no longer assumes "dev=" has the System V meaning
46655         on Linux (since it doesn't).  It also parses "dev=" more carefully.
46656         (read_file_system_list)
46657         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
46658         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
46659         dev= in that case.
46660
46661         * lib/posixtm.h (PDS_PRE_2000): New macro.
46662         * lib/posixtm.c (year): Arg is now syntax_bits rather than
46663         allow_century.  All usages changed.  Reject dates outside the range
46664         1969-1999 if PDS_PRE_2000 is used.
46665
46666 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46667
46668         Sync from coreutils.
46669         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
46670         (Time of day items): Mention the possibility of leap seconds.
46671         Problem reported by Dr. David Alan Gilbert.
46672
46673 2006-01-09  Jim Meyering  <jim@meyering.net>
46674
46675         Sync from coreutils.
46676
46677         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
46678
46679         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
46680
46681         * lib/modechange.c (mode_compile): Reject an invalid mode string
46682         that starts with an octal digit.  From Andreas Gruenbacher.
46683
46684         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
46685         and dup to open_safer and dup_safer, respectively.
46686         (openat_permissive): Fix typo in comment.
46687
46688         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
46689         "gettext.h"; either no longer needed or are guaranteed by openat.h.
46690         (_): Remove; no longer needed.
46691         (openat): Renamed from rpl_openat; no need for rpl_openat
46692         since openat.h renames openat for us.
46693         Replace most of the body with a call to openat_permissive,
46694         to avoid duplicate code.
46695         Port to (probably hypothetical) environments were mode_t is
46696         wider than int.
46697         (openat_permissive): Require mode arg, so that we can check
46698         types better.  Put it just after flags.  Change cwd failure
46699         indicator from pointer-to-bool to pointer-to-errno-value.
46700         All callers changed.
46701         Invoke openat_save_fail and/or openat_restore_fail if
46702         cwd_errno is null, so that openat can call us.
46703         (openat_permissive, fdopendir, fstatat, unlinkat):
46704         Simplify errno handling to avoid some duplicate code,
46705         as it's OK to set errno on success.
46706         * lib/openat.h: Revamp code so that function macros depend on
46707         __OPENAT_PREFIX only, not also on AT_FDCWD.
46708         (openat_ro): Remove.  Caller changed to use openat_permissive.
46709         (openat_permissive): Now a macro, if not a function.
46710         (openat_restore_fail, openat_save_fail): Now always functions,
46711         since mkdirat needs them even if __OPENAT_PREFIX is defined.
46712
46713         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
46714         and openat.c.
46715         * lib/mkdirat.c: Include openat-priv.h.
46716         Remove definitions of macros defined therein.
46717         * lib/openat.c: Likewise.
46718
46719         * lib/mkdirat.c (mkdirat): New file and function.
46720         * lib/openat.h (mkdirat): Declare.
46721
46722         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
46723
46724         * lib/openat.h (openat_permissive): Declare.
46725         (openat_ro): Define.
46726
46727         * lib/openat.c (EXPECTED_ERRNO): New macro.
46728         (openat_permissive): New function -- used in remove.c rewrite.
46729         (all functions): Set errno just before returning, only if there
46730         was an actual failure.
46731         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
46732
46733         Emulate openat-family functions using Linux's procfs, if possible.
46734         Idea and some code based on Ulrich Drepper's glibc changes.
46735
46736         * lib/openat.c: (BUILD_PROC_NAME): New macro.
46737         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
46738         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
46739         before falling back on save_cwd and restore_cwd.
46740         (fdopendir, fstatat, unlinkat): Likewise.
46741
46742         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
46743         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
46744
46745         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
46746         as second argument to va_arg.  Otherwise, some versions of gcc
46747         warn that `if this code is reached, the program will abort'.
46748
46749 2006-01-09  Jim Meyering  <jim@meyering.net>
46750
46751         Sync from coreutils.
46752         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
46753         Require openat-priv.h.
46754
46755 2006-01-09  Bruno Haible  <bruno@clisp.org>
46756
46757         * modules/strnlen (Include): Use strnlen.h.
46758
46759 2006-01-09  Bruno Haible  <bruno@clisp.org>
46760
46761         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
46762
46763 2006-01-09  Bruno Haible  <bruno@clisp.org>
46764
46765         * lib/sysexit_.h (EX_OK): New macro.
46766         Suggested by Martin Lambers <marlam@marlam.de>.
46767
46768 2006-01-09  Bruno Haible  <bruno@clisp.org>
46769
46770         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
46771         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
46772
46773 2006-01-09  Bruno Haible  <bruno@clisp.org>
46774
46775         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
46776         numbers.
46777
46778 2006-01-09  Bruno Haible  <bruno@clisp.org>
46779
46780         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
46781         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
46782         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
46783         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
46784
46785 2006-01-09  Bruno Haible  <bruno@clisp.org>
46786
46787         * build-aux/javacomp.sh.in: New file, moved from lib/.
46788         * modules/javacomp-script (Files): Update.
46789         (configure.ac): Add AC_CONFIG_FILES invocation.
46790         (EXTRA_DIST): Remove variable.
46791
46792         * build-aux/javaexec.sh.in: New file, moved from lib/.
46793         * modules/javaexec (Files): Update.
46794         (configure.ac): Add AC_CONFIG_FILES invocation.
46795         (EXTRA_DIST): Remove javaexec.sh.in.
46796
46797         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
46798         * modules/csharpcomp-script (Files): Update.
46799         (configure.ac): Add AC_CONFIG_FILES invocation.
46800         (EXTRA_DIST): Remove variable.
46801
46802         * build-aux/csharpexec.sh.in: New file, moved from lib/.
46803         * modules/csharpexec (Files): Update.
46804         (configure.ac): Add AC_CONFIG_FILES invocation.
46805         (EXTRA_DIST): Remove csharpexec.sh.in.
46806
46807 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
46808
46809         Sync from coreutils.
46810
46811         Add POSIX ACL support
46812         * lib/acl.h (copy_acl, set_acl): Add declarations.
46813         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
46814         systems other than Linux.
46815         (chmod_or_fchmod): New function: use fchmod when possible,
46816         and chmod otherwise.
46817         (file_has_acl): Add a POSIX ACL implementation, with a
46818         Linux-specific subcase.
46819         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
46820         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
46821         acls are unsupported.
46822         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
46823         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
46824         are unsupported.
46825
46826 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
46827
46828         Sync from coreutils.
46829         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
46830
46831 2006-01-07  Bruno Haible  <bruno@clisp.org>
46832
46833         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
46834         gl_EARLY.
46835
46836 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46837
46838         * lib/strftime.c (tzname): Don't declare if it is already #defined.
46839         Problem reported for Mingw by Mark Junker.
46840
46841 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46842
46843         * README: Gnulib normally doesn't generate a tarball.
46844
46845 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
46846
46847         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
46848         long int, not int, for nanosecond counts, so that people who are
46849         used to POSIX struct timespec won't be surprised.  Reported by Jim
46850         Meyering.
46851
46852 2005-12-28  Bruno Haible  <bruno@clisp.org>
46853
46854         * build-aux/config.rpath: Update from GNU gettext.
46855
46856 2005-12-16  Jim Meyering  <jim@meyering.net>
46857
46858         * modules/fprintftime: New module.
46859         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
46860
46861 2005-12-16  Jim Meyering  <jim@meyering.net>
46862
46863         * m4/fprintftime.m4: New file.
46864
46865 2005-12-16  Jim Meyering  <jim@meyering.net>
46866
46867         * lib/fprintftime.c, lib/fprintftime.h: New files.
46868
46869 2005-12-15  Simon Josefsson  <jas@extundo.com>
46870
46871         * modules/socklen (configure.ac): Fix M4 macro name, to align with
46872         new m4/socklen.m4.
46873
46874 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46875
46876         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
46877         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
46878
46879 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46880
46881         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
46882         * lib/argp-help.c (fill_in_uparams): Check if the constructed
46883         struct uparams is valid. Fall back to the default values if it is
46884         not.
46885
46886 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46887
46888         * modules/argp (Files): Add argp-pin.c
46889         (Depends-on): dirname
46890         (lib_SOURCES): Add argp-pin.c
46891
46892 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46893
46894         * m4/argp.m4:  Check if program_invocation_name and
46895         program_invocation_short_name are declared and define appropriate
46896         macros if they are not.
46897
46898 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46899
46900         * lib/argp-help.c (__argp_base_name): New function
46901         (__argp_short_program_name): Rewrite using __argp_base_name
46902         * lib/argp-namefrob.h: Define program_invocation_name and
46903         program_invocation_short_name if requested
46904         (__argp_base_name): Add prototype
46905         * lib/argp-parse.c (argp_def): Use gettext wrappers
46906         (argp_default_parser): Use __argp_base_name
46907         * lib/argp-pin.c: New file. Defines program_invocation_name and
46908         program_invocation_short_name on systems that lack them.
46909
46910 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
46911
46912         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
46913         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
46914         porting problem reported by Georg Schwarz in
46915         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
46916
46917 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
46918
46919         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
46920         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
46921         porting problem reported by Georg Schwarz in
46922         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
46923
46924 2005-12-05  Bruno Haible  <bruno@clisp.org>
46925
46926         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
46927         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
46928         Reported by Mark Junker <mjscod@gmx.de>.
46929
46930 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
46931
46932         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
46933         Use implementation from Albert Chin, with some
46934         comments/corrections by Stepan Kasal and myself.
46935
46936 2005-12-02  Bruno Haible  <bruno@clisp.org>
46937
46938         * gnulib-tool (func_import): Accept GPLed build tool modules when
46939         --lgpl is given.
46940         * modules/csharpcomp-script: New file.
46941         * modules/csharpcomp: Depend on it.
46942         * modules/javacomp-script: New file.
46943         * modules/javacomp: Depend on it.
46944         Suggested by Simon Josefsson.
46945
46946 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
46947
46948         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
46949         statement, to work around an HP-UX 10.20 compiler bug reported by
46950         Peter O'Gorman.
46951
46952 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
46953
46954         * modules/savedir (Depends-on): Add openat.
46955
46956 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
46957
46958         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
46959         (uintmax_t) [defined uintmax_t]: Do not declare.
46960         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
46961         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
46962         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
46963         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
46964         sake of portability to weird hosts that C allows (though we don't
46965         know of any practical examples).
46966
46967         * lib/savedir.h (fdsavedir): New decl.
46968         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
46969         contains most of the former guts of savedir.
46970         (savedir): Use savedirstream.
46971         Include "openat.h".
46972
46973 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46974
46975         * modules/obstack (Files): Add m4/ulonglong.m4.
46976         Problem reported by Davide Angelocola.
46977
46978 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46979
46980         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
46981         coreutils no longer futzes with rounding modes.
46982
46983 2005-11-14  Jim Meyering  <jim@meyering.net>
46984
46985         * lib/mkstemp-safer.c: Include <config.h>, required for possible
46986         replacement of mkstemp.
46987
46988 2005-11-10  Simon Josefsson  <jas@extundo.com>
46989
46990         * lib/readline.c: Remove EOL.
46991
46992 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46993
46994         * modules/gethrxtime (Depends-on): Add gettime.
46995
46996 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46997
46998         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
46999         or gettimeofday; no longer needed.
47000
47001 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
47002
47003         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
47004         time business.
47005         (gethrxtime) [! (HAVE_NANOUPTIME
47006         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
47007         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
47008         our own approximation.
47009
47010 2005-11-08  Eric Blake  <ebb9@byu.net>
47011
47012         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
47013
47014 2005-11-08  Eric Blake  <ebb9@byu.net>
47015
47016         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
47017
47018 2005-11-04  Bruno Haible  <bruno@clisp.org>
47019
47020         * gnulib-tool: Implement --update mode.
47021
47022 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
47023
47024         Fix porting problem reported by Theodoros V. Kalamatianos.
47025         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
47026         Don't assume that futimes failing means we must fail.
47027
47028 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
47029
47030         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
47031         variables to suggest the intended function of the PATH_MAX check.
47032
47033 2005-10-30  Kean Johnston  <jkj@sco.com>
47034
47035         Trivial changes to support SCO systems.
47036         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
47037         as PATH_MAX.
47038         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
47039         where __ptr is null when no I/O is pending.
47040
47041 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
47042
47043         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
47044         leave errno alone.  Problem reported by Dmitry V. Levin.
47045
47046 2005-10-28  Simon Josefsson  <jas@extundo.com>
47047
47048         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
47049         Test more.
47050
47051         * tests/test-gc-md2.c, tests/test-md2.c: New files.
47052
47053         * modules/md2, modules/md2-tests: New files.
47054
47055 2005-10-28  Simon Josefsson  <jas@extundo.com>
47056
47057         * m4/inet_ntop.m4: More tests.
47058
47059         * m4/gc-md2.m4, md2.m4: New file.
47060
47061 2005-10-28  Simon Josefsson  <jas@extundo.com>
47062
47063         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
47064         "restrict" keywords, as per POSIX.  Protect the function
47065         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
47066         Don't use K&R prototypes.  Check the sprintf return values.
47067         Re-define EAFNOSUPPORT if not present.  Indent.
47068
47069         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
47070         suggested by Bruno Haible <bruno@clisp.org>.
47071
47072         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
47073
47074         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
47075
47076         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
47077         libgcrypt).
47078
47079         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
47080
47081         * lib/md2.h, lib/md2.c: New files.
47082
47083 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
47084
47085         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
47086         errno alone.  Problem reported by Frederic Jolliton.
47087
47088 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
47089
47090         * modules/verify (License): Change from GPL to LGPL.  This is a
47091         tiny module and there are apparently near-equivalents that are
47092         under the BSD license.
47093
47094 2005-10-24  Simon Josefsson  <jas@extundo.com>
47095
47096         * modules/sha1: Relicense to LGPL.
47097
47098 2005-10-24  Simon Josefsson  <jas@extundo.com>
47099
47100         * lib/md4.h: Shrink buffer size, now that we changed the type.
47101
47102 2005-10-23  Simon Josefsson  <jas@extundo.com>
47103
47104         * gnulib-tool (func_import): Fix --tests-base.
47105
47106 2005-10-22  Simon Josefsson  <jas@extundo.com>
47107
47108         * modules/arcfour (Depends-on): Need stdint.
47109
47110 2005-10-22  Simon Josefsson  <jas@extundo.com>
47111
47112         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
47113         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
47114
47115 2005-10-22  Simon Josefsson  <jas@extundo.com>
47116
47117         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
47118         suggested by Bruno Haible <bruno@clisp.org>.
47119
47120 2005-10-22  Simon Josefsson  <jas@extundo.com>
47121
47122         * lib/crc.h: Include stddef.h, for size_t.
47123
47124 2005-10-22  Simon Josefsson  <jas@extundo.com>
47125
47126         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
47127         arcfour_context struct (simplify test vector testing in GNU
47128         Shishi).
47129
47130 2005-10-21  Simon Josefsson  <jas@extundo.com>
47131
47132         * modules/des, modules/des-tests: New files.
47133
47134         * modules/gc-des, modules/gc-des-tests: New files.
47135
47136         * tests/test-des.c, tests/test-gc-des.c: New file.
47137
47138 2005-10-21  Simon Josefsson  <jas@extundo.com>
47139
47140         * modules/arctwo, modules/arctwo-tests: New files.
47141
47142         * tests/test-arctwo.c: New file.
47143
47144         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
47145
47146         * tests/test-gc-arctwo.c: New file.
47147
47148 2005-10-21  Simon Josefsson  <jas@extundo.com>
47149
47150         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
47151         Bruno Haible <bruno@clisp.org>.
47152
47153         * m4/gc-des.m4: New file.
47154
47155 2005-10-21  Simon Josefsson  <jas@extundo.com>
47156
47157         * m4/arctwo.m4: New file.
47158
47159         * m4/gc-arctwo.m4: New file.
47160
47161 2005-10-21  Simon Josefsson  <jas@extundo.com>
47162
47163         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
47164         block.
47165
47166 2005-10-21  Simon Josefsson  <jas@extundo.com>
47167
47168         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
47169         <bruno@clisp.org>.
47170
47171         * lib/hmac-sha1.c (hmac_sha1): Likewise.
47172
47173         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
47174         Bruno Haible <bruno@clisp.org>.
47175
47176         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
47177         <bruno@clisp.org>.
47178
47179 2005-10-21  Simon Josefsson  <jas@extundo.com>
47180
47181         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
47182
47183 2005-10-21  Simon Josefsson  <jas@extundo.com>
47184
47185         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
47186
47187 2005-10-21  Simon Josefsson  <jas@extundo.com>
47188
47189         * lib/des.h, lib/des.c: New files.
47190
47191         * lib/gc-gnulib.c: Support DES.c
47192
47193 2005-10-21  Simon Josefsson  <jas@extundo.com>
47194
47195         * lib/arctwo.h, lib/arctwo.c: New files.
47196
47197         * lib/gc-gnulib.c: Support ARCTWO.
47198
47199 2005-10-21  Simon Josefsson  <jas@extundo.com>
47200
47201         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
47202         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47203
47204 2005-10-21  Simon Josefsson  <jas@extundo.com>
47205
47206         * gnulib-tool (func_import, func_create_testdir): Define automake
47207         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
47208         Makefile.am snippet),
47209         suggested by Bruno Haible <bruno@clisp.org>.
47210
47211         * modules/gc (Makefile.am): Use it.
47212
47213 2005-10-21  Bruno Haible  <bruno@clisp.org>
47214
47215         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
47216         patch.
47217
47218 2005-10-19  Simon Josefsson  <jas@extundo.com>
47219
47220         * tests/test-gc-rijndael.c: New file.
47221
47222         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
47223
47224 2005-10-19  Simon Josefsson  <jas@extundo.com>
47225
47226         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
47227         interface too.
47228
47229 2005-10-19  Simon Josefsson  <jas@extundo.com>
47230
47231         * tests/test-gc-arcfour.c: New file.
47232
47233         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
47234
47235 2005-10-19  Simon Josefsson  <jas@extundo.com>
47236
47237         * modules/gc-md4, modules/gc-md4-tests: New file.
47238
47239         * tests/test-gc-md4.c: New file.
47240
47241 2005-10-19  Simon Josefsson  <jas@extundo.com>
47242
47243         * m4/gc-md4.m4: New file.
47244
47245 2005-10-19  Simon Josefsson  <jas@extundo.com>
47246
47247         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
47248         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
47249         <kasal@ucw.cz>.
47250
47251 2005-10-19  Simon Josefsson  <jas@extundo.com>
47252
47253         * m4/gc-arcfour.m4: New file.
47254
47255         * m4/gc-rijndael.m4: New file.
47256
47257 2005-10-19  Simon Josefsson  <jas@extundo.com>
47258
47259         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
47260
47261 2005-10-19  Simon Josefsson  <jas@extundo.com>
47262
47263         * lib/gc-gnulib.c: Support ARCFOUR.
47264
47265 2005-10-19  Simon Josefsson  <jas@extundo.com>
47266
47267         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
47268         support.
47269
47270         * lib/gc.h: Add ECB enum type.
47271
47272         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
47273
47274 2005-10-18  Simon Josefsson  <jas@extundo.com>
47275
47276         * tests/test-md5.c: New file.
47277
47278         * modules/md5-tests: New file.
47279
47280 2005-10-18  Simon Josefsson  <jas@extundo.com>
47281
47282         * tests/test-md4.c: New file.
47283
47284         * modules/md4, modules/md4-tests: New files.
47285
47286 2005-10-18  Simon Josefsson  <jas@extundo.com>
47287
47288         * m4/md4.m4: New file.
47289
47290 2005-10-18  Simon Josefsson  <jas@extundo.com>
47291
47292         * lib/md4.h, lib/md4.c: New files, based on md5.?.
47293
47294 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
47295
47296         * gnulib-tool (func_create_testdir): Omit the second check whether
47297         BUILT_SOURCES in nonempty.
47298
47299 2005-10-17  Simon Josefsson  <jas@extundo.com>
47300
47301         * tests/test-rijndael.c: New file.
47302
47303 2005-10-17  Simon Josefsson  <jas@extundo.com>
47304
47305         * modules/sha1: Depend on stdint instead of md5.
47306
47307         * modules/md5: Depend on stdint, remove uint32_t.
47308
47309 2005-10-17  Simon Josefsson  <jas@extundo.com>
47310
47311         * modules/gc-sha1-tests: New file.
47312
47313         * tests/test-gc-sha1.c: New file.
47314
47315 2005-10-17  Simon Josefsson  <jas@extundo.com>
47316
47317         * m4/md5.m4: Remove call to uint32_t.m4.
47318
47319 2005-10-17  Simon Josefsson  <jas@extundo.com>
47320
47321         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
47322
47323         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
47324         md5.h.
47325
47326         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
47327
47328         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
47329
47330 2005-10-17  Simon Josefsson  <jas@extundo.com>
47331
47332         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
47333
47334 2005-10-17  Simon Josefsson  <jas@extundo.com>
47335
47336         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
47337
47338 2005-10-17  Simon Josefsson  <jas@extundo.com>
47339
47340         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
47341
47342         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
47343
47344 2005-10-17  Bruno Haible  <bruno@clisp.org>
47345
47346         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
47347         that it can also be used in a test.
47348
47349 2005-10-16  Bruno Haible  <bruno@clisp.org>
47350
47351         * gnulib-tool (func_emit_tests_Makefile_am): Also define
47352         TESTS_ENVIRONMENT, so that individual tests can augment it.
47353
47354         * gnulib-tool (func_create_testdir): Use an intermediate target for
47355         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
47356         macros, like $(ALLOCA_H), which cannot be passed through the command
47357         line.
47358
47359 2005-10-15  Simon Josefsson  <jas@extundo.com>
47360
47361         * modules/rijndael-tests: New file.
47362
47363         * modules/rijndael: New file.
47364
47365 2005-10-15  Simon Josefsson  <jas@extundo.com>
47366
47367         * m4/rijndael.m4: New file.
47368
47369 2005-10-15  Simon Josefsson  <jas@extundo.com>
47370
47371         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
47372
47373         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
47374
47375 2005-10-14  Simon Josefsson  <jas@extundo.com>
47376
47377         * tests/test-arcfour.c: New file.
47378
47379         * modules/arcfour, modules/arcfour-tests: New files.
47380
47381 2005-10-14  Simon Josefsson  <jas@extundo.com>
47382
47383         * m4/arcfour.m4: New file.
47384
47385 2005-10-14  Simon Josefsson  <jas@extundo.com>
47386
47387         * lib/arcfour.h, lib/arcfour.c: New files.
47388
47389 2005-10-14  Roland McGrath  <roland@redhat.com>
47390
47391         Import from libc.  [BZ #1331]
47392         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
47393         macro argument.
47394         Reported by Matej Vela <vela@debian.org>.
47395
47396 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
47397
47398         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
47399         include <wchar.h>; no longer needed.
47400
47401 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
47402
47403         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
47404
47405 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
47406         and  Ulrich Drepper  <drepper@redhat.com>
47407
47408         Import from libc.
47409         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
47410         instead of inline stream orientation test and two separate
47411         function calls.  Pay no attention to USE_IN_LIBIO.
47412
47413 2005-10-13  Simon Josefsson  <jas@extundo.com>
47414
47415         * modules/gc-hmac-md5-tests: New file.
47416
47417         * tests/test-gc-hmac-sha1.c: New file.
47418
47419         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
47420
47421         * modules/gc-hmac-md5-tests: New file.
47422
47423         * tests/test-gc-md5.c: New file.
47424
47425         * modules/gc-md5-tests: New file.
47426
47427 2005-10-13  Simon Josefsson  <jas@extundo.com>
47428
47429         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
47430         Move memory allocation outside of loop.
47431
47432 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
47433
47434         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
47435         intermediate directory is in a read-only file system.  Problem
47436         reported by Eric Blake.
47437
47438 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
47439
47440         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
47441
47442 2005-10-12  Simon Josefsson  <jas@extundo.com>
47443
47444         * tests/test-hmac-sha1.c: New file.
47445
47446         * modules/hmac-sha1-tests: New file.
47447
47448         * modules/hmac-sha1: New file.
47449
47450 2005-10-12  Simon Josefsson  <jas@extundo.com>
47451
47452         * modules/gc-sha1: New file.
47453
47454 2005-10-12  Simon Josefsson  <jas@extundo.com>
47455
47456         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
47457
47458         * tests/test-gc-pbkdf2-sha1.c: New file.
47459
47460 2005-10-12  Simon Josefsson  <jas@extundo.com>
47461
47462         * modules/gc-md5, modules/gc-hmac-md5: New files.
47463
47464         * modules/gc (Files): Remove md5, memxor and hmac files.
47465
47466 2005-10-12  Simon Josefsson  <jas@extundo.com>
47467
47468         * m4/gc-pbkdf2-sha1.m4: New file.
47469
47470         * m4/gc-hmac-sha1.m4: New file.
47471
47472         * m4/gc-sha1: New file.
47473
47474         * m4/hmac-sha1.m4: New file.
47475
47476 2005-10-12  Simon Josefsson  <jas@extundo.com>
47477
47478         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
47479
47480         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
47481
47482 2005-10-12  Simon Josefsson  <jas@extundo.com>
47483
47484         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
47485         suggested by Bruno Haible <bruno@clisp.org>.
47486
47487 2005-10-12  Simon Josefsson  <jas@extundo.com>
47488
47489         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
47490
47491 2005-10-12  Simon Josefsson  <jas@extundo.com>
47492
47493         * lib/gc-pbkdf2-sha1.c: New file.
47494
47495         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
47496
47497 2005-10-12  Simon Josefsson  <jas@extundo.com>
47498
47499         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
47500
47501         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
47502
47503 2005-10-12  Simon Josefsson  <jas@extundo.com>
47504
47505         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
47506         GC_USE_HMAC_MD5, respectively.
47507
47508         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
47509         (gc_md5): Fix typo.
47510
47511         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
47512
47513         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
47514
47515         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
47516
47517 2005-10-12  Bruno Haible  <bruno@clisp.org>
47518
47519         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
47520         Reported by Stepan Kasal <kasal@ucw.cz>.
47521
47522 2005-10-11  Simon Josefsson  <jas@extundo.com>
47523
47524         * tests/test-crc.c: New file.
47525
47526         * modules/crc, modules/crc-tests: New files.
47527
47528 2005-10-11  Simon Josefsson  <jas@extundo.com>
47529
47530         * m4/crc.m4: New file.
47531
47532 2005-10-11  Simon Josefsson  <jas@extundo.com>
47533
47534         * lib/gc.h: Add gc_hash and gc_hash_buffer.
47535
47536         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
47537
47538         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
47539
47540 2005-10-11  Simon Josefsson  <jas@extundo.com>
47541
47542         * lib/crc.h, lib/crc.c: New files.
47543
47544         * lib/gc.h (gc_hash_buffer): Add doc.
47545
47546 2005-10-11  Bruno Haible  <bruno@clisp.org>
47547
47548         * modules/c-strcasestr: New file.
47549         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
47550
47551 2005-10-11  Bruno Haible  <bruno@clisp.org>
47552
47553         * modules/c-strcase: New file.
47554         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
47555
47556 2005-10-11  Bruno Haible  <bruno@clisp.org>
47557
47558         * lib/strcasecmp.c: Include limits.h.
47559         (strcasecmp): Avoid integer overflow on exotic platforms.
47560         * lib/strncasecmp.c: Include limits.h.
47561         (strncasecmp): Avoid integer overflow on exotic platforms.
47562         Reported by Paul Eggert.
47563
47564 2005-10-11  Bruno Haible  <bruno@clisp.org>
47565
47566         * lib/c-strcasestr.h: New file, from GNU gettext.
47567         * lib/c-strcasestr.c: New file, from GNU gettext.
47568
47569 2005-10-11  Bruno Haible  <bruno@clisp.org>
47570
47571         * lib/c-strcase.h: New file, from GNU gettext.
47572         * lib/c-strcasecmp.c: New file, from GNU gettext.
47573         * lib/c-strncasecmp.c: New file, from GNU gettext.
47574
47575 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
47576
47577         * modules/mempcpy (License): GPL -> LGPL.
47578         * modules/strchrnul (License): Likewise.
47579         * modules/sysexits (License): Likewise.
47580
47581 2005-10-08  Simon Josefsson  <jas@extundo.com>
47582
47583         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
47584
47585 2005-10-07  Simon Josefsson  <jas@extundo.com>
47586
47587         * m4/memxor.m4: Remove gl_C_RESTRICT call.
47588
47589 2005-10-06  Simon Josefsson  <jas@extundo.com>
47590
47591         * tests/test-hmac-md5.c: New file.
47592
47593         * modules/hmac-md5-tests: New file.
47594
47595         * modules/hmac-md5: New file.
47596
47597 2005-10-06  Simon Josefsson  <jas@extundo.com>
47598
47599         * m4/hmac-md5.m4: New file.
47600
47601         * m4/memxor.m4: Require gl_C_RESTRICT.
47602
47603 2005-10-06  Simon Josefsson  <jas@extundo.com>
47604
47605         * lib/memxor.c (memxor): Avoid casts and warnings.
47606
47607 2005-10-06  Simon Josefsson  <jas@extundo.com>
47608
47609         * lib/hmac-md5.c: New file.
47610
47611         * lib/hmac.h: New file.
47612
47613 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
47614
47615         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
47616         promotes to int, not unsigned int, to catch the AIX 5.3
47617         compiler bug.
47618
47619 2005-10-05  Simon Josefsson  <jas@extundo.com>
47620
47621         * modules/memxor: New file.
47622
47623         * modules/iconv (Files): Move config.rpath to havelib, it is used
47624         there.
47625
47626         * modules/havelib (Files): Add config.rpath.
47627
47628 2005-10-05  Simon Josefsson  <jas@extundo.com>
47629
47630         * m4/memxor.m4: New file.
47631
47632 2005-10-05  Simon Josefsson  <jas@extundo.com>
47633
47634         * lib/memxor.c (memxor): Fix compiler error.
47635
47636         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
47637         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
47638
47639         * lib/memxor.h, lib/memxor.c: New files.
47640
47641         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
47642         we assume all systems have it, suggested by Jim Meyering
47643         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
47644         any systems lack sys/socket.h; mingw32 is known to lack it, but we
47645         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
47646         same reasons.
47647
47648 2005-10-05  Simon Josefsson  <jas@extundo.com>
47649
47650         * config/srclist.txt: Add glibc bug 1423 for md5.h.
47651
47652 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47653
47654         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
47655         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
47656         needed, since the source code now assumes these .h files.
47657
47658 2005-10-05  Derek Price  <derek@ximbiot.com>
47659
47660         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
47661
47662 2005-10-05  Bruno Haible  <bruno@clisp.org>
47663
47664         * modules/stdint (License): Change to LGPL.
47665
47666 2005-10-04  Simon Josefsson  <jas@extundo.com>
47667
47668         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
47669         D. Baushke" <mdb@gnu.org>.
47670
47671 2005-10-04  Bruno Haible  <bruno@clisp.org>
47672
47673         * lib/verify.h (verify_true): Provide alternative definition for C++.
47674
47675 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
47676
47677         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
47678         (SSIZE_MAX): New macro, if not already defined.
47679         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
47680         than 2 GiB.
47681
47682 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
47683
47684         Sync from coreutils.
47685         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
47686         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
47687         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
47688         ULLONG_MAX doesn't work with 2.7.2.1.
47689
47690 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
47691
47692         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
47693         From Ben Pfaff.
47694
47695         * modules/exclude (Depends-on): Depend on verify.
47696         * modules/strtoimax (Depends-on): Likewise.
47697         * modules/utimecmp (Depends-on): Likewise.
47698
47699 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
47700
47701         * lib/exclude.c: Include verify.h.
47702         (verify): Remove.  All callers changed to use verify.h's version.
47703         * lib/strtoimax.c: Likewise.
47704         * lib/utimecmp.c: Likewis.e
47705
47706         Sync from coreutils.
47707         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
47708         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
47709         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
47710         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
47711         bother returning ENOSYS if settimeofday or stime fails; just let
47712         them return whatever errno they want to return.
47713         * lib/utimens.c: Include unistd.h, for dup2.
47714         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
47715         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
47716
47717 2005-10-02  Jim Meyering  <jim@meyering.net>
47718
47719         Sync from coreutils.
47720         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
47721         from glibc-2.2.5 that fails for read-only files.
47722
47723 2005-10-02  Jim Meyering  <jim@meyering.net>
47724
47725         Sync from coreutils.
47726         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
47727         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
47728         `#if HAVE_CONFIG_H'.
47729         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
47730         Remove AT_FDCWD test.
47731         Do not consume the fd unless successful.
47732         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
47733         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
47734         block, so that we don't even try to compile it if settimeofday is
47735         available.  This works around a compilation failure on OSF1 V5.1,
47736         due to stime requiring a `long int*' while tv_sec is `int'.
47737
47738 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
47739
47740         Sync from coreutils.
47741         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
47742         against `yes', rather than just testing for nonempty.
47743
47744 2005-10-01  Simon Josefsson  <jas@extundo.com>
47745
47746         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
47747         and Darwin.
47748
47749         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
47750         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
47751         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
47752         freeaddrinfo and gai_strerror are declared by the POSIX headers.
47753         Check if struct addrinfo is declared.
47754
47755 2005-10-01  Simon Josefsson  <jas@extundo.com>
47756
47757         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
47758         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
47759         AI_* and EAI_* definitions.  Protect function declarations.
47760
47761 2005-10-01  Jim Meyering  <jim@meyering.net>
47762
47763         Sync from coreutils.
47764
47765         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
47766         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
47767         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
47768         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
47769         in the inet and nsl libraries.  Required on Solaris 5.7.
47770
47771 2005-10-01  Jim Meyering  <jim@meyering.net>
47772
47773         Sync from coreutils.
47774         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
47775         in the inet and nsl libraries.  Required on Solaris 5.7.
47776
47777 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
47778
47779         * lib/getdelim.c (getdelim): Remove unused variables.
47780
47781 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
47782
47783         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
47784         so that the code works even with ancient cpp.  Portability problem
47785         with GCC 2.7.2.1 reported by Thomas M.Ott.
47786
47787 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
47788
47789         * modules/regex (Depends-on): Add strcase.
47790
47791         * modules/gethostname (Licence): Change from GPL to LGPL, since
47792         gethostname.c is a trivial implementation of a standard library
47793         function.
47794         * modules/poll (License): Change from GPL to LGPL, since it's
47795         derived from LGPL code.
47796
47797 2005-09-27  Jim Meyering  <jim@meyering.net>
47798
47799         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
47800         HAVE_CONFIG_H.
47801
47802         * lib/intprops.h (signed_type_or_expr__): Define.
47803         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
47804         for unsigned types.
47805
47806 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47807
47808         * lib/verify.h (verify_expr): Remove, replacing with:
47809         (verify_true): New macro that returns true instead of void.
47810         (verify_type__): Remove.
47811         (verify): Use verify_true rather than verify_type__.
47812
47813 2005-09-26  Bruno Haible  <bruno@clisp.org>
47814
47815         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
47816         is necessary.
47817         (lib_SOURCES): Remove mbchar.c.
47818         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
47819         (Files): Add m4/mbrtowc.m4.
47820         * modules/mbiter: Likewise.
47821         * modules/mbuiter: Likewise.
47822
47823 2005-09-26  Bruno Haible  <bruno@clisp.org>
47824
47825         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
47826         compile mbchar.c if they are not both present.
47827         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
47828         * m4/mbiter.m4 (gl_MBITER): Likewise.
47829         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
47830         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
47831         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
47832
47833 2005-09-25  Jim Meyering  <jim@meyering.net>
47834
47835         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
47836         also uses socklen_t.
47837
47838 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
47839
47840         * lib/utimens.c (ENOSYS): Define if not already defined.
47841         (futimens): Support having a null PATH if the file descriptor
47842         is nonnegative.
47843
47844         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
47845         Remove.
47846         (__attribute): Define to empty unless GCC 3.1 or later.
47847         This works around a core dump on OpenBSD 3.4, which has GCC
47848         2.95.3, which dumps core when given __attribute__(()).  It also
47849         simplifies other tests, since we really don't want to bother with
47850         worrying about which ancient version of GCC supported what.
47851         Original problem reported by Yoann Vandoorselaere, with part of
47852         the fix suggested by Derek Price.
47853
47854 2005-09-24  Jim Meyering  <jim@meyering.net>
47855
47856         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
47857         so we can once again use a positive bitfield width of 1 -- now we
47858         don't have to explain why we were using a bitfield width of 2.
47859
47860 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47861
47862         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
47863         and similarly for the other external symbols.  Problem reported
47864         by James Gallager.
47865
47866         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
47867         bug reported by Jim Meyering.
47868
47869         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
47870         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
47871         not needed, since socklen is a prerequisite module.
47872
47873 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47874
47875         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
47876         Problem reported by Eric Blake.
47877         (getaddrinfo): Initialize se so that it's not garbage.
47878         Redo internal storage allocation so that it doesn't make unportable
47879         assumptions about alignment.
47880         Fix a memory leak.
47881
47882         * lib/utimens.c (futimens): Use futimesat if available.
47883         Prefer it to futimes since it doesn't have the futimes bug.
47884
47885         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
47886         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
47887         Instead, declare a function that returns a pointer to an array,
47888         and use verify_type__ to declare the size of the array.
47889         Problem and germ of a solution reported by Bruno Haible.
47890         (verify_type__): Use 2, not 1, for bitfield size, to avoid
47891         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
47892
47893 2005-09-23  Jim Meyering  <jim@meyering.net>
47894
47895         Sync from coreutils.
47896         Correct build failure (socklen_t not defined) on at least
47897         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
47898         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
47899
47900 2005-09-23  Jim Meyering  <jim@meyering.net>
47901
47902         * modules/getaddrinfo (Depends-on): Add socklen.
47903
47904 2005-09-23  Bruno Haible  <bruno@clisp.org>
47905
47906         * tests/test-verify.c: New file.
47907
47908 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47909
47910         Sync from coreutils.
47911
47912         * modules/argmatch (Depends-on): Add verify.
47913         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
47914         unistd-safer.
47915         * modules/save-cwd (Depends-on): Likewise.
47916
47917         * modules/openat (Files): Add lib/openat-die.c.
47918         (Depends-on): Remove error, exitfail.
47919         Add dirname.
47920
47921         * modules/verify: New file.
47922         * MODULES.html.sh (Diagnostics <assert.h>): New section,
47923         with "verify" module.
47924
47925 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47926
47927         Sync from coreutils.
47928
47929         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
47930         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
47931         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
47932         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
47933         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
47934         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
47935         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
47936         Don't bother checking for string.h, stdlib.h, unistd.h.
47937         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
47938         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
47939         module's job.
47940         * m4/jm-macros.m4 (gl_MACROS): Likewise.
47941         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
47942
47943         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
47944         (gl_GETDATE): Use it.
47945
47946         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
47947
47948 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47949
47950         Sync from coreutils.
47951
47952         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
47953         stat-time.h.
47954         * lib/argmatch.h: Include verify.h
47955         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
47956         (ARGMATCH_ASSERT): Remove; unused.
47957         * lib/canonicalize.c: Assume STDC_HEADERS.
47958         * lib/exclude.c: Include "strcase.h".
47959         * lib/regex_internal.h [!defined _LIBC]: Likewise.
47960         * lib/getusershell.c: Include stdio--.h rather than stdio.h
47961         and stdio-safer.h.
47962         (getusershell): Call fopen, not fopen_safer.
47963         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
47964         Do not include unistd-safer.h.
47965         (save_cwd): Don't call fd_safer; no longer needed
47966         now that we include fcntl--.h.
47967
47968         * lib/getdate.y (relative_time): New type.
47969         (RELATIVE_TIME_0): New constant.
47970         (parser_control): Use relative_time instead of doing it ourselves.
47971         (%union): Add new relative_time rel member.
47972         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
47973         Now typeless.
47974         (relunit, relunit_snumber): Now of type rel.
47975         (zone, rel, relunit, get_date): Adjust to above changes.
47976
47977         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
47978         Do not include unistd-safer.h.
47979         (getloadavg): Don't call fd_safer; no longer needed
47980         now that we include fcntl--.h.
47981
47982         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
47983         (make_dir_parents): Treat ENOSYS like EEXIST.
47984
47985         Improve quality of diagnostics on restore_cwd failure.
47986         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
47987         (make_dir_parents): Last arg is now int * (for errno), not bool *.
47988         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
47989         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
47990         each time through the loop.  Do not diagnose restore_cwd failure;
47991         that is the caller's job (and perhaps the caller does not care).
47992
47993         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
47994         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
47995         If the file already exists but is not a directory, don't bother
47996         to try to make its parents.
47997         Close potential file descriptor leak if we can't chdir("/") (!).
47998         Don't always return true if chdir($PWD) fails; return true only
47999         if the requested action was done successfully (except for the
48000         chdir($PWD)).
48001         Don't log final directory unless we actually made it.
48002         Refactor to avoid duplicate code to fix up permissions.
48003         Don't attempt to fix up parent permissions if chdir($PWD) fails.
48004
48005         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
48006         to make it a bit faster and (I hope) clearer.
48007         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
48008         Fix bug in formats like %2N.
48009
48010         * lib/verify.h: New file.
48011
48012 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
48013
48014         Sync from coreutils.
48015         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
48016
48017 2005-09-22  Jim Meyering  <jim@meyering.net>
48018
48019         Sync from coreutils.
48020
48021         * m4/lstat.m4 (gl_FUNC_LSTAT):
48022         Use AC_LIBSOURCES to require lstat.c and lstat.h.
48023         Remove obsolete comment.
48024         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
48025         * m4/xstrtod.m4: Likewise.
48026
48027         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
48028
48029 2005-09-22  Jim Meyering  <jim@meyering.net>
48030
48031         Sync from coreutils.
48032
48033         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
48034
48035         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
48036         the .tm_year member, since otherwise gcc-4.0 would now warn about
48037         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
48038
48039         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
48040         order to avoid an unsuppressible warning from gcc on 64-bit systems.
48041
48042         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
48043         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
48044         when run in a time zone for which daylight savings time is in effect
48045         for the starting date.
48046
48047         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
48048         stop us from restricting permissions of just-created absolute-named
48049         directories.
48050         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
48051         to restore initial working directory.
48052         * lib/mkdir-p.c (make_dir_parents): New parameter:
48053         different_working_dir, to tell caller if/when we change the working
48054         directory and are unable to return to the initial one.
48055         * lib/mkdir-p.h (make_dir_parents): Update prototype.
48056         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
48057         `return false'.  This fixes a bug introduced on 2004-07-30.
48058
48059         * lib/openat.c (fdopendir): Be sure to close the supplied
48060         file descriptor before returning.  This makes our replacement
48061         implementation a little closer to Solaris's, where fdopendir
48062         ties the file descriptor to the returned DIR* pointer.
48063         * lib/openat.c (unlinkat): New function.
48064         * lib/openat.h (unlinkat): Add prototype.
48065         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
48066         (openat_restore_fail): Rename from openat_restore_die.
48067         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
48068
48069         Provide an alternative to exiting immediately upon save_cwd or
48070         restore_cwd failure.  Now, an application can arrange e.g.,
48071         to perform a longjump in that case.
48072         * lib/openat.c: Include dirname.h.
48073         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
48074         (rpl_openat, fdopendir, fstatat): Call openat_save_die
48075         and openat_restore_die rather than calling error directly.
48076         Don't include "error.h" or "exitfail.h"; they're no longer needed.
48077
48078         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
48079         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
48080         define.
48081
48082         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
48083         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
48084                             int utc, int nanoseconds);
48085         Background:
48086         date should not have to allocate a megabyte of virtual memory to
48087         handle a format argument like +%1048575T.  When implemented with
48088         strftime, it must allocate such a buffer, use strftime to fill it
48089         in, print it, then free it.
48090         With fprintftime, it simply prints everything and exits.
48091         With no need for memory allocation, that's one fewer way to fail.
48092         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
48093         optional field width, not before, so we accept %9:z, not %:9z.
48094         (my_strftime): Be sure to use L_('x') for literals.
48095
48096         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
48097         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
48098         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
48099         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
48100         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
48101         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
48102         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
48103         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
48104         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
48105         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
48106         * lib/xgethostname.c, lib/xreadlink.c:
48107         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
48108
48109         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
48110         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
48111         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
48112         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
48113         and don't include <sys/file.h>).
48114
48115 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
48116
48117         Sync from coreutils.
48118
48119         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
48120         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
48121         [!LDAV_DONE]: Avoid unused variable warning.
48122
48123 2005-09-21  Bruno Haible  <bruno@clisp.org>
48124
48125         * lib/unicodeio.h (unicode_to_mb): New declaration.
48126
48127 2005-09-20  Derek Price  <derek@ximbiot.com>
48128
48129         * lib/getaddrinfo.c: Don't include <netdb.h> included from
48130         getaddrinfo.h.
48131
48132 2005-09-20  Bruno Haible  <bruno@clisp.org>
48133
48134         * gnulib-tool: Remove trailing slashes from the values specified for
48135         --source-base, --m4-base, --tests-base, --aux-dir.
48136         Suggested by Simon Josefsson <jas@extundo.com>.
48137
48138 2005-09-20  Bruno Haible  <bruno@clisp.org>
48139
48140         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
48141         func_modules_to_filelist, func_import, func_create_testdir): Make all
48142         sorting results locale-independent, so that gnulib-cache.m4 doesn't
48143         change when gnulib-tool is invoked in a different locale.
48144
48145 2005-09-19  Simon Josefsson  <jas@extundo.com>
48146
48147         * m4/socklen.m4: Fix typo.
48148
48149 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48150
48151         Use a consistent style for including <config.h>.
48152         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
48153         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
48154         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
48155         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
48156         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
48157         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
48158         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
48159         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
48160         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
48161         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
48162         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
48163         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
48164         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
48165         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
48166         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
48167         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
48168         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
48169         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
48170         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
48171         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
48172         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
48173         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
48174         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
48175         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
48176         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
48177         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
48178         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
48179         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
48180         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
48181         lib/xstrtoumax.c, lib/yesno.c:
48182         Standardize inclusion of config.h.
48183         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
48184         lib/inttostr.h:  Removed inclusion of config.h from header files.
48185         * lib/inttostr.c:  Adjusted in-tree users.
48186         * lib/timespec.h: Remove superfluous warning to include config.h.
48187         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
48188         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
48189         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
48190         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
48191         config.h with HAVE_CONFIG_H.
48192
48193 2005-09-19  Jim Meyering  <jim@meyering.net>
48194
48195         * modules/pathmax (License): Change to LGPL.
48196
48197 2005-09-19  Derek Price  <derek@ximbiot.com>
48198
48199         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
48200
48201 2005-09-19  Bruno Haible  <bruno@clisp.org>
48202
48203         * gnulib-tool (import): Provide default for --tests-base.
48204
48205 2005-09-19  Bruno Haible  <bruno@clisp.org>
48206
48207         * doc/quote.texi: New file, extracted from gnulib.texi.
48208         * doc/ctime.texi: New file, extracted from gnulib.texi.
48209         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
48210         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
48211         * doc/gnulib.texi: Include them.
48212
48213 2005-09-18  Bruno Haible  <bruno@clisp.org>
48214
48215         Portability fix.
48216         * gnulib-tool (func_readlink): New function.
48217         (func_ln_if_changed): Use it.
48218
48219 2005-09-18  Bruno Haible  <bruno@clisp.org>
48220
48221         * gnulib-tool: Support --with-tests also with --import.
48222         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
48223         (func_import): Use variables $testsbase and $inctests. Emit a
48224         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
48225         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
48226         SUBDIRS += $testsdir.
48227         (func_create_testdir): Update.
48228
48229 2005-09-18  Bruno Haible  <bruno@clisp.org>
48230
48231         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
48232         instead of $dry_run.
48233         (func_cp_if_changed, func_mv_if_changed): Remove functions.
48234         (func_ln_if_changed): Don't handle dry-run here.
48235         (func_import): In dry-run mode, detect more precisely which actions
48236         would be performed, and don't use "...ing" verbs.
48237
48238 2005-09-18  Bruno Haible  <bruno@clisp.org>
48239
48240         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
48241         (func_import): Use join on two temporary files instead of three nested
48242         loops, in order to determine which files are new or old.
48243
48244 2005-09-18  Bruno Haible  <bruno@clisp.org>
48245
48246         * gnulib-tool (func_import): Comment out code that spits out the
48247         new files with --dry-run.
48248
48249 2005-09-18  Bruno Haible  <bruno@clisp.org>
48250
48251         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
48252
48253 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
48254
48255         * lib/stat-time.h: New file.
48256         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
48257         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
48258         in a different way.
48259         (timespec_cmp): New function.
48260         * lib/utimecmp.c: Include stat-time.h.
48261         (SYSCALL_RESOLUTION): Depend on whether various struct stat
48262         members exist, not on the obsolescent ST_MTIM_NSEC.
48263         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
48264
48265 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
48266
48267         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
48268
48269 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
48270
48271         * MODULES.html.sh (File system functions): Add stat-time.
48272         * modules/stat-time: New file.
48273         * modules/timespec (Files): Remove m4/st_mtim.m4; this
48274         is now done in a different way, by the stat-time module.
48275         * modules/utimecmp (Depends-on): Add stat-time.
48276
48277 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
48278
48279         * m4/st_mtim.m4: Remove.  Superseded by...
48280         * m4/stat-time.m4: New file.
48281         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
48282         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
48283
48284 2005-09-15  Derek Price  <derek@ximbiot.com>
48285
48286         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
48287
48288 2005-09-15  Derek Price  <derek@ximbiot.com>
48289
48290         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
48291         * lib/regex_internal.c: Ditto, using this...
48292         (__GNUC_PREREQ): ...new macro.
48293         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
48294         using...
48295         (__GNUC_PREREQ): ...this new macro.
48296
48297         * lib/strstr.h: Include string.h. Define strstr as a macro here.
48298
48299 2005-09-15  Derek Price  <derek@ximbiot.com>
48300             Paul Eggert  <eggert@cs.ucla.edu>
48301
48302         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
48303         changes, consolidating in...
48304         * lib/regex_internal.h: ...this file.
48305
48306 2005-09-13  Jim Meyering  <jim@meyering.net>
48307
48308         * lib/canon-host.c: Filter through gnu indent and reword comments
48309         slightly.
48310         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
48311
48312 2005-09-13  Derek Price  <derek@ximbiot.com>
48313
48314         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
48315         failure.
48316         Reported by Jim Meyering  <jim@meyering.net>.
48317
48318 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
48319
48320         * lib/base64.c: Typo.
48321         (base64_encode): Put b64str in initialized data section.
48322
48323 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
48324
48325         Merge glibc and coreutils changes into gnulib, plus a few
48326         extra fixes.
48327         * lib/md5.c: Use #error rather than a string.
48328         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
48329         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
48330         (__attribute__): Define to empty for non recent-GCC.
48331         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
48332         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
48333         Renamed from their non-__ counterparts, with new macros replacing
48334         them if not _LIBC.  Add __THROW attribute.
48335         (rol): Remove.
48336         (struct md5_ctx): Align buffer if using GCC.
48337         * lib/sha1.h (struct sha1_ctx): Likewise.
48338         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
48339         The old name was backwards.
48340         (NOTSWAP): Remove; not used.
48341         (rol): New macro, moved here from md5.h.
48342         (sha1_process_block): Remove a FIXME that doesn't make sense.
48343
48344 2005-09-12  Derek Price  <derek@ximbiot.com>
48345
48346         Return usable errors from canon-host.
48347         * lib/canon-host.h: New file.
48348         * lib/canon-host.c (canon_host): Wrap...
48349         (canon_host_r): ...this new function, which now relies exclusively on
48350         getaddrinfo.
48351         (ch_strerror): New function.
48352         (last_cherror): New global.
48353         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
48354         interface.
48355         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
48356         void *.
48357         (freeaddrinfo): Free ai->ai_canonname when set.
48358
48359 2005-09-12  Derek Price  <derek@ximbiot.com>
48360
48361         Make canon-host require getaddrinfo.
48362         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
48363         AC_LIBSOURCE canon-host.h.  Call...
48364         (gl_PREREQ_CANON_HOST): ...this new function, which requires
48365         gl_GETADDRINFO.
48366         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
48367
48368 2005-09-12  Derek Price  <derek@ximbiot.com>
48369
48370         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
48371         LGPL.
48372         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
48373
48374 2005-09-12  Derek Price  <derek@ximbiot.com>
48375
48376         * lib/gai_strerror.c: Include config.h when available.  Include
48377         getaddrinfo.h before other headers to test interface.
48378         Reported by Larry Jones <lawrence.jones@ugs.com>.
48379
48380 2005-09-12  Derek Price  <derek@ximbiot.com>
48381             Paul Eggert  <eggert@cs.ucla.edu>
48382
48383         * modules/glob (Files): Add glob-libc.h.
48384
48385 2005-09-12  Derek Price  <derek@ximbiot.com>
48386             Paul Eggert  <eggert@cs.ucla.edu>
48387
48388         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
48389         glob_.h, glob-libc.h.
48390         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
48391
48392 2005-09-12  Derek Price  <derek@ximbiot.com>
48393             Paul Eggert  <eggert@cs.ucla.edu>
48394
48395         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
48396         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
48397         protecting things that should be done only in gnulib contexts.
48398         * lib/glob_.h: New file, containing only the glob things needed for
48399         gnulib.
48400         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
48401         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
48402         (glob, globfree, glob_pattern_p): Now defined simply in terms of
48403         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
48404         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
48405         and to respect the namespace rules better.
48406
48407 2005-09-08  Simon Josefsson  <jas@extundo.com>
48408
48409         * modules/socklen: New file.
48410
48411 2005-09-08  Simon Josefsson  <jas@extundo.com>
48412
48413         * m4/socklen.m4: New file.
48414
48415 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
48416
48417         * modules/utimens (Files): Add m4/utimbuf.m4, since
48418         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
48419         Reported by Sergey Poznyakoff.
48420
48421 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
48422
48423         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
48424         definitions, since that's the preferred style in glibc.
48425         Fix a minor spacing issue, and update copyright notice to match
48426         glibc's.
48427
48428 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
48429
48430         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
48431
48432 2005-09-06  Simon Josefsson  <jas@extundo.com>
48433
48434         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
48435         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
48436
48437 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48438
48439         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
48440         warning.
48441
48442 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48443
48444         * config/srclist.txt: Add glibc bug 1302.
48445
48446 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
48447
48448         Change bitset word type from unsigned int to unsigned long int,
48449         as this has better performance on typical 64-bit hosts.
48450         Port bitset code to hosts with unusual word sizes.
48451         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
48452         (build_collating_symbol):
48453         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
48454         argument is a bitset.  This is merely a style issue, but it makes
48455         it clearer that an entire array is expected.
48456         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
48457         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
48458         Port to the case where bitset_word is not the same as unsigned int.
48459         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
48460         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
48461         Likewise.
48462         * lib/regexec.c (check_dst_limits_calc_pos_1,
48463         check_subexp_matching_top):
48464         (build_trtable, group_nodes_into_DFAstates):
48465         Likewise.
48466         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
48467         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
48468         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
48469         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
48470         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
48471         * lib/regcomp.c (optimize_subexps, lower_subexp):
48472         Work even if bitset_word has holes in its bitwise representation.
48473         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
48474         * lib/regexec.c (check_dst_limits_calc_pos_1,
48475         check_subexp_matching_top):
48476         Likewise.
48477         * lib/regex_internal.c (re_string_reconstruct):
48478         Don't assume UCHAR_MAX == 255.
48479         * lib/regex_internal.h (bitset_set_all): Likewise.
48480         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
48481         All uses changed.
48482         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
48483         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
48484         All uses changed.
48485         (BITSET_WORD_MAX): New macro.
48486         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
48487         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
48488         (bitset_empty, bitset_copy):
48489         Prefer sizeof (bitset) to multiplying it out ourselves.
48490         (bitset_not_merge): Remove; unused.
48491         (bitset_contain): Return bool, not unsigned int with one bit on.
48492         All callers changed.
48493         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
48494         alignment than re_node_set; do this by defining a new internal
48495         type struct dests_alloc and using it to allocate memory.
48496
48497 2005-09-05  Bruno Haible  <bruno@clisp.org>
48498
48499         * gnulib-tool (func_import): Fix comparison in handling of symbolic
48500         links.
48501
48502 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
48503
48504         * modules/size_max (Makefile.am): Add size_max.h
48505
48506 2005-09-04  Derek Price  <derek@ximbiot.com>
48507
48508         * gnulib-tool (func_import): Fix reversed $symbolic logic.
48509
48510 2005-09-03  Simon Josefsson  <jas@extundo.com>
48511
48512         * gnulib-tool: Fix typo.
48513
48514 2005-09-03  Simon Josefsson  <jas@extundo.com>
48515
48516         * config/srclist.txt: Add glibc bug 1293.
48517
48518 2005-09-03  Derek Price  <derek@ximbiot.com>
48519
48520         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
48521         From Larry Jones <lawrence.jones@ugs.com>.
48522
48523 2005-09-02  Simon Josefsson  <jas@extundo.com>
48524
48525         * modules/socklen: New file.
48526
48527 2005-09-02  Simon Josefsson  <jas@extundo.com>
48528
48529         * modules/havelib: New module.
48530
48531         * modules/gettext, modules/iconv, modules/lock, modules/readline:
48532         Use havelib.
48533
48534 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
48535
48536         Check for arithmetic overflow when calculating sizes, to prevent
48537         some buffer-overflow issues.  These patches are conservative, in the
48538         sense that when I couldn't determine whether an overflow was possible,
48539         I inserted a run-time check.
48540         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
48541         macros.
48542         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
48543         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
48544         (re_xnrealloc, re_x2nrealloc): New inline functions.
48545         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
48546         parse_bracket_exp):
48547         (build_equiv_class, build_charclass): Check for arithmetic overflow
48548         in size expression calculations.
48549         * lib/regex_internal.c (re_string_realloc_buffers):
48550         (build_wcs_upper_buffer, re_node_set_add_intersect):
48551         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
48552         (re_dfa_add_node, register_state): Likewise.
48553         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
48554         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
48555         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
48556         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
48557
48558 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
48559
48560         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
48561         m4/ulonglong.m4.  Problem reported by Martin Lambers.
48562
48563 2005-09-02  Bruno Haible  <bruno@clisp.org>
48564
48565         Support for lib vs. lib64 distinction on biarch platforms.
48566         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
48567         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
48568         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
48569
48570 2005-09-02  Bruno Haible  <bruno@clisp.org>
48571
48572         * gnulib-tool (import): In the other first-use case, provide defaults
48573         as well.
48574
48575 2005-09-02  Bruno Haible  <bruno@clisp.org>
48576
48577         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
48578         patches not yet found in the latest gettext release.
48579
48580 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48581
48582         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
48583         to avoid a collision with bits/local_lim.h in glibc.
48584         All uses changed.  Problem reported by Dmitry V. Levin in
48585         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
48586
48587         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
48588         bugs in int versus size_t comparisons.
48589         (re_string_context_at): Fix bug where the code assumed that
48590         Idx is signed.
48591
48592         Use bool where appropriate.
48593         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
48594         All callers changed.
48595         (calc_eclosure_iter): Likewise, for ROOT arg.
48596         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
48597         (build_charclass_op): Likewise, for NON_MATCH arg.
48598         * lib/regex_internal.c (re_string_allocate, re_string_construct):
48599         (re_string_construct_common): Likewise, for ICASE arg.
48600         * lib/regexec.c (re_search_2_stub, re_search_stub):
48601         Likewise, for RET_LEN arg.
48602         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
48603         (set_regs): Likewise, for FL_BACKTRACK arg.
48604         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
48605         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
48606         (calc_eclosure_iter, parse_bracket_exp):
48607         Use bool for internal variables that are booleans.
48608         * lib/regexec.c (re_search_internal, check_matching,
48609         proceed_next_node):
48610         (set_regs, build_sifted_states, sift_states_bkref):
48611         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
48612         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
48613         (find_collation_sequence_value):
48614         Likewise.
48615         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
48616         (re_node_set_compare):
48617         Return bool, not int. All callers changed.
48618         * lib/regexec.c (check_halt_node_context, check_dst_limits):
48619         (build_trtable, check_node_accept): Likewise.
48620         * lib/regex_internal.h: Include stdbool.h.
48621
48622         Fix bugs uncovered when converting to bool.
48623         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
48624         failure instead of charging ahead blindly.
48625         * lib/regex_internal.c (register_state): Likewise.
48626         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
48627         for freeing internal storage.
48628         (group_nodes_into_DFA_states): Use unsigned int, not int, for
48629         bitset pieces used as boolean, to avoid undefined behavior
48630         on hosts that do int overflow checking.
48631
48632 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48633
48634         * config/srclist.txt: Add glibc bugs 1285-1287.
48635
48636 2005-09-01  Jim Meyering  <jim@meyering.net>
48637
48638         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
48639         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
48640         Require gl_STAT_MACROS, too.
48641
48642 2005-09-01  Bruno Haible  <bruno@clisp.org>
48643
48644         * gnulib-tool (import): In the first-use case, provide defaults.
48645
48646 2005-09-01  Bruno Haible  <bruno@clisp.org>
48647
48648         * gnulib-tool (func_import): Remove the .tmp files.
48649
48650 2005-09-01  Bruno Haible  <bruno@clisp.org>
48651
48652         * gnulib-tool (func_import): Fix handling of symbolic links.
48653
48654 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48655
48656         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
48657         old glibc regex code mishandles strings longer than 2**31 bytes.
48658         This patch fixes this when the regex code is used in gnulib
48659         (i.e., outside glibc).
48660
48661         This patch should not affect the use of the regex code inside
48662         glibc.  No doubt this problem also needs to be handled for glibc
48663         as well, but the result will be an incompatible change to the
48664         glibc ABI, and the old ABI will have to be supported too.  That
48665         can be the the subject for another patch.
48666
48667         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
48668         governing whether the rest of this patch is active.  By default,
48669         the macro is disabled and the patch has no effect.
48670         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
48671         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
48672         (struct re_pattern_buffer, re_search, re_search_2, re_match):
48673         (re_match_2, re_set_registers): Use the new types.
48674         * lib/regex_internal.h (Idx, re_hashval_t): New types.
48675         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
48676         New macros.
48677         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
48678         (re_string_context_at, bin_tree_t, re_dfastate_t):
48679         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
48680         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
48681         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
48682         (re_string_char_size_at, re_string_wchar_at):
48683         (re_string_elem_size_at):
48684         Use the new types and macros to port to 64-bit hosts.
48685         Use unsigned types for internal values, so that the code
48686         mostly works even for arrays larger than SSIZE_MAX.
48687         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
48688         (search_duplicated_node, calc_eclosure_iter, fetch_number):
48689         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
48690         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
48691         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
48692         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
48693         (calc_inveclosure, parse_dup_op, build_range_exp):
48694         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
48695         (fetch_number, create_token_tree, mark_opt_subexp):
48696         Likewise.
48697         * lib/regex_internal.c (re_string_construct_common,
48698         create_ci_newstate):
48699         (create_cd_newstate, re_string_allocate, re_string_construct):
48700         (re_string_realloc_buffers, build_wcs_upper_buffer):
48701         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
48702         (re_string_reconstruct, re_string_peek_byte_case):
48703         (re_string_fetch_byte_case, re_string_context_at):
48704         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
48705         (re_node_set_init_copy, re_node_set_add_intersect):
48706         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
48707         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
48708         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
48709         (re_acquire_state, re_acquire_state_context, register_state):
48710         Likewise.
48711         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
48712         search_cur_bkref_entry):
48713         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
48714         (re_search_internal, re_search_2_stub, re_search_stub)
48715         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
48716         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
48717         (update_cur_sifted_state, check_dst_limits):
48718         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
48719         (check_subexp_limits, sift_states_bkref, merge_state_array):
48720         (check_subexp_matching_top, get_subexp, get_subexp_sub):
48721         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
48722         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
48723         (expand_bkref_cache, check_node_accept_bytes):
48724         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
48725         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
48726         (acquire_init_state_context, check_halt_node_context):
48727         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
48728         (sift_states_backward, clean_state_log_if_needed):
48729         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
48730         (find_recover_state, transit_state_sb, transit_state_mb):
48731         (transit_state_bkref, build_trtable, match_ctx_clean):
48732         Likewise.
48733         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
48734         to work around an assumption that REG_MISSING is negative.
48735
48736         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
48737         (seek_collating_symbol_entry) [defined _LIBC]:
48738         (lookup_collation_sequence_value) [defined _LIBC]:
48739         (build_range_exp, build_collating_symbol) [defined _LIBC]:
48740         Use prototypes rather than old-style function definitions.
48741         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
48742         (transit_state_sb) [0]:
48743         (find_collation_sequence_value) [defined _LIBC]: Likewise.
48744
48745         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
48746         rm_eo.
48747
48748         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
48749         (optimize_subexps, lower_subexp):
48750         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
48751         since the signed shift might overflow.  Use 1u<<31 instead.
48752         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
48753         Likewise.
48754         * lib/regexec.c (check_dst_limits_calc_pos_1,
48755         check_subexp_matching_top): Likewise.
48756
48757         * lib/regcomp.c (optimize_subexps, lower_subexp):
48758         Use CHAR_BIT rather than 8, for clarity.
48759         * lib/regexec.c (check_dst_limits_calc_pos_1):
48760         (check_subexp_matching_top): Likewise.
48761         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
48762         have to worry about portability issues when shifting it left.
48763         Remove no-longer-needed test for table_size > 0.
48764         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
48765         in a word, as the resulting behavior is undefined.
48766         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
48767         in one case, a <= should have been an <, and in another case the
48768         whole test was missing.
48769         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
48770         the standard name CHAR_BIT.
48771         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
48772         this is not true on one's complement and signed-magnitude hosts.
48773
48774         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
48775         next_last_offset.
48776         (struct re_dfa_t): Remove unused member states_alloc.
48777         * lib/regcomp.c (init_dfa): Don't initialize unused members.
48778
48779 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48780
48781         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
48782         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
48783         and large-file glibc and in 32-bit large-file Solaris.
48784
48785 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48786
48787         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
48788         lengths fit in regoff_t; this isn't true if regoff_t is the same
48789         width as size_t.
48790         * lib/regex.c (re_search_internal): 5th arg is LAST_START
48791         (= START + RANGE) instead of RANGE.  This avoids overflow
48792         problems when regoff_t is the same width as size_t.
48793         All callers changed.
48794         (re_search_2_stub): Check for overflow when adding the
48795         sizes of the two strings.
48796         (re_search_stub): Check for overflow when adding START
48797         to RANGE; if it occurs, substitute the extreme value.
48798
48799 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48800
48801         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
48802
48803 2005-08-31  Jim Meyering  <jim@meyering.net>
48804
48805         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
48806         a pointer-to-const.
48807         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
48808         (register_state): Likewise.
48809         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
48810         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
48811         (group_nodes_into_DFAstates): Likewise.
48812
48813 2005-08-31  Jim Meyering  <jim@meyering.net>
48814
48815         * check-module: Add a FIXME comment.
48816
48817 2005-08-31  Eric Blake  <ebb9@byu.net>
48818
48819         * modules/unistd-safer (Files): Add unistd--.h.
48820         * modules/stdio-safer (Files): Add stdio--.h.
48821
48822 2005-08-31  Derek Price  <derek@ximbiot.com>
48823
48824         * lib/getdelim.c (getdelim): Return EOF on EOF.
48825         Reported by Larry Jones <lawrence.jones@ugs.com>.
48826
48827 2005-08-31  Bruno Haible  <bruno@clisp.org>
48828
48829         Avoid unnecessary diffs in the generated lib/Makefile.am.
48830         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
48831         the generated files.
48832         (func_import): Don't set cmd.
48833
48834 2005-08-31  Bruno Haible  <bruno@clisp.org>
48835
48836         * lib/strstr.c: Include <stddef.h>, for NULL.
48837         * lib/strcasestr.c: Likewise.
48838         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48839
48840 2005-08-31  Bruno Haible  <bruno@clisp.org>
48841
48842         * gnulib-tool: New option --macro-prefix.
48843         (func_import): Use macro_prefix.
48844         (import): Handle option --macro-prefix.
48845
48846 2005-08-31  Bruno Haible  <bruno@clisp.org>
48847
48848         * gnulib-tool (import): Rename most ac_* variables to cached_*.
48849         Also use new variables cached_lgpl, cached_libtool.
48850
48851 2005-08-31  Bruno Haible  <bruno@clisp.org>
48852
48853         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
48854         always instantiating them.
48855
48856 2005-08-31  Bruno Haible  <bruno@clisp.org>
48857
48858         * gnulib-tool (func_import): Read the previous cached settings
48859         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
48860         earlier added by gnulib but are now dropped. Warn when a gnulib file
48861         overwrites a non-gnulib file.
48862
48863 2005-08-31  Bruno Haible  <bruno@clisp.org>
48864
48865         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
48866         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
48867         projects that don't keep autogenerated files in CVS. Put into
48868         actioncmd only the specified modules, not the transitive closure.
48869
48870 2005-08-31  Bruno Haible  <bruno@clisp.org>
48871
48872         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
48873         Create directories that shall be filled.
48874         (import): Don't look for gl_* macros in configure.ac. Recurse across
48875         all directories containing a gnulib-cache.m4 files, if meaningful.
48876
48877 2005-08-31  Bruno Haible  <bruno@clisp.org>
48878
48879         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
48880         (import): Set seen_libtool when we see gl_LIBTOOL.
48881
48882 2005-08-31  Bruno Haible  <bruno@clisp.org>
48883
48884         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
48885         declaration macro definitions from generated gnulib.m4.
48886
48887 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
48888
48889         * lib/iconvme.h: Add prototype for iconv_alloc.
48890
48891 2005-08-29  Simon Josefsson  <jas@extundo.com>
48892
48893         * lib/iconvme.c: Fix errno.
48894
48895 2005-08-29  Bruno Haible  <bruno@clisp.org>
48896
48897         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
48898         that it works when the directory contains spaces.
48899
48900 2005-08-29  Bruno Haible  <bruno@clisp.org>
48901
48902         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
48903
48904 2005-08-29  Bruno Haible  <bruno@clisp.org>
48905
48906         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
48907         Emit more advice.
48908
48909 2005-08-29  Bruno Haible  <bruno@clisp.org>
48910         and Stepan Kasal  <kasal@ucw.cz>
48911
48912         * check-module: If more parameters are given, check each of them
48913         separately; add more exceptions, as noted by Jim Meyering.
48914         (check_module): New procedure.
48915         (%exempt_header): Now contains all exceptions.
48916
48917 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
48918
48919         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
48920
48921 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
48922
48923         * lib/iconvme.c: Split iconv_string into iconv_alloc.
48924
48925 2005-08-28  Bruno Haible  <bruno@clisp.org>
48926
48927         * m4/gnulib-tool.m4: New file.
48928
48929 2005-08-27  Jim Meyering  <jim@meyering.net>
48930
48931         * modules/unistd-safer (Files): Add pipe-safer.c.
48932         * modules/fcntl-safer (Files): Add creat-safer.c.
48933
48934 2005-08-27  Jim Meyering  <jim@meyering.net>
48935
48936         * m4/stdlib-safer.m4: New file.  From coreutils.
48937         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
48938         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
48939         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
48940         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
48941         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
48942
48943 2005-08-27  Jim Meyering  <jim@meyering.net>
48944
48945         * lib/fopen-safer.c: Merge minor changes from coreutils.
48946         * lib/dup-safer.c: Likewise.
48947         * lib/fd-safer.c: Likewise.
48948
48949         Merge from coreutils.
48950         * lib/stdio--.h: New file.
48951         * lib/stdlib--.h: New file.
48952         * lib/mkstemp-safer.c: New file.
48953
48954         GNU tar needs these.
48955         * lib/pipe-safer.c: New file.
48956         * lib/creat-safer.c: New file.
48957         * lib/fcntl--.h (creat): Define to creat_safer.
48958         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
48959         * lib/unistd--.h (pipe): Define to pipe_safer.
48960         * lib/unistd-safer.h: Declare pipe_safer.
48961
48962 2005-08-26  Simon Josefsson  <jas@extundo.com>
48963
48964         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
48965         Haible <bruno@clisp.org>.
48966
48967 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
48968
48969         * lib/regex_internal.h: Remove all references to
48970         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
48971         or better.
48972         (bitset_not, bitset_merge, bitset_not_merge):
48973         (bitset_mask, re_string_allocate, re_string_construct):
48974         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
48975         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
48976         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
48977         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
48978         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
48979         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
48980         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
48981         (re_acquire_state_context):
48982         Remove unnecessary forward decls.
48983         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
48984         Put __attribute at function definition,
48985         now that the function decl has been removed.
48986         * lib/regex_internal.c (re_string_peek_byte_case):
48987         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
48988         Likewise.
48989
48990 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
48991
48992         * m4/regex.m4: Add AC_PREREQ(2.50).
48993         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
48994
48995 2005-08-25  Simon Josefsson  <jas@extundo.com>
48996
48997         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
48998         __fsetlocking.
48999
49000 2005-08-25  Simon Josefsson  <jas@extundo.com>
49001
49002         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
49003         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
49004         GLIBC specific code.
49005
49006 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
49007
49008         Make regex safe for g++.  This fixes one real bug (an "err"
49009         that should have been "*err").  g++ problem reported by
49010         Sam Steingold.
49011         * lib/regex_internal.h (re_calloc): New macro, consistent with
49012         re_malloc etc.  All callers of calloc changed to use re_calloc.
49013         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
49014         not int.  All callers changed.
49015         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
49016         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
49017         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
49018         (find_recover_state): Change "err" to "*err"; this fixes what
49019         appears to be a real bug.
49020         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
49021         versus int.
49022
49023 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
49024
49025         * modules/regex (Depends-on): Add malloc, since the code
49026         assumes that !malloc(0) means failure.
49027
49028 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
49029
49030         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
49031
49032         alloca modernization/simplification for regex.
49033         * lib/regex.c: Remove portability cruft for alloca.  This no longer
49034         needs to be at the start of the file, and can be moved into
49035         regex_internal.h and simplified.
49036         * lib/regex_internal.h: Include <alloca.h>.
49037         (__libc_use_alloca) [!defined _LIBC]: New macro.
49038         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
49039         now works outside glibc.
49040
49041 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
49042
49043         * config/srclist.txt: Add glibc bugs 1241, 1245.
49044
49045 2005-08-25  Jim Meyering  <jim@meyering.net>
49046
49047         * lib/open-safer.c: Include <config.h>.
49048         Otherwise, we'd lose LARGEFILE support in any file using
49049         e.g. "fcntl--.h"
49050
49051 2005-08-25  Bruno Haible  <bruno@clisp.org>
49052
49053         * m4/minmax.m4: Require autoconf 2.52.
49054         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
49055         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
49056         alternatives of translit over the alphabet.
49057         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
49058
49059 2005-08-24  Simon Josefsson  <jas@extundo.com>
49060
49061         * tests/test-getpass.c: New file.
49062
49063 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
49064
49065         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
49066         for GNU regex features.
49067
49068 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
49069
49070         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
49071         * lib/regex.h (regerror): Likewise.
49072
49073         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
49074         requires this.  (The code never needed it.)
49075
49076         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
49077         All uses of recently-renamed identifiers changed to use the new,
49078         POSIX-compliant names.  The code will build and run just fine
49079         without these changes, but it's better to eat our own dog food
49080         and use the standard-conforming names.
49081
49082         * lib/regex.h: Fix a multitude of POSIX name space violations.
49083         These changes have an effect only for programs that define
49084         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
49085         do not change anything for programs compiled in the normal way.
49086         Also, there is no effect on the ABI.
49087
49088         (_REGEX_SOURCE): New macro.
49089         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
49090         defined and _GNU_SOURCE is not; this fixes a name space violation.
49091
49092         Rename the following macros to obey POSIX requirements.
49093         The old names are still visible as macros if _REGEX_SOURCE is defined.
49094         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
49095         RE_BACKSLASH_ESCAPE_IN_LISTS.
49096         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
49097         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
49098         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
49099         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
49100         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
49101         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
49102         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
49103         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
49104         (REG_INTERVALS): renamed from RE_INTERVALS.
49105         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
49106         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
49107         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
49108         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
49109         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
49110         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
49111         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
49112         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
49113         RE_UNMATCHED_RIGHT_PAREN_ORD.
49114         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
49115         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
49116         (REG_DEBUG): renamed from RE_DEBUG.
49117         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
49118         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
49119         unusual, since we can't clash with the POSIX REG_ICASE.
49120         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
49121         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
49122         (REG_NO_SUB): renamed from RE_NO_SUB.
49123         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
49124         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
49125         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
49126         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
49127         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
49128         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
49129         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
49130         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
49131         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
49132         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
49133         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
49134         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
49135         RE_SYNTAX_POSIX_MINIMAL_BASIC.
49136         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
49137         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
49138         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
49139         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
49140         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
49141         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
49142         (REG_FIXED): Renamed from REGS_FIXED.
49143         (REG_NREGS): Renamed from RE_NREGS.
49144
49145         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
49146         of other REG_* macros, since POSIX says the user is allowed to
49147         #undef these macros selectively.
49148
49149         (reg_errcode_t): Update comment stating what other tables need
49150         to be consistent.
49151
49152         Rename the following enum values to obey POSIX requirements.
49153         The old names are still visible as macros.
49154         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
49155         is not defined, since GNU is supposed to be a superset of POSIX as
49156         much as possible, and since we want reg_errcode_t to be a signed
49157         type for implementation consistency.
49158         (_REG_NOERROR): Renamed from REG_NOERROR.
49159         (_REG_NOMATCH): Renamed from REG_NOMATCH.
49160         (_REG_BADPAT): Renamed from REG_BADPAT.
49161         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
49162         (_REG_ECTYPE): Renamed from REG_ECTYPE.
49163         (_REG_EESCAPE): Renamed from REG_EESCAPE.
49164         (_REG_ESUBREG): Renamed from REG_ESUBREG.
49165         (_REG_EBRACK): Renamed from REG_EBRACK.
49166         (_REG_EPAREN): Renamed from REG_EPAREN.
49167         (_REG_EBRACE): Renamed from REG_EBRACE.
49168         (_REG_BADBR): Renamed from REG_BADBR.
49169         (_REG_ERANGE): Renamed from REG_ERANGE.
49170         (_REG_ESPACE): Renamed from REG_ESPACE.
49171         (_REG_BADRPT): Renamed from REG_BADRPT.
49172         (_REG_EEND): Renamed from REG_EEND.
49173         (_REG_ESIZE): Renamed from REG_ESIZE.
49174         (_REG_ERPAREN): Renamed from REG_ERPAREN.
49175         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
49176         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
49177         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
49178         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
49179
49180         (_REG_RE_NAME, _REG_RM_NAME): New macros.
49181         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
49182         changed.  But support the old name if the new one is not defined
49183         and if _REGEX_SOURCE.
49184
49185         Change the following member names in struct re_pattern_buffer.
49186         The old names are still supported if !_REGEX_SOURCE.
49187         The new names are always supported, regardless of _REGEX_SOURCE.
49188         (re_buffer): Renamed from buffer.
49189         (re_allocated): Renamed from allocated.
49190         (re_used): Renamed from used.
49191         (re_syntax): Renamed from syntax.
49192         (re_fastmap): Renamed from fastmap.
49193         (re_translate): Renamed from translate.
49194         (re_can_be_null): Renamed from can_be_null.
49195         (re_regs_allocated): Renamed from regs_allocated.
49196         (re_fastmap_accurate): Renamed from fastmap_accurate.
49197         (re_no_sub): Renamed from no_sub.
49198         (re_not_bol): Renamed from not_bol.
49199         (re_not_eol): Renamed from not_eol.
49200         (re_newline_anchor): Renamed from newline_anchor.
49201
49202         Change the following member names in struct re_registers.
49203         The old names are still supported if !_REGEX_SOURCE.
49204         The new names are always supported, regardless of _REGEX_SOURCE.
49205         (rm_num_regs): Renamed from num_regs.
49206         (rm_start): Renamed from start.
49207         (rm_end): Renamed from end.
49208
49209         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
49210         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
49211         Prepend __ to parameter names.
49212
49213         Undo yesterday's changes.
49214
49215 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
49216
49217         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
49218         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
49219         lib/regex.c.
49220
49221 2005-08-24  Jim Meyering  <jim@meyering.net>
49222
49223         Sync from coreutils.
49224         * m4/fcntl-safer.m4: New file.
49225
49226         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
49227         and object files for this module.
49228
49229 2005-08-24  Jim Meyering  <jim@meyering.net>
49230
49231         Sync from coreutils.
49232         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
49233
49234 2005-08-24  Jim Meyering  <jim@meyering.net>
49235
49236         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
49237         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
49238
49239 2005-08-24  Jim Meyering  <jim@meyering.net>
49240
49241         * modules/fcntl-safer: New module.
49242         * modules/fts (Depends-on): Add fcntl-safer.
49243         * MODULES.html.sh (File descriptor based Input/Output):
49244         Add fcntl-safer.
49245
49246 2005-08-24  Bruno Haible  <bruno@clisp.org>
49247
49248         Support for unit test modules.
49249         * modules/README: Mention tests modules.
49250         * modules/TEMPLATE-TESTS: New file.
49251         * gnulib-tool: New options --extract-tests-module, --with-tests and
49252         --tests-base (unused for the moment).
49253         (testsbase, inctests): New variables.
49254         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
49255         (func_verify_module): Exclude TEMPLATE-TESTS.
49256         (func_verify_nontests_module, func_verify_tests_module): New functions.
49257         (func_get_dependencies): Add implicit dependency for tests modules.
49258         (func_get_tests_module): New function.
49259         (func_modules_transitive_closure): When --with-tests was specified,
49260         include the unit tests as well, unless explicitly avoided.
49261         (func_emit_lib_Makefile_am): Ignore the tests modules here.
49262         (func_emit_tests_Makefile_am): New function.
49263         (func_create_testdir): When --with-tests was specified, emit a
49264         tests/ directory.
49265         * MODULES.html.sh (Future developments): Update.
49266
49267 2005-08-24  Bruno Haible  <bruno@clisp.org>
49268
49269         * modules/tls-tests: New file.
49270         * tests/test-tls.c: New file, from GNU gettext.
49271
49272 2005-08-24  Bruno Haible  <bruno@clisp.org>
49273
49274         * modules/lock-tests: New file.
49275         * tests/test-lock.c: New file, from GNU gettext.
49276
49277 2005-08-24  Bruno Haible  <bruno@clisp.org>
49278
49279         * lib/lock.h: Add multiple inclusion guard.
49280         * lib/tls.h: Add multiple inclusion guard.
49281
49282 2005-08-24  Bruno Haible  <bruno@clisp.org>
49283
49284         * gnulib-tool: Add support for the --aux-dir option to
49285         --create-testdir, --create-megatestdir, --test, --megatest.
49286         (func_create_testdir, func_create_megatestdir): Optionally emit a
49287         AC_CONFIG_AUX_DIR directive.
49288         (create-testdir, create-megatestdir, test, megatest): Provide a
49289         default value for $auxdir.
49290
49291 2005-08-24  Bruno Haible  <bruno@clisp.org>
49292
49293         * gnulib-tool (import): Use compound statement instead of subshell
49294         where possible.
49295
49296 2005-08-24  Bruno Haible  <bruno@clisp.org>
49297
49298         * gnulib-tool (import): Change --aux-dir default to "build-aux".
49299
49300 2005-08-24  Bruno Haible  <bruno@clisp.org>
49301
49302         * gnulib-tool (func_version): Update.
49303
49304 2005-08-24  Bruno Haible  <bruno@clisp.org>
49305
49306         * gnulib-tool (func_import, func_create_testdir,
49307         func_create_megatestdir): Quote all autoconf macro arguments.
49308
49309 2005-08-24  Bruno Haible  <bruno@clisp.org>
49310
49311         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
49312         option --force, because --force causes the aclocal.m4 of each
49313         subdirectory to be newer than the corresponding config.h.in.
49314
49315 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
49316
49317         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
49318         All contents moved to gl_REGEX.
49319         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
49320         assume that it does.
49321
49322 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
49323
49324         * lib/regex.h (REG_NOSYS)
49325         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
49326         Define, since POSIX requires it as of 2001.
49327         (_REG_ENOSYS)
49328         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
49329         New private symbol, used to keep the enum signed in all cases.
49330         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
49331         Youngman in
49332         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
49333
49334         * lib/regex_internal.c (re_string_skip_chars, register_state):
49335         (calc_state_hash):
49336         Remove forward decls; no longer needed now that we use prototypes.
49337         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
49338         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
49339         (clean_state_log_if_needed): Likewise.
49340
49341 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
49342
49343         * config/srclist.txt: Add glibc bugs 1231-1233.
49344
49345 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
49346
49347         Fix problems reported by Sam Steingold in
49348         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
49349         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
49350         assumed that reg_errcode_t is a signed type, which is not
49351         necessarily true if _XOPEN_SOURCE is not defined.
49352         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
49353         since some compilers warn about it otherwise.
49354
49355 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
49356
49357         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
49358         (init_word_char, create_initial_state, duplicate_node_closure):
49359         (fetch_token, peek_token_bracket, build_range_exp):
49360         (build_collating_symbol): Remove forward decls; no longer needed
49361         now that we use prototypes.
49362
49363         * lib/regcomp.c:
49364         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
49365         (re_compile_fastmap_iter, regcomp, regerror, regfree):
49366         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
49367         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
49368         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
49369         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
49370         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
49371         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
49372         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
49373         (build_range_exp, build_collating_symbol, parse_bracket_exp):
49374         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
49375         (build_charclass, build_charclass_op, fetch_number, create_tree):
49376         (create_token_tree, mark_opt_subexp, duplicate_tree):
49377         Use prototypes rather than old-style definitions.
49378
49379         * lib/regex_internal.c:
49380         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
49381         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
49382         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
49383         (re_string_reconstruct, re_string_peek_byte_case):
49384         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
49385         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
49386         (re_node_set_init_copy, re_node_set_add_intersect):
49387         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
49388         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
49389         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
49390         (re_acquire_state, re_acquire_state_context, register_state):
49391         (create_ci_newstate, create_cd_newstate, free_state):
49392         Likewise.
49393         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
49394         re_search_2):
49395         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
49396         (re_search_internal, prune_impossible_nodes):
49397         (acquire_init_state_context, check_matching, static):
49398         (check_halt_node_context, check_halt_state_context, proceed_next_node):
49399         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
49400         (update_regs, sift_states_backward, build_sifted_states):
49401         (clean_state_log_if_needed, merge_state_array):
49402         (update_cur_sifted_state, add_epsilon_src_nodes):
49403         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
49404         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
49405         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
49406         (find_recover_state, check_subexp_matching_top, transit_state_mb):
49407         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
49408         (check_arrival, check_arrival_add_next_nodes):
49409         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
49410         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
49411         (check_node_accept_bytes, check_node_accept, extend_buffers):
49412         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
49413         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
49414         (sift_ctx_init):
49415         Likewise.
49416
49417         * lib/regex_internal.h:
49418         (re_string_allocate, re_string_construct, re_string_reconstruct):
49419         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
49420         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
49421         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
49422         (re_string_context_at, re_string_peek_byte_case):
49423         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
49424         is defined, since we now use prototypes always.
49425
49426         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
49427         C89 or better.  All uses removed.
49428
49429 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
49430
49431         * config/srclist.txt: Add glibc bugs 1220-1227.
49432
49433 2005-08-20  Jim Meyering  <jim@meyering.net>
49434
49435         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
49436         of unused local, dfa.
49437
49438 2005-08-20  Bruno Haible  <bruno@clisp.org>
49439
49440         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
49441
49442 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49443
49444         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
49445         (re_node_set_insert_last, re_dfa_add_node):
49446         Rename local variables to avoid GCC shadowing warnings.
49447
49448 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49449
49450         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
49451         [defined lint]: Suppress bogus uninitialized-variable warnings.
49452
49453         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
49454         and let the caller return REG_ESPACE if out of space.  This
49455         removes an uninitialied-variable warning with GCC 4.0.1, and also
49456         avoids taking the address of a local variable.  All callers
49457         changed.
49458
49459 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49460
49461         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
49462         $LIBCSRC/posix/regexec.c.
49463         Add glibc bug 1217 for regcomp.c.
49464
49465 2005-08-19  Jim Meyering  <jim@meyering.net>
49466
49467         * lib/regexec.c (proceed_next_node): Redo local variables to
49468         avoid GCC shadowing warnings.
49469
49470 2005-08-18  Bruno Haible  <bruno@clisp.org>
49471
49472         * lib/strstr.c (strstr): Fix return value in multibyte case.
49473         * lib/strcasestr.c (strcasestr): Likewise.
49474
49475 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
49476
49477         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
49478
49479 2005-08-17  Jim Meyering  <jim@meyering.net>
49480
49481         Make the %s format (seconds since the epoch) work for a negative
49482         number and when used with a zero-padded field width, e.g. %015s.
49483
49484         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
49485         label so that it precedes the code to set `digits'.  Otherwise,
49486         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
49487         print `00-22'.  Now, it prints `-0022', as it should.
49488
49489 2005-08-17  Bruno Haible  <bruno@clisp.org>
49490
49491         * modules/strstr (Files): Add m4/mbrtowc.m4.
49492         (Depends-on): Add mbuiter.
49493
49494 2005-08-17  Bruno Haible  <bruno@clisp.org>
49495
49496         * modules/strcasestr: New file.
49497         * MODULES.html.sh (String handling, based on ANSI C 89): Add
49498         strcasestr.
49499
49500 2005-08-17  Bruno Haible  <bruno@clisp.org>
49501
49502         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
49503
49504 2005-08-17  Bruno Haible  <bruno@clisp.org>
49505
49506         * modules/mbuiter: New file.
49507         * MODULES.html.sh (Extended multibyte and wide character utilities):
49508         Add mbuiter.
49509
49510 2005-08-17  Bruno Haible  <bruno@clisp.org>
49511
49512         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
49513         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
49514
49515 2005-08-17  Bruno Haible  <bruno@clisp.org>
49516
49517         * m4/strcasestr.m4: New file.
49518
49519 2005-08-17  Bruno Haible  <bruno@clisp.org>
49520
49521         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
49522         * lib/strstr.c: Completely rewritten, with multibyte locale support.
49523
49524 2005-08-17  Bruno Haible  <bruno@clisp.org>
49525
49526         * lib/strcasestr.h: New file.
49527         * lib/strcasestr.c: New file.
49528
49529 2005-08-17  Bruno Haible  <bruno@clisp.org>
49530
49531         * lib/strcasecmp.c: Use mbuiter.h.
49532
49533 2005-08-17  Bruno Haible  <bruno@clisp.org>
49534
49535         * lib/mbuiter.h: New file.
49536
49537 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
49538
49539         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
49540         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
49541         and gl_GETOPT are both invoked via different paths (as happens
49542         with GNU tar CVS because it uses both argp and getopt), the former
49543         wins.
49544
49545 2005-08-16  Bruno Haible  <bruno@clisp.org>
49546
49547         * modules/tls: New file.
49548         * MODULES.html.sh (Multithreading): Add tls.
49549
49550 2005-08-16  Bruno Haible  <bruno@clisp.org>
49551
49552         * modules/strnlen1: New file.
49553         * MODULES.html.sh (String handling): Add strnlen1.
49554
49555 2005-08-16  Bruno Haible  <bruno@clisp.org>
49556
49557         * modules/strcase (Files): Add m4/mbrtowc.m4.
49558         (Depends-on): Add strnlen1, mbchar.
49559
49560 2005-08-16  Bruno Haible  <bruno@clisp.org>
49561
49562         * modules/mbiter: New file.
49563         * MODULES.html.sh (Extended multibyte and wide character utilities):
49564         Add mbiter.
49565
49566 2005-08-16  Bruno Haible  <bruno@clisp.org>
49567
49568         * modules/mbfile: New file.
49569         * MODULES.html.sh (Extended multibyte and wide character utilities):
49570         Add mbfile.
49571
49572 2005-08-16  Bruno Haible  <bruno@clisp.org>
49573
49574         * modules/mbchar: New file.
49575         * MODULES.html.sh (Extended multibyte and wide character utilities):
49576         New section.
49577
49578 2005-08-16  Bruno Haible  <bruno@clisp.org>
49579
49580         * m4/tls.m4: New file, from GNU gettext.
49581
49582 2005-08-16  Bruno Haible  <bruno@clisp.org>
49583
49584         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
49585         always.
49586         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
49587
49588 2005-08-16  Bruno Haible  <bruno@clisp.org>
49589
49590         * m4/mbiter.m4: New file.
49591
49592 2005-08-16  Bruno Haible  <bruno@clisp.org>
49593
49594         * m4/mbfile.m4: New file.
49595
49596 2005-08-16  Bruno Haible  <bruno@clisp.org>
49597
49598         * m4/mbchar.m4: New file.
49599
49600 2005-08-16  Bruno Haible  <bruno@clisp.org>
49601
49602         * lib/tls.h: New file, from GNU gettext.
49603         * lib/tls.c: New file, from GNU gettext.
49604
49605 2005-08-16  Bruno Haible  <bruno@clisp.org>
49606
49607         * lib/strnlen1.h: New file.
49608         * lib/strnlen1.c: New file.
49609
49610 2005-08-16  Bruno Haible  <bruno@clisp.org>
49611
49612         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
49613         (mbi_init): Update.
49614         (mbi_avail, mbi_advance): Let the iteration end before the terminating
49615         NUL byte, not after it.
49616
49617 2005-08-16  Bruno Haible  <bruno@clisp.org>
49618
49619         * lib/strcase.h (strcasecmp): Add note in comments.
49620         * lib/strncasecmp.c: Use code from strcasecmp.c.
49621         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
49622         (strcasecmp): Work correctly in multibyte locales.
49623
49624 2005-08-16  Bruno Haible  <bruno@clisp.org>
49625
49626         * lib/mbiter.h: New file.
49627
49628 2005-08-16  Bruno Haible  <bruno@clisp.org>
49629
49630         * lib/mbfile.h: New file.
49631
49632 2005-08-16  Bruno Haible  <bruno@clisp.org>
49633
49634         * lib/mbchar.h: New file.
49635         * lib/mbchar.c: New file.
49636
49637 2005-08-16  Bruno Haible  <bruno@clisp.org>
49638
49639         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
49640         the valid ones. Makes the comparison operations transitive:
49641         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
49642         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
49643
49644 2005-08-15  Simon Josefsson  <jas@extundo.com>
49645
49646         * modules/ssize_t (License): Change to 'unlimited'.
49647
49648         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
49649
49650 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49651
49652         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
49653         Add comments for each pending glibc patch.
49654
49655 2005-08-15  Bruno Haible  <bruno@clisp.org>
49656
49657         * lib/regex.h (__restrict_arr): Don't define to __restrict if
49658         __cplusplus is defined.
49659
49660 2005-08-14  Jim Meyering  <jim@meyering.net>
49661
49662         Sync from coreutils.
49663
49664         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
49665         Use the hash-table-based cycle-detection code not just when
49666         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
49667         Reported by James Youngman in
49668         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
49669         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
49670         FTS_TIGHT_CYCLE_CHECK.
49671         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
49672         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
49673         once again.
49674         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
49675         * lib/fts.c (fd_safer): Remove decl.
49676         Include fcntl--.h rather than unistd-safer.h
49677         (fts_safe_changedir): Don't call fd_safer; no longer needed
49678         now that we include fcntl--.h.
49679
49680 2005-08-12  Simon Josefsson  <jas@extundo.com>
49681
49682         * modules/getndelim2: Use ssize_t module.
49683         * modules/getnline: Likewise.
49684         * modules/safe-read: Likewise.
49685         * modules/xreadlink: Likewise.
49686
49687         * modules/ssize_t: New file.
49688
49689 2005-08-12  Simon Josefsson  <jas@extundo.com>
49690
49691         * m4/readline.m4: Look for termcap, curses or ncurses if required.
49692
49693 2005-08-12  Simon Josefsson  <jas@extundo.com>
49694
49695         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49696         ssize_t.
49697
49698 2005-08-12  Simon Josefsson  <jas@extundo.com>
49699
49700         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
49701         readline, getdelim and check_version.
49702         (Support for systems lacking ISO C 99: Sizes of integer types):
49703         Add size_max.
49704
49705 2005-08-12  Bruno Haible  <bruno@clisp.org>
49706
49707         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
49708
49709 2005-08-11  Simon Josefsson  <jas@extundo.com>
49710
49711         * modules/readline: New file.
49712
49713         * modules/strnlen (Files): Add strnlen.h.
49714
49715 2005-08-11  Simon Josefsson  <jas@extundo.com>
49716
49717         * m4/readline.m4: New file.
49718
49719 2005-08-11  Simon Josefsson  <jas@extundo.com>
49720
49721         * lib/readline.h, readline.c: New file.
49722
49723 2005-08-11  Simon Josefsson  <jas@extundo.com>
49724
49725         * doc/gnulib.texi (Initial import, Finishing touches): Mention
49726         gl_AVOID.
49727
49728 2005-08-11  Bruno Haible  <bruno@clisp.org>
49729
49730         * lib/strnlen.h (strnlen): Change parameter name to match comment.
49731
49732 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
49733
49734         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
49735
49736 2005-08-10  Simon Josefsson  <jas@extundo.com>
49737
49738         * tests/test-iconvme.c: New file.
49739
49740 2005-08-10  Simon Josefsson  <jas@extundo.com>
49741
49742         * m4/strnlen.m4: New file.
49743
49744         * m4/strndup.m4: Don't check for strnlen declaration, done in
49745         strnlen.m4.
49746
49747 2005-08-10  Simon Josefsson  <jas@extundo.com>
49748
49749         * lib/strndup.c: Use strnlen.h.
49750
49751         * lib/strnlen.h: New file.
49752
49753 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
49754
49755         * README: Typos.
49756
49757 2005-08-02  Simon Josefsson  <jas@extundo.com>
49758
49759         * modules/readline: New file.
49760
49761 2005-08-02  Simon Josefsson  <jas@extundo.com>
49762
49763         * modules/getdelim: New file.
49764
49765         * modules/getline: Rewrite, don't use getndelim2.
49766
49767 2005-08-02  Simon Josefsson  <jas@extundo.com>
49768
49769         * m4/getline.m4: Separate out getdelim stuff into separate module.
49770
49771         * m4/getdelim.m4: New file.
49772
49773 2005-08-02  Simon Josefsson  <jas@extundo.com>
49774
49775         * lib/getline.h, getline.c: Rewrite.
49776
49777         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
49778
49779 2005-07-31  Bruno Haible  <bruno@clisp.org>
49780
49781         * lib/lock.h (gl_lock_initializer): New macro.
49782         (gl_lock_define_initialized): Use it.
49783         (gl_rwlock_initializer): New macro.
49784         (gl_rwlock_define_initialized): Use it.
49785         (gl_recursive_lock_initializer): New macro.
49786         (gl_recursive_lock_define_initialized): Use it.
49787
49788 2005-07-30  Karl Berry  <karl@gnu.org>
49789
49790         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
49791         Report from Ben Pfaff, regarding getopt.
49792
49793 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
49794
49795         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
49796         normal way.
49797         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
49798         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
49799         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
49800         (gl_GETOPT): Use the new macros.  Most of the implementation
49801         is moved to the new macros.  This is for programs like Emacs
49802         that don't want all the functionality of gl_GETOPT.
49803
49804 2005-07-26  Bruno Haible  <bruno@clisp.org>
49805
49806         * m4/lock.m4: Update from GNU gettext.
49807
49808 2005-07-26  Bruno Haible  <bruno@clisp.org>
49809
49810         * lib/lock.h: Update from GNU gettext.
49811         * lib/lock.c: Update from GNU gettext.
49812
49813 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
49814
49815         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
49816         obsolescent AC_TRY_RUN.  Include the default includes files, for
49817         'exit'.
49818
49819 2005-07-24  Bruno Haible  <bruno@clisp.org>
49820
49821         * modules/visibility: New file.
49822         * MODULES.html.sh (Misc): Add visibility.
49823
49824 2005-07-24  Bruno Haible  <bruno@clisp.org>
49825
49826         * m4/visibility.m4: New file.
49827
49828 2005-07-24  Bruno Haible  <bruno@clisp.org>
49829
49830         * doc/visibility.texi: New file.
49831
49832 2005-07-22  Bruno Haible  <bruno@clisp.org>
49833
49834         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
49835         $(ALLOCA_H), redundant through BUILT_SOURCES.
49836         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
49837         redundant through BUILT_SOURCES.
49838         * modules/byteswap (Makefile.am): Remove explicit dependency on
49839         $(BYTESWAP_H), redundant through BUILT_SOURCES.
49840         * modules/fnmatch (Makefile.am): Remove explicit dependency on
49841         $(FNMATCH_H), redundant through BUILT_SOURCES.
49842         * modules/getopt (Makefile.am): Remove explicit dependency on
49843         $(GETOPT_H), redundant through BUILT_SOURCES.
49844         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
49845         redundant through BUILT_SOURCES.
49846         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
49847         redundant through BUILT_SOURCES.
49848         * modules/stdbool (Makefile.am): Remove explicit dependency on
49849         $(STDBOOL_H), redundant through BUILT_SOURCES.
49850         * modules/stdint (Makefile.am): Remove explicit dependency on
49851         $(STDINT_H), redundant through BUILT_SOURCES.
49852         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
49853         Remove explicit dependency on $(SYSEXITS_H).
49854         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
49855
49856 2005-07-18  Simon Josefsson  <jas@extundo.com>
49857
49858         * lib/check-version.c (check_version): Accept identical versions too.
49859
49860 2005-07-18  Bruno Haible  <bruno@clisp.org>
49861
49862         * modules/lock: New file.
49863         * MODULES.html.sh (Multithreading): New section.
49864
49865 2005-07-18  Bruno Haible  <bruno@clisp.org>
49866
49867         * m4/lock.m4: New file, from GNU gettext.
49868
49869 2005-07-18  Bruno Haible  <bruno@clisp.org>
49870
49871         * lib/lock.h: New file, from GNU gettext.
49872         * lib/lock.c: New file, from GNU gettext.
49873
49874 2005-07-18  Bruno Haible  <bruno@clisp.org>
49875
49876         * lib/lock.h (gl_once_t): New type.
49877         (gl_once_define, gl_once): New macros.
49878         * lib/lock.c (fresh_once): New variable.
49879         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
49880         functions.
49881
49882 2005-07-16  Simon Josefsson  <jas@extundo.com>
49883
49884         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
49885         workaround, suggested by Bruno.
49886
49887 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49888
49889         * modules/xalloc (Depends-on): Add xalloc-die.
49890         * modules/xvasprintf (Depends-on): Add xalloc-die.
49891
49892 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49893
49894         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
49895         with a minor change.
49896
49897 2005-07-15  Bruno Haible  <bruno@clisp.org>
49898
49899         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
49900         When using lib/poll.c, define poll as rpl_poll.
49901
49902 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
49903
49904         * modules/argp (Depends-on): Remove unlocked-io.
49905
49906 2005-07-14  Derek Price  <derek@ximbiot.com>
49907
49908         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
49909         for glob symlink bug.
49910
49911 2005-07-14  Bruno Haible  <bruno@clisp.org>
49912
49913         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
49914         Instead, test for *_unlocked function declarations directly.
49915
49916 2005-07-11  Simon Josefsson  <jas@extundo.com>
49917
49918         * modules/size_max: New file.
49919
49920         * modules/xsize: Depend on size_max module for size_max.m4.
49921
49922 2005-07-11  Simon Josefsson  <jas@extundo.com>
49923
49924         * lib/size_max.h: New file.
49925
49926 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
49927
49928         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
49929         copyright symbol and the year.
49930         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
49931         (version_etc_va): Use parameterized copyright notice.
49932         Reword to conform to the current GNU coding standards.
49933
49934 2005-07-11  Karl Berry  <karl@gnu.org>
49935
49936         * doc/gnulib.texi (Quoting): new node.
49937         (Initial import): more info, from Patrice.
49938
49939 2005-07-11  Bruno Haible  <bruno@clisp.org>
49940
49941         * gnulib-tool (func_usage): Document option --avoid.
49942         (Command line options): Handle --avoid.
49943         (func_acceptable): New function.
49944         (func_modules_transitive_closure): Use it.
49945
49946 2005-07-11  Bruno Haible  <bruno@clisp.org>
49947
49948         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
49949         Reported by Jim Meyering.
49950
49951 2005-07-10  Bruno Haible  <bruno@clisp.org>
49952
49953         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
49954         Needed when size_t is smaller than 'unsigned int'.
49955         Reported by Paul Eggert.
49956
49957 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49958
49959         * modules/argp (Depends-on): Add unlocked-io
49960
49961 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49962
49963         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
49964         block of defines.
49965
49966 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49967
49968         * config/srclist.txt: Comment out regcomp.c, since we have a porting
49969         fix now.
49970
49971 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
49972         and Paul Eggert  <eggert@cs.ucla.edu>
49973
49974         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
49975         in wint_t, not wchar_t.  Remove now-unnecessary cast.
49976
49977 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49978
49979         * modules/regex (Files): Add lib/regex_internal.c,
49980         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
49981         (Depends-on): Add extensions.
49982         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
49983
49984 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49985
49986         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
49987         pathconf.
49988         * m4/same.m4 (gl_SAME): Likewise.
49989         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
49990
49991         * m4/regex.m4: Adjust to new libc regex implementation.
49992         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
49993         all the .c and .h parts of (the new) regex.
49994         Quote the m4 stuff better.
49995         Check for RE_ICASE bug of old gnulib.
49996         Check for REG_STARTEND of recent libc.
49997         Rename local variables from jm_* to gl_*.
49998         Quote operand of "test -f".
49999         Say "recent enough" version of libc, not "version 2".
50000         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
50001         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
50002         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
50003         Remove check for btowc, isascii.
50004         Require AM_LANGINFO_CODESET.
50005
50006 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
50007
50008         * lib/regex.c, regex.h: Sync from libc.
50009         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
50010         * lib/regexec.c:
50011         New files, synced from libc, except that regex_internal.h
50012         currently has a small porting fix.
50013
50014 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
50015
50016         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
50017         regex_internal.c, regexec.c.
50018         Add regex_internal.h too, but as a comment, since the libc version
50019         is currently broken in gnulib mode.
50020
50021 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50022
50023         Support programs like Emacs that use gnulib but not gettext.
50024         * MODULES.html.sh (Internationalization functions): Add gettext-h.
50025         * modules/gettext-h: New file.
50026         * modules/gettext (Files): Remove lib/gettext.h.
50027         (Depends-on): Add gettext-h.
50028         (Makefile.am): Remove lib_SOURCES.
50029         * modules/argmatch, modules/c-stack, modules/closeout:
50030         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
50031         * modules/execute, modules/file-type, modules/getaddrinfo:
50032         * modules/getopt, modules/human, modules/javacomp:
50033         * modules/javaexec, modules/mkdir-p, modules/obstack:
50034         * modules/openat, modules/pagealign_alloc, modules/pipe:
50035         * modules/quotearg, modules/regex, modules/rpmatch:
50036         * modules/unicodeio, modules/userspec, modules/version-etc:
50037         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
50038         * modules/xsetenv:
50039         Depend on gettext-h, not gettext.
50040
50041 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
50042
50043         * gnulib-tool (func_import): Add support for 'public domain' license.
50044         * modules/alloca, modules/atexit, modules/memmove:
50045         Now public domain, not GPL.
50046         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
50047         * modules/realloc, modules/strerror, modules/strtod:
50048         Now LGPL, not GPL.
50049
50050 2005-07-05  Bruno Haible  <bruno@clisp.org>
50051
50052         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
50053         autoconf CVS. Needed for mingw.
50054
50055 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50056
50057         Remove the dependency of the strftime module on the tzset module.
50058         * modules/strftime (Depends-on): Remove dependency on tzset.
50059
50060 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50061
50062         Remove the dependency of the strftime module on the tzset module.
50063         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
50064         gl_FUNC_TZSET_CLOBBER.
50065
50066 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50067
50068         Remove the dependency of the strftime module on the tzset module.
50069         * lib/strftime.c (my_strftime)
50070         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
50071         Copy the input structure, to work around some of the bug with
50072         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
50073         Solaris releases, you should also use the tzset module, but we won't
50074         require it as a dependency any more since we don't want LGPLed code
50075         to depend on GPLed code.
50076
50077 2005-07-02  Jim Meyering  <jim@meyering.net>
50078
50079         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
50080         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
50081         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
50082         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
50083
50084 2005-07-02  Jim Meyering  <jim@meyering.net>
50085
50086         * lib/backupfile.c (backup_args): Change a `0' to NULL.
50087
50088 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
50089
50090         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
50091         declares only 'struct timespec;' (!).
50092
50093 2005-07-01  Jim Meyering  <jim@meyering.net>
50094
50095         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
50096         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
50097         * lib/save-cwd.c, tempname.c:
50098         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
50099         and don't include <sys/file.h>).
50100
50101 2005-06-29  Jim Meyering  <jim@meyering.net>
50102
50103         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
50104         type name.  Use the variable name instead.
50105         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
50106         Likewise.
50107
50108 2005-06-28  Simon Josefsson  <jas@extundo.com>
50109
50110         * modules/check-version (Files): Add check-version.m4.
50111
50112 2005-06-28  Simon Josefsson  <jas@extundo.com>
50113
50114         * m4/check-version.m4: New file, suggested by Jim Meyering
50115         <jim@meyering.net>.
50116
50117 2005-06-28  Simon Josefsson  <jas@extundo.com>
50118
50119         * lib/check-version.h, lib/check-version.c: New files.
50120
50121 2005-06-28  Simon Josefsson  <jas@extundo.com>
50122
50123         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
50124         collision with global variable.  Better indentation.  Don't
50125         increment buffer pointer beyond buffer end.  Based on comments
50126         from Paul Eggert <eggert@cs.ucla.edu>.
50127
50128         * lib/base64.h: Indent.
50129
50130 2005-06-28  Simon Josefsson  <jas@extundo.com>
50131
50132         * doc/gnulib.texi (Library version handling): New section.
50133
50134 2005-06-28  Jim Meyering  <jim@meyering.net>
50135
50136         * check-module (find_included_lib_files): Hard-code another
50137         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
50138         but modules/fts-lgpl (correctly) does not list those files.
50139
50140         * modules/canonicalize (Files): Add lib/pathmax.h.
50141
50142 2005-06-25  Simon Josefsson  <jas@extundo.com>
50143
50144         * modules/check-version: New file.
50145
50146 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
50147
50148         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
50149         initializer of struct addrinfo, as an indication that we don't
50150         care how many members the structure has.
50151
50152 2005-06-24  Derek Price  <derek@ximbiot.com>
50153         and Bruno Haible  <bruno@clisp.org>
50154
50155         Remove stat module & update lstat.
50156         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
50157         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
50158         * m4/stat.m4: Remove this file.
50159
50160 2005-06-24  Derek Price  <derek@ximbiot.com>
50161         and Bruno Haible  <bruno@clisp.org>
50162
50163         Remove stat module & update lstat.
50164         * lib/stat.c: Remove this file...
50165         (slash_aware_lstat): ...moving this content and its support...
50166         * lib/lstat.c (rpl_lstat): ...into here.
50167         * lib/lstat.h: New file.
50168
50169 2005-06-24  Derek Price  <derek@ximbiot.com>
50170         and Bruno Haible  <bruno@clisp.org>
50171
50172         Remove stat module & update lstat.
50173         * config/srclist.txt (libc sources): Remove stat.
50174
50175 2005-06-24  Derek Price  <derek@ximbiot.com>
50176         and Bruno Haible  <bruno@clisp.org>
50177
50178         Remove stat module & update lstat.
50179         * MODULES.html.sh (stat): Remove.
50180         * MODULES.html: Regenerated.
50181         * modules/lstat (Description): Correct function name.
50182         (Files): Add "lstat.h".
50183         (Depends-on): Remove stat, add xalloc, stat-macros.
50184         * modules/stat: Remove this file.
50185         (Include): Add "lstat.h", remove <sys/stat.h>.
50186
50187 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
50188
50189         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
50190         (ranged_convert): Don't save conversion in a temporary struct.
50191         This causes a warning with GCC 4.0.0, and anyway in the typical
50192         case it's not worth the extra 100 bytes or so of code.
50193         (ranged_convert, __mktime_internal): When calling a function via a
50194         pointer P, use P () rather than (*P) (), as we now assume C89 or
50195         better.
50196
50197 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
50198
50199         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
50200         "who -r" failed to give output.  Problem reported by Tim Waugh.
50201
50202         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
50203         (xcalloc): Use it to avoid needless tests.
50204         Problem reported by Jim Meyering.
50205
50206 2005-06-20  Derek Price  <derek@ximbiot.com>
50207
50208         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
50209         unnecessary for Autoconfs > 2.59c.
50210
50211 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50212
50213         * lib/argp.h (__option_is_short): Check upper limit of
50214         __key. Isprint() requires its argument to have the value
50215         of an unsigned char or EOF.
50216
50217 2005-06-16  Jim Meyering  <jim@meyering.net>
50218
50219         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
50220         when either N or S is zero.
50221
50222 2005-06-16  Derek Price  <derek@ximbiot.com>
50223
50224         * m4/bison.m4: Declare YACC & YFLAGS precious.
50225
50226 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
50227
50228         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
50229         multibyte string or pattern, fall back on unibyte matching.
50230         Problem reported by James Youngman.
50231
50232 2005-06-08  Bruno Haible  <bruno@clisp.org>
50233
50234         * modules/csharpcomp: New file.
50235         * MODULES.html.sh (C#): Add csharpcomp.
50236
50237 2005-06-08  Bruno Haible  <bruno@clisp.org>
50238
50239         * m4/csharpcomp.m4: New file, from GNU gettext.
50240
50241 2005-06-08  Bruno Haible  <bruno@clisp.org>
50242
50243         * lib/csharpcomp.h: New file, from GNU gettext.
50244         * lib/csharpcomp.c: New file, from GNU gettext.
50245         * lib/csharpcomp.sh.in: New file, from GNU gettext.
50246
50247 2005-06-08  Bruno Haible  <bruno@clisp.org>
50248
50249         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
50250         warning on mingw.
50251
50252 2005-06-07  Derek Price  <derek@ximbiot.com>
50253
50254         Sync from CVS.
50255         * lib/glob_.h: Indent nested #ifdef.
50256
50257 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
50258
50259         Sync from coreutils.
50260         Use "file name" when talking about file names, instead of "filename"
50261         or "path", as per the GNU coding standards.
50262         * lib/mkdir-p.c: Renamed from makepath.c.
50263         (make_dir_parents): Renamed from make_path.  All callers changed.
50264         * lib/mkdir-p.h: Likewise.  All includers changed.
50265         * lib/filenamecat.c: Renamed from path-concat.c.
50266         (file_name_concat): Renamed from path_concat.  All callers changed.
50267         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
50268         * lib/filenamecat.h: Likewise.  All includers changed.
50269         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
50270         in comments or local variable names.
50271         * lib/basename.c: Likewise.
50272         * lib/canonicalize.c, canonicalize.h: Likewise.
50273         * lib/dirname.c, dirname.h: Likewise.
50274         * lib/euidaccess.c: Likewise.
50275         * lib/exclude.c: Likewise
50276         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
50277         * lib/fsusage.c, fsuage.h: Likewise.
50278         * lib/fts.c, fts_.h: Likewise.
50279         * lib/getcwd.c: Likewise.
50280         * lib/getloadavg.c: Likewise.
50281         * lib/mkstemp.c: Likewise.
50282         * lib/mountlist.c, mountlist.h: Likewise.
50283         * lib/openat.c, openat.h: Likewise.
50284         * lib/readlink-stub.c: Likewise.
50285         * lib/readutmp.c, readutmp.h: Likewise.
50286         * lib/rename.c: Likewise.
50287         * lib/rmdir.c: Likewise.
50288         * lib/same.c: Likewise.
50289         * lib/savedir.c: Likewise.
50290         * lib/stripslash.c: Likewise.
50291         * lib/tempname.c: Likewise.
50292         * lib/xreadlink.c: Likewise.
50293         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
50294         All uses changed.
50295         * lib/exclude.h: Likewise.
50296
50297         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
50298         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
50299         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
50300         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
50301         * lib/pathmax.h: Include <limits.h> unconditionally, since other
50302         files have been getting away with it for years (MORE/BSD 4.3
50303         is extinct now).
50304         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
50305         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
50306
50307         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
50308         Define to 256, not 255, as per modern POSIX.
50309
50310 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
50311
50312         Sync from coreutils.
50313         Use "file name" when talking about file names, instead of "filename"
50314         or "path", as per the GNU coding standards.
50315         * MODULES.html.sh: mkdir-p renamed from makepath.
50316         filenamecat renamed from path-concat.
50317         * modules/filenamecat: Renamed from modules/path-concat.
50318         (Files): filenamecat.h and filenamecat.c renamed from
50319         path-concat.h and path-concat.c.
50320         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
50321         (Include): filenamecat.h, not path-concat.h.
50322         * modules/mkdir-p: Renamed from modules/makepath.
50323         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
50324         makepath.c.
50325         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
50326         (Include): mkdir-p.h, not makepath.h.
50327
50328 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
50329
50330         Sync from coreutils.
50331         * m4/mkdir-p.m4: Renamed from makepath.m4.
50332         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
50333         Rename files from makepath.c to mkdir-p.c, and from
50334         makepath.h to mkdir-p.h.
50335         * m4/filenamecat.m4: Renamed from path-concat.m4.
50336         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
50337         Rename files from path-concat.c to filenamecat.c,
50338         and from path-concat.h to filenamecat.h.
50339         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
50340         "file name" in local variables or comments.
50341         * m4/rename.m4: Likewise.
50342
50343 2005-06-01  Bruno Haible  <bruno@clisp.org>
50344
50345         * modules/csharpexec: New file.
50346         * MODULES.html.sh (C#): New section.
50347
50348 2005-06-01  Bruno Haible  <bruno@clisp.org>
50349
50350         * m4/csharp.m4: New file, from GNU gettext.
50351         * m4/csharpexec.m4: New file, from GNU gettext.
50352
50353 2005-06-01  Bruno Haible  <bruno@clisp.org>
50354
50355         * lib/csharpexec.h: New file, from GNU gettext.
50356         * lib/csharpexec.c: New file, from GNU gettext.
50357         * lib/csharpexec.sh.in: New file, from GNU gettext.
50358
50359 2005-05-31  Derek Price  <derek@ximbiot.com>
50360             Paul Eggert  <eggert@cs.ucla.edu>
50361
50362         Sync from cvs.
50363         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
50364
50365 2005-05-31  Derek Price  <derek@ximbiot.com>
50366             Paul Eggert  <eggert@cs.ucla.edu>
50367
50368         Sync from cvs.
50369         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
50370
50371 2005-05-29  Derek Price  <derek@ximbiot.com>
50372
50373         * config/srclist.txt (glob_.h, glob.c): Add these files.
50374
50375 2005-05-29  Derek Price  <derek@ximbiot.com>
50376
50377         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
50378         * modules/glob: New file.
50379         * modules/getlogin_r: Add link to POSIX spec in description.
50380
50381 2005-05-29  Derek Price  <derek@ximbiot.com>
50382             Paul Eggert  <eggert@cs.ucla.edu>
50383
50384         * m4/glob.m4: New file.
50385
50386 2005-05-29  Derek Price  <derek@ximbiot.com>
50387             Paul Eggert  <eggert@cs.ucla.edu>
50388
50389         * lib/glob_.h, lib/glob.c: New files.
50390
50391 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
50392
50393         * modules/fts (Files): Remove m4/inttypes-pri.m4.
50394         * modules/fts-lgpl (Depends-on): Remove gettext.
50395
50396 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
50397
50398         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
50399         and don't require gt_INTTYPES_PRI.
50400
50401 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
50402
50403         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
50404
50405         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
50406         the configuration hassle isn't worth it.
50407         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
50408         (LONGEST_MODIFIER, PRIuMAX): Remove.
50409
50410 2005-05-27  Bruno Haible  <bruno@clisp.org>
50411
50412         * lib/getlogin_r.h: Remove second include of <stddef.h>.
50413
50414 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
50415
50416         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
50417         _POSIX_PTHREAD_SEMANTICS for Solaris.
50418
50419 2005-05-25  Derek Price  <derek@ximbiot.com>
50420
50421         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
50422
50423 2005-05-25  Derek Price  <derek@ximbiot.com>
50424             Paul Eggert  <eggert@cs.ucla.edu>
50425
50426         * modules/getlogin_r, m4/getlogin_r.m4: New files.
50427         * lib/getlogin_r.c, getlogin_r.h: New files.
50428
50429 2005-05-25  Bruno Haible  <bruno@clisp.org>
50430             Derek Price  <derek@ximbiot.com>
50431
50432         * lib/getlogin_r.h: Simplify API documentation.
50433
50434 2005-05-23  Derek Price  <derek@ximbiot.com>
50435
50436         * modules/minmax (Files): Add m4/minmax.m4.
50437         (configure.ac): Add gl_MINMAX.
50438
50439 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
50440
50441         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
50442         so that unistd-safer.h (GPL'ed code) need not be included.
50443
50444 2005-05-22  Bruno Haible  <bruno@clisp.org>
50445
50446         * m4/minmax.m4: New file.
50447         Based on a patch by Derek Price <derek@ximbiot.com>.
50448
50449 2005-05-22  Bruno Haible  <bruno@clisp.org>
50450
50451         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
50452         (INT64_MIN): Fix definition.
50453         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
50454
50455         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
50456         NEED_SIGNED_INT_TYPES.
50457
50458         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
50459         HAVE_SYSTEM_INTTYPES.
50460
50461 2005-05-22  Bruno Haible  <bruno@clisp.org>
50462
50463         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
50464         Also include <sys/param.h> if it defines MIN, MAX.
50465         Based on a patch by Derek Price <derek@ximbiot.com>.
50466
50467 2005-05-21  Jim Meyering  <jim@meyering.net>
50468
50469         * modules/fts (Files): Add m4/inttypes-pri.m4.
50470         (Depends-on): Add lstat and remove gettext.  Alphabetize.
50471
50472 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
50473
50474         New fts module.
50475         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
50476         (setup_dir, free_dir): New functions.
50477         (enter_dir, leave_dir): Define trivial
50478         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
50479         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
50480         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
50481         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
50482         Move to fts-cycle.c.
50483         (fts_open): Use setup_dir.
50484         (fts_close): Use free_dir.
50485         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
50486         This adds a label and some gotos, but the alternatives were messier.
50487         Check for memory allocation failure when entering a dir.
50488         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
50489         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
50490         (FTS): New member fts_cycle, that is a union that contains the
50491         old active_dir_ht and cycle_state.  All uses changed to mention
50492         fts_cycle.ht and fts_cycle.state.
50493         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
50494         fts.c, with the following changes:
50495         (setup_dir, free_dir): New functions.
50496         (enter_dir): Now returns bool.  Return true if successful, false
50497         if memory exhausted.  All callers changed.
50498         Do not bother partly cleaning up on
50499         memory allocation failure; that is free_dir's job.
50500         However, free ad if hash_insert fails, to avoid memory leak.
50501         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
50502         fts->fts_options to see which union member to use.
50503
50504 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
50505
50506         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
50507         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
50508
50509 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
50510
50511         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
50512
50513 2005-05-20  Jim Meyering  <jim@meyering.net>
50514
50515         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
50516         Now a macro, to pacify GCC.
50517
50518 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
50519
50520         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
50521         of -1.
50522
50523 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
50524
50525         * lib/chown.c (rpl_chown): Return -1 on failure.
50526
50527 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
50528
50529         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
50530         Don't check for stddef.h.
50531         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
50532         don't use its results.
50533         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
50534         since we include them unconditionally.  Don't require
50535         AM_STDBOOL_H, since stdbool is a prerequisite.
50536         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
50537         since we assume C89 or better.
50538         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
50539         as we don't use their results.
50540         Don't check for fchdir, memmove, memset, strrchr, as we use
50541         them unconditionally.
50542         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
50543         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
50544
50545 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
50546
50547         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
50548         Include <stddef.h> unconditionally, since we assume C89 now.
50549         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
50550         * lib/fts.c: Include fts_.h first, to check interface.
50551         Do not include intprops.h; no longer needed.
50552         Include cycle-check.h and hash.h, since fts_.h no longer does.
50553         Remove unnecessary casts of closedir to void.
50554         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
50555         decide whether to decrement nlinks.
50556         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
50557         (FTS): Use struct hash_table * instead of Hash_table, so that
50558         we no longer need to include hash.h here.
50559
50560 2005-05-18  Jim Meyering  <jim@meyering.net>
50561
50562         * modules/dirfd (License): Change to LGPL.  Most of the code
50563         is already in the public domain.
50564
50565 2005-05-18  Jim Meyering  <jim@meyering.net>
50566
50567         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
50568         Reported by Yoann Vandoorselaere.
50569
50570 2005-05-17  Jim Meyering  <jim@meyering.net>
50571
50572         * m4/fts.m4: New file, from coreutils.
50573
50574 2005-05-17  Jim Meyering  <jim@meyering.net>
50575
50576         * lib/fts.c, lib/fts_.h: New files, from coreutils.
50577
50578 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50579
50580         Sync from coreutils.
50581         * m4/unlinkdir.m4: New file.
50582
50583 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50584
50585         Sync from coreutils.
50586         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
50587         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
50588         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
50589         White space changes only.
50590         * lib/makepath.c (make_path): Port to hosts where leading "//" is
50591         special.
50592         * lib/yesno.c: Include getline.h, not ctype.h.
50593         (yesno): Don't remove leading white space; POSIX doesn't allow it.
50594         Use getline to remove arbitrary restriction on response length.
50595
50596 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50597
50598         * config/srclist-update: Spell out "Street" in FSF postal
50599         mail address; this is the style the FSF seems to prefer.
50600
50601         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
50602         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
50603         this updates FSF postal mail address.
50604
50605         Sync from coreutils.
50606         * modules/unlinkdir: New file.
50607         * modules/yesno (Depends-on): Add getline.
50608         * MODULES.html.sh (File system functions): Add unlinkdir.
50609
50610 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50611
50612         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
50613         lib/strsep.h:
50614         Change the initial comment to refer to GPL, not LGPL.
50615         gnulib-tool will change it to LGPL as needed.
50616
50617         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
50618         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
50619         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
50620         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
50621         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
50622         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
50623         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
50624         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
50625         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
50626         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
50627         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
50628         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
50629         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
50630         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
50631         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
50632         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
50633         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
50634         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
50635         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
50636         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
50637         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
50638         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
50639         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
50640         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
50641         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
50642         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
50643         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
50644         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
50645         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
50646         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
50647         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
50648         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
50649         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
50650         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
50651         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
50652         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
50653         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
50654         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
50655         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
50656         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
50657         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
50658         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
50659         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
50660         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
50661         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
50662         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
50663         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
50664         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
50665         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
50666         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
50667         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
50668         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
50669         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
50670         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
50671         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
50672         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
50673         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
50674         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
50675         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
50676         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
50677         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
50678         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
50679         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
50680         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
50681         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
50682         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
50683         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
50684         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
50685         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
50686         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
50687         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
50688         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
50689         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
50690         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
50691         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
50692         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
50693         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
50694         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
50695         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
50696         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
50697         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
50698         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
50699         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
50700         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
50701         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
50702         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
50703         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
50704         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
50705         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
50706         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
50707         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
50708         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
50709         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
50710         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
50711         lib/yesno.c, lib/yesno.h:
50712         Update FSF postal mail address.
50713
50714 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50715
50716         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
50717         tests/test-memmem.c, tests/test-stpncpy.c:
50718         Update FSF postal mail address.
50719
50720 2005-05-13  Bruno Haible  <bruno@clisp.org>
50721
50722         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
50723         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
50724         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
50725         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
50726         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
50727         Add support for 64-bit integers in the MSVC compiler.
50728
50729 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50730
50731         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
50732
50733 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
50734
50735         * gnulib-tool (func_import): Sort and uniquify recommended includes.
50736
50737 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
50738
50739         * doc/getdate.texi (General date syntax): Don't say that date
50740         date --iso-8601=ns generates acceptable dates; it doesn't yet.
50741         Problem reported by Nic Ferrier.
50742
50743 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50744
50745         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
50746         specified in ai_socktype. Fix invalid ai_protocol
50747         check. ai_protocol is usually set to 0 or depending on
50748         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
50749         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
50750         ai_socktype / ai_protocol in the returned addrinfo structure.
50751
50752 2005-05-10  Simon Josefsson  <jas@extundo.com>
50753
50754         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
50755         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50756
50757 2005-05-10  Karl Berry  <karl@gnu.org>
50758
50759         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
50760         (from http://www.gnu.org/licenses).
50761         * doc/COPYING.LIB: also rename to COPYING.LESSER.
50762         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
50763         fdl.texi suffices.
50764
50765 2005-05-10  Karl Berry  <karl@gnu.org>
50766
50767         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
50768         (COPYING.DOC): remove.
50769
50770         * config/srclist-update: new FSF address.
50771
50772 2005-05-10  Derek Price  <derek@ximbiot.com>
50773
50774         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
50775         possible.
50776
50777 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50778             Bruno Haible  <bruno@clisp.org>
50779
50780         * modules/inet_ntop: New file.
50781         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50782         inet_ntop.
50783
50784 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50785             Bruno Haible  <bruno@clisp.org>
50786
50787         * m4/inet_ntop.m4: New file.
50788
50789 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50790             Bruno Haible  <bruno@clisp.org>
50791
50792         * lib/inet_ntop.h: New file.
50793         * lib/inet_ntop.c: New file, from glibc with modifications.
50794
50795 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
50796
50797         * modules/time_r (License): Change to LGPL.
50798         * modules/extensions (License): Change to LGPL.  Actually,
50799         the license is more permissive than that, but currently gnulib-tool
50800         doesn't know how to handle more-permissive licenses.
50801
50802         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
50803         Problem reported by Dave Love.
50804
50805 2005-05-08  Jim Meyering  <jim@meyering.net>
50806
50807         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
50808         blank.
50809
50810 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
50811
50812         * modules/argmatch (Depends-on): Add stdbool.
50813         * modules/backupfile (Depends-on): Likewise.
50814         * modules/chdir-long (Depends-on): Likewise.
50815         * modules/closeout (Depends-on): Likewise.
50816         * modules/cycle-check (Depends-on): Likewise.
50817         * modules/dirname (Depends-on): Likewise.
50818         * modules/fnmatch (Depends-on): Likewise.
50819         * modules/fsusage (Depends-on): Likewise.
50820         * modules/fwriteerror (Depends-on): Likewise.
50821         * modules/getcwd (Depends-on): Likewise.
50822         * modules/getloadavg (Depends-on): Likewise.
50823         * modules/hard-locale (Depends-on): Likewise.
50824         * modules/makepath (Depends-on): Likewise.
50825         * modules/mountlist (Depends-on): Likewise.
50826         * modules/nanosleep (Depends-on): Likewise.
50827         * modules/posixtm (Depends-on): Likewise.
50828         * modules/quotearg (Depends-on): Likewise.
50829         * modules/readtokens (Depends-on): Likewise.
50830         * modules/readtokens0 (Depends-on): Likewise.
50831         * modules/readutmp (Depends-on): Likewise.
50832         * modules/save-cwd (Depends-on): Likewise.
50833         * modules/strftime (Depends-on): Likewise.
50834         * modules/userspec (Depends-on): Likewise.
50835         * modules/utimecmp (Depends-on): Likewise.
50836         * modules/xgetcwd (Depends-on): Likewise.
50837         * modules/xnanosleep (Depends-on): Likewise.
50838         * modules/xstrtod (Depends-on): Likewise.
50839         * modules/yesno (Depends-on): Likewise.
50840
50841 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
50842
50843         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
50844         needless checks.
50845
50846 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50847
50848         Merge from coreutils.  Among other things,
50849         add bulletproofing for cases where stdin, stdout, or stderr are closed.
50850         * lib/fd-safer.c: New file.
50851         * lib/fcntl-safer.h, open-safer.c: Remove.
50852         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
50853         * lib/dup-safer.c: Include unistd-safer.h first.
50854         Don't include errno.h.
50855         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
50856         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
50857         * lib/file-type.c: Rely on file-type.h change.
50858         * lib/getloadavg.c: Include unistd-safer.h.
50859         (getloadavg): Use safer open.
50860         * lib/getusershell.c: Include "stdio-safer.h".
50861         (getusershell): Use safer fopen.
50862         * lib/long-options.c (long_options): Use NULL rather than 0.
50863         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
50864         'free'.
50865         * lib/modechange.c: Likewise.
50866         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
50867         (MODE_DONE): New constant.
50868         (struct mode_change): Remove 'next' member.
50869         (make_node_op_equals): New function; like the old one of the
50870         same name, except it allocates an array.
50871         (mode_compile, mode_create_from_ref): Use it.
50872         (mode_compile): Allocate result as an array, not a linked list.
50873         Parse octal string ourself, so that we catch mistakes like "+0".
50874         (mode_adjust): Arg is an array, not a linked list.
50875         * lib/modechange.c: Include stat-macros.h, xalloc.h.
50876         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
50877         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
50878         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
50879         Remove.  This is now stat-macros.h's job.
50880         (talloc): Remove.  All callers replaced by xalloc, so that
50881         our invokers don't have to worry about reporting memory failures.
50882         (make_node_op_equals): Remove.
50883         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
50884         New constants.
50885         (struct mode_change): Moved here from modechange.h.
50886         (mode_append_entry): Remove.
50887         (mode_compile): Remove MASKED_OPS arg, since it encouraged
50888         apps to have incorrect behavior.  Use simpler algorithm for head
50889         and tail.  Don't futz with umask; that's now the job of mode_adjust.
50890         Detect more invalid usages rather than having somewhat-random behavior.
50891         Don't insert an "a=" action, as that leads to incorrect behavior.
50892         (mode_compile, mode_create_from_ref): Return NULL on error instead
50893         of an enum, since now there's only one way to have an error.  All
50894         callers changed.
50895         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
50896         at the correct time.  Simplify calculation of "+u" and its ilk.
50897         Don't mishandle "+X".
50898         (mode_free): Remove "register" and localize decls.
50899         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
50900         (struct mode_change): Move to modechange.c; callers don't
50901         need to see this stuff.
50902         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
50903         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
50904         (mode_change, mode_adjust): Reflect the new signatures noted above.
50905         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
50906         that might redefine system include files.
50907         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
50908         (my_usleep): Use NULL rather than (void *) 0.
50909         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
50910         Use siginterrupt to specify that system calls should be interrupted.
50911         (rpl_nanosleep): Move initialization of suspended closer to call of
50912         my_usleep.
50913         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
50914         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
50915         (desirable_utmp_entry): New function.
50916         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
50917         using x2nrealloc, to simplify logic.
50918         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
50919         size calculation.  Do not assume utmp file is a regular file.
50920         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
50921         (READ_UTMP_CHECK_PIDS): New constant.
50922         * lib/save-cwd.c: Include unistd-safer.h.
50923         (save_cwd): Use fd_safer.
50924         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
50925         [!_LIBC] Include "stat-macros.h" instead.
50926         * lib/unistd-safer.h (fd_safer): New decl.
50927
50928 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50929
50930         * modules/getloadavg (Depends-on): Add unistd-safer.
50931         * modules/getusershell (Depends-on): Add stdio-safer.
50932         * modules/lstat (Depends-on): Remove xalloc.
50933         * modules/mkstemp (Depends-on): Add stat-macros.
50934         * modules/modechange (Depends-on): Remove xstrtol.
50935         Add stat-macros, xalloc.
50936         * modules/save-cwd (Depends-on): Add unistd-safer.
50937         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
50938         * modules/unistd-safer (Files): Add lib/fd-safer.c
50939         (Makefile.am): Remove lib_SOURCES.
50940
50941         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
50942         Remove fcntl-safer; unistd-safer supersedes it.
50943
50944 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50945
50946         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
50947         AC_HEADER_STAT.
50948         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
50949         (gl_PREREQ_CHOWN): Remove.
50950         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
50951         it.  Don't require AC_HEADER_STAT.
50952         (gl_PREREQ_LSTAT): Remove.
50953         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
50954         Don't require AC_HEADER_STAT.
50955         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
50956         (gl_PREREQ_RMDIR): Remove.
50957         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
50958         mention stat-macros.h or AC_HEADER_STAT, since we'll make
50959         the stat-macros module a prerequisite.
50960         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
50961         * m4/filemode.m4 (gl_FILEMODE): Likewise.
50962         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
50963         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
50964         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
50965         variable names.
50966         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
50967         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
50968         variable prefixes.
50969         * m4/fcntl-safer.m4: Remove.
50970         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
50971         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
50972         Invoke gl_PREREQ_FD_SAFER.
50973         (gl_PREREQ_FD_SAFER): New macro.
50974         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
50975         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
50976         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
50977         Remove duplicate call to AC_LIBOBJ(readutmp).
50978         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
50979
50980         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
50981         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
50982
50983 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50984
50985         * MODULES.html.sh (Misc): Add byteswap.
50986
50987 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50988
50989         * modules/getcwd (Depends-on): Add extensions.
50990         * modules/openat (Depends-on): Likewise.
50991
50992 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50993
50994         * modules/byteswap: New file.
50995
50996 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50997
50998         * m4/byteswap.m4: New file.
50999
51000 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
51001
51002         * lib/byteswap_.h: New file.
51003
51004 2005-04-25  Karl Berry  <karl@gnu.org>
51005
51006         * m4/gettext.m4: Update from GNU gettext 0.14.4.
51007
51008 2005-04-25  Albert Chin  <china@thewrittenword.com>
51009
51010         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
51011         Toolkit C bug.
51012
51013 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
51014
51015         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
51016         (func_ln_if_changed) Remove forcibly for no error message
51017         in case file does not exist.
51018
51019 2005-04-19  Simon Josefsson  <jas@extundo.com>
51020
51021         * gnulib-tool (Options): Make --symlink mean --symbolic.
51022
51023 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
51024
51025         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
51026
51027 2005-04-16  Simon Josefsson  <jas@extundo.com>
51028
51029         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
51030
51031 2005-04-15  Simon Josefsson  <jas@extundo.com>
51032
51033         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
51034
51035 2005-04-15  Simon Josefsson  <jas@extundo.com>
51036
51037         * gnulib-tool: Rename --symlink to --symbolic.
51038
51039 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
51040
51041         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
51042         symbolic links to files instead of copying/moving.  Add --aux-dir,
51043         specifying directory relative --dir where auxiliary build tools
51044         are placed.
51045
51046 2005-04-14  Bruno Haible  <bruno@clisp.org>
51047
51048         * modules/allocsa (License): Change to LGPL.
51049         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51050
51051 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
51052
51053         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
51054         that "UTC +1 second" continues to work.  Problem reported
51055         by Dmitry V. Levin.
51056         (relunit_snumber): New rule.
51057         (relunit): Use it.
51058
51059 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
51060
51061         * lib/getdate.y (universal_time_zone_table): New constant.
51062         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
51063         universal_time_zone_table.
51064         (lookup_zone): Prefer universal_time_zone_table to
51065         local_time_zone_table, so that "GMT" time stamps are allowed in
51066         London during the summer.  Problem reported by Ian Abbott.
51067
51068 2005-04-12  Jim Meyering  <jim@meyering.net>
51069
51070         * lib/human.c (humblock): Set *options even when returning due to
51071         xstrtoumax conversion failure.  Thanks to a used-uninitialized
51072         warning from gcc-4.
51073
51074 2005-04-09  Jim Meyering  <jim@meyering.net>
51075
51076         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
51077         -Wuninitialized: initialize tm0.tm_year.
51078
51079 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
51080
51081         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
51082         count, since there's no maximum.  All uses changed.
51083         Add member dsts_seen.
51084         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
51085         not being INT_MAX.
51086         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
51087         Use pc_rels_seen to decide whther a date is absolute.
51088
51089         * lib/getdate.y (number): Don't overwrite year.
51090         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
51091         check.
51092
51093 2005-04-02  Simon Josefsson  <jas@extundo.com>
51094
51095         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
51096         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
51097
51098 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
51099
51100         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
51101         where no absolute path name can be longer than PATH_MAX.
51102
51103 2005-03-27  Jim Meyering  <jim@meyering.net>
51104
51105         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
51106
51107 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
51108
51109         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
51110         "one's complement" -> "ones' complement" in comment, as per Knuth.
51111         "value of type" -> "type or expression" in comment.
51112         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
51113
51114 2005-03-26  Jim Meyering  <jim@meyering.net>
51115
51116         Comment nits.
51117         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
51118         Correct typos: s/or/of/.
51119
51120 2005-03-26  Jim Meyering  <jim@meyering.net>
51121
51122         * modules/check-include-files: Move to ../ and rename to...
51123         * check-module: ...this.
51124
51125 2005-03-25  Jim Meyering  <jim@meyering.net>
51126
51127         * modules/xvasprintf (Files): Add xalloc.h.
51128
51129 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
51130
51131         * modules/gettext (Files): config/config.rpath ->
51132         build-aux/config.rpath
51133         * modules/iconv (Files): Likewise.
51134         Problem reported by Oskar Liljeblad.
51135
51136 2005-03-23  Jim Meyering  <jim@meyering.net>
51137
51138         * modules/check-include-files: New script to check for
51139         missing dependencies, multiple includes, etc.
51140
51141         * modules/c-strtold (Depends-on): Add xalloc.
51142         * modules/c-strtod (Depends-on): Add xalloc.
51143         * modules/hash (Depends-on): Add xalloc.
51144         (Files): Remove lib/xalloc.h.
51145
51146         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
51147         * modules/userspec (Files): Add lib/inttostr.h.
51148
51149 2005-03-23  Jim Meyering  <jim@meyering.net>
51150
51151         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
51152
51153 2005-03-22  Jim Meyering  <jim@meyering.net>
51154
51155         * modules/stat-macros: New module.
51156         * modules/canonicalize, modules/euidaccess, modules/file-type,
51157         * modules/filemode, modules/lchown, modules/makepath,
51158         * modules/rmdir, modules/stat: Depend on new stat-macros module
51159         rather than listing lib/stat-macros.h manually.
51160         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
51161
51162 2005-03-22  Jim Meyering  <jim@meyering.net>
51163
51164         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
51165
51166 2005-03-22  Bruno Haible  <bruno@clisp.org>
51167
51168         * config/srclist.txt: Replace target directory 'config' with
51169         'build-aux'.
51170         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
51171         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
51172         ../build-aux/.
51173
51174 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
51175
51176         * modules/chdir-long (Depends-on): Add mempcpy.
51177
51178         * modules/acl, modules/backupfile, modules/c-strtod,
51179         modules/c-strtold, modules/canon-host, modules/canonicalize,
51180         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
51181         modules/exclude, modules/exitfail, modules/file-type,
51182         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
51183         modules/getdate, modules/getline, modules/getpagesize,
51184         modules/getpass, modules/getugroups, modules/group-member,
51185         modules/hard-locale, modules/hash, modules/human, modules/idcache,
51186         modules/inttostr, modules/long-options, modules/makepath,
51187         modules/md5, modules/memcasecmp, modules/memcoll,
51188         modules/modechange, modules/mountlist, modules/path-concat,
51189         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
51190         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
51191         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
51192         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
51193         modules/strftime, modules/strndup, modules/strverscmp,
51194         modules/timespec, modules/unlocked-io, modules/userspec,
51195         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
51196         modules/yesno:
51197         Remove lib_SOURCES line from Makefile.am section, as this is now
51198         done automatically by the corresponding Autoconf macro.
51199
51200 2005-03-21  Jim Meyering  <jim@meyering.net>
51201
51202         Changes imported from coreutils.
51203
51204         * lib/cycle-check.c: Don't include xalloc.h.
51205
51206         * lib/path-concat.c: Don't include assert.h.
51207         (path_concat): Remove assertion that would have triggered
51208         for ABASE starting with more than one slash.
51209         Reported by Andreas Schwab.
51210
51211         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
51212         properly when ABASE is an absolute file name.
51213         Correct the description of this function.
51214         Include <assert.h>.
51215         Add an assertion and a test driver.
51216         This fixes a bug introduced on 2004-07-02.
51217         Andreas Schwab reported the resulting failure of cp --parents:
51218         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
51219
51220 2005-03-21  Jim Meyering  <jim@meyering.net>
51221
51222         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
51223         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
51224
51225 2005-03-21  Jim Meyering  <jim@meyering.net>
51226         and  Paul Eggert  <eggert@cs.ucla.edu>
51227
51228         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
51229         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
51230         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
51231         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
51232         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
51233         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
51234         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
51235         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
51236         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
51237         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
51238         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
51239         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
51240         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
51241         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
51242         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
51243         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
51244         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
51245         for these modules.
51246
51247 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
51248
51249         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
51250         (which shouldn't happen), generate nothing instead of returning 0
51251         immediately, so that nstrftime (NULL, ...) doesn't return 0.
51252
51253 2005-03-16  Bruno Haible  <bruno@clisp.org>
51254
51255         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
51256         HAVE_LONGLONG_64BIT.
51257
51258 2005-03-16  Bruno Haible  <bruno@clisp.org>
51259
51260         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
51261         HAVE_LONGLONG_64BIT.
51262
51263 2005-03-16  Bruno Haible  <bruno@clisp.org>
51264
51265         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
51266         HAVE_LONGLONG_64BIT.
51267
51268 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
51269
51270         * lib/strftime.c (my_strftime): Prepend space to format so that we can
51271         reliably distinguish strftime failure from empty output on POSIX
51272         hosts.
51273
51274 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
51275
51276         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
51277         (iconv_string): Don't guess a size-zero buffer, as that might cause
51278         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
51279         result would be 'too large', where 'too large' is (heuristically)
51280         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
51281         overflow concerns.  This will prevent some unwanted malloc failures
51282         when the inputs are very large.
51283
51284 2005-03-15  Karl Berry  <karl@gnu.org>
51285
51286         * config/srclist.txt (config.rpath): from gettext.
51287         * config/config.rpath: update.
51288
51289 2005-03-15  Bruno Haible  <bruno@clisp.org>
51290
51291         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
51292         to 'negate'.
51293
51294         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
51295         variable.
51296
51297         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
51298         results.
51299
51300 2005-03-14  Simon Josefsson  <jas@extundo.com>
51301
51302         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
51303         <fx@gnu.org>.
51304
51305 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
51306
51307         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
51308         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
51309         intprops.h.
51310         * lib/strtol.c: Likewise.
51311
51312 2005-03-14  Jim Meyering  <jim@meyering.net>
51313
51314         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
51315         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
51316         to be nonzero so that we (and caller) can detect the difference
51317         between a valid zero-length expansion and an error return, even
51318         when the underlying strftime fails before writing anything into
51319         that location.
51320
51321 2005-03-14  Bruno Haible  <bruno@clisp.org>
51322
51323         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
51324         Update from GNU gettext 0.14.3.
51325
51326 2005-03-10  Jim Meyering  <jim@meyering.net>
51327
51328         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
51329
51330 2005-03-10  Jim Meyering  <jim@meyering.net>
51331
51332         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
51333         so that this module works on systems without fchdir.
51334
51335 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
51336
51337         Factor int-properties macros into a single file, except for
51338         glibc-related files.
51339         * lib/intprops.h: New file.
51340         * lib/getloadavg.c: Include it instead of limits.h.
51341         (INT_STRLEN_BOUND): Remove.
51342         * lib/human.c: Include intprops.h.
51343         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
51344         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
51345         302/1000.
51346         * lib/inttostr.h: Include intprops.h instead of limits.h.
51347         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
51348         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
51349         for consistency with intprops.h.
51350         (time_t_is_integer, twos_complement_arithmetic): Use them.
51351         * lib/sig2str.h: Include <signal.h>, intprops.h.
51352         (INT_STRLEN_BOUND): Remove.
51353         * lib/strftime.c (TYPE_SIGNED): Remove.
51354         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
51355         * lib/strtol.c: Adjust comments to match intprops.h.
51356         * lib/userspec.c: Include intprops.h.
51357         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
51358         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
51359         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
51360         instead of rolling our own expressions.
51361         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
51362
51363         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
51364         instead of int.
51365         (my_strftime): Do not mishandle years close to INT_MAX, by doing
51366         the right thing even if adding 1900 would overflow.  Similarly
51367         for tm_mon + 1 and tm_yday + 1.
51368         Make %Y always equivalent to %C%y, and similarly for %G and %g.
51369         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
51370         (DO_SIGNED_NUMBER): New macro.
51371         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
51372
51373 2005-03-07  Bruno Haible  <bruno@clisp.org>
51374
51375         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
51376
51377 2005-03-07  Bruno Haible  <bruno@clisp.org>
51378
51379         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
51380
51381 2005-03-04  Derek R. Price  <derek@ximbiot.com>
51382
51383         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
51384         (func_import): Only replace files via --import when they have actually
51385         changed.
51386
51387 2005-03-03  Derek R. Price  <derek@ximbiot.com>
51388
51389         * m4/mmap-anon.m4: New file.
51390         * m4/pagealign_alloc.m4: New file.
51391
51392 2005-03-03  Derek R. Price  <derek@ximbiot.com>
51393             Bruno Haible  <bruno@clisp.org>
51394
51395         * modules/pagealign_alloc: New file.
51396         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
51397
51398 2005-03-03  Derek R. Price  <derek@ximbiot.com>
51399             Bruno Haible  <bruno@clisp.org>
51400
51401         * lib/pagealign_alloc.h: New file.
51402         * lib/pagealign_alloc.c: New file.
51403
51404 2005-03-03  Bruno Haible  <bruno@clisp.org>
51405
51406         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
51407         Use an all-permissive copyright notice, recommended by RMS.
51408
51409 2005-03-02  Bruno Haible  <bruno@clisp.org>
51410
51411         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
51412         of AIX, the replacement has to be done only after <string.h> is
51413         included, therefore not in config.h. stpncpy.h does the replacement,
51414         and stpncpy.c uses it.
51415
51416 2005-03-02  Bruno Haible  <bruno@clisp.org>
51417
51418         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
51419         stpncpy.c uses it.
51420
51421 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51422
51423         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
51424         The workaround isn't strictly needed for POSIX conformance, and
51425         it's too much of a pain to configure and maintain.  We'll ask
51426         people to fix their kernels instead.
51427         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
51428         (NANOSLEEP_BUG_WORKAROUND): Remove.
51429         (xnanosleep): Remove the workaround.
51430
51431 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51432
51433         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
51434         Reported by Derek Price.
51435         (Include): Add "timespec.h".
51436
51437         * modules/xnanosleep (Depends-on): Remove gethrxtime.
51438
51439 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51440
51441         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
51442         to detect nanosleep bug.
51443
51444 2005-03-01  Bruno Haible  <bruno@clisp.org>
51445
51446         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
51447
51448 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
51449
51450         * modules/gethrxtime: New file.
51451         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
51452         (Depends-on): Add gethrxtime.
51453         (configure.ac): Add gl_XNANOSLEEP.
51454         (Makefile.am): Remove lib_SOURCES line.
51455
51456 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
51457
51458         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
51459         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
51460
51461 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
51462
51463         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
51464         * lib/timespec.h (gettime): Return void, since it always
51465         succeeds now.  All uses changed.
51466         * lib/gettime.c (gettime) Likewise.
51467         [HAVE_NANOTIME]: Prefer nanotime.
51468         Assume gettimeofday succeeds, as POSIX requires.
51469         Assime time () succeeds, since other code already does.
51470         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
51471         (timespec_subtract): Remove.
51472         (NANOSLEEP_BUG_WORKAROUND): New constant.
51473         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
51474         things considerably.  Use it only on GNU/Linux hosts, since the
51475         workaround shouldn't be needed elsewhere.
51476
51477 2005-02-24  Bruno Haible  <bruno@clisp.org>
51478
51479         * modules/gettext (Files): Add m4/glibc2.m4.
51480
51481 2005-02-24  Bruno Haible  <bruno@clisp.org>
51482
51483         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
51484         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
51485         * m4/progtest.m4:
51486         Update from GNU gettext 0.14.2.
51487         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
51488
51489 2005-02-24  Bruno Haible  <bruno@clisp.org>
51490
51491         * lib/localcharset.c: Update from GNU gettext 0.14.2.
51492         * lib/config.charset: Update from GNU gettext 0.14.2.
51493
51494 2005-02-24  Bruno Haible  <bruno@clisp.org>
51495
51496         * lib/gettext.h: Update from GNU gettext 0.14.2.
51497
51498 2005-02-23  Simon Josefsson  <jas@extundo.com>
51499
51500         * m4/iconvme.m4: New file.
51501
51502 2005-02-23  Jim Meyering  <jim@meyering.net>
51503
51504         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
51505         change.
51506         Thanks to Bruno Haible for catching it.
51507
51508 2005-02-22  Simon Josefsson  <jas@extundo.com>
51509
51510         * modules/iconvme: New file.
51511
51512         * MODULES.html.sh: Add iconvme.
51513
51514 2005-02-22  Simon Josefsson  <jas@extundo.com>
51515
51516         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
51517
51518 2005-02-22  Simon Josefsson  <jas@extundo.com>
51519
51520         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
51521
51522 2005-02-22  Jim Meyering  <jim@meyering.net>
51523
51524         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
51525         s/ifndef/ifdef/.
51526
51527 2005-02-20  Neil Conway  <neilc@samurai.com>
51528
51529         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
51530         returned by OSX/Darwin if the specified buffer is not large
51531         enough for the hostname.
51532
51533 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51534
51535         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
51536         pass it to _help, otherwise the latter coredumps trying to
51537         dereference state.root_argp.
51538
51539 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
51540
51541         * modules/chdir-long (Depends-on): Add memrchr.
51542         * modules/memrchr (Files): Add lib/memrchr.h.
51543         (Include): "memrchr.h".
51544
51545 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
51546
51547         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
51548
51549 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
51550
51551         * lib/memrchr.h: New file.
51552         * lib/chdir-long.c: Include it.
51553         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
51554         Don't bother including stddef.h.
51555
51556 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
51557
51558         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
51559         inclusion.
51560         Include <sys/types.h>, for dev_t.
51561         (ME_DUMMY, ME_REMOTE): Move from here....
51562         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
51563         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
51564         Dmitry V. Levin.
51565         Include mountlist.h first, to test the interface.
51566
51567 2005-01-29  Bruno Haible  <bruno@clisp.org>
51568
51569         * lib/progname.c (program_name): Initialize.
51570         Needed when linking statically on MacOS X.
51571
51572 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
51573
51574         Sync from coreutils.
51575         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
51576         (Depends-on): Add c-strtod.
51577         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
51578
51579 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
51580
51581         Sync from coreutils.
51582         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
51583
51584         Remove files that are specific to coreutils.
51585         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
51586
51587 2005-01-28  Bruno Haible  <bruno@clisp.org>
51588
51589         * modules/javacomp: New file.
51590         * MODULES.html.sh (Java): Add javacomp.
51591
51592 2005-01-28  Bruno Haible  <bruno@clisp.org>
51593
51594         * m4/javacomp.m4: New file, from GNU gettext.
51595
51596 2005-01-28  Bruno Haible  <bruno@clisp.org>
51597
51598         * lib/javacomp.sh.in: New file, from GNU gettext.
51599         * lib/javacomp.h: New file, from GNU gettext.
51600         * lib/javacomp.c: New file, from GNU gettext.
51601
51602 2005-01-26  Simon Josefsson  <jas@extundo.com>
51603
51604         * lib/gai_strerror.c: Use GPL in header.
51605
51606 2005-01-26  Bruno Haible  <bruno@clisp.org>
51607
51608         * modules/javaexec: New file.
51609         * MODULES.html.sh (Java): Add javaexec.
51610
51611 2005-01-26  Bruno Haible  <bruno@clisp.org>
51612
51613         * m4/javaexec.m4: New file, from GNU gettext.
51614
51615 2005-01-26  Bruno Haible  <bruno@clisp.org>
51616
51617         * lib/javaexec.sh.in: New file, from GNU gettext.
51618         * lib/javaexec.h: New file, from GNU gettext.
51619         * lib/javaexec.c: New file, from GNU gettext.
51620
51621 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51622
51623         * modules/lchown (Depends-on): Remove lchown.h
51624
51625 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51626
51627         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
51628         must be defined if the header file was not found, in order
51629         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
51630
51631 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51632
51633         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
51634         initializers for struct pentry_state.
51635         (__argp_error): Check return value of __asprintf
51636         (__argp_failure): Translate error message
51637
51638         * lib/argp-parse.c: Removed braces around the expansion of N_()
51639
51640 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51641
51642         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
51643         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
51644         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
51645         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
51646         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
51647         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
51648         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
51649         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
51650         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
51651         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
51652         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
51653         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
51654         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
51655         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
51656         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
51657         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
51658         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
51659         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
51660         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
51661         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
51662         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
51663         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
51664         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
51665         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
51666         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
51667         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
51668         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
51669         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
51670         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
51671         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
51672         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
51673         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
51674         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
51675         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
51676         xstrtol.m4, xstrtoumax.m4, yesno.m4:
51677         Use an all-permissive copyright notice, recommended by RMS.
51678
51679 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
51680
51681         * modules/chdir-long (Depends-on): Remove mempcpy.
51682
51683 2005-01-21  Jim Meyering  <jim@meyering.net>
51684
51685         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
51686         same value as for Solaris 9.
51687
51688         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
51689         component length.  This included changing the parameter to be
51690         of type `char *' rather than `char const *'.
51691         * lib/chdir-long.h (chdir_long): Update prototype.
51692
51693         * lib/openat.c (fdopendir, fstatat): New functions.
51694         * lib/openat.h: Include headers required for use of DIR and struct
51695         stat.
51696         [AT_SYMLINK_NOFOLLOW]: Define.
51697         (fdopendir, fstatat): Add prototypes.
51698
51699 2005-01-21  Bruno Haible  <bruno@clisp.org>
51700
51701         * modules/classpath: New file.
51702         * MODULES.html.sh (Java): Add classpath.
51703
51704 2005-01-21  Bruno Haible  <bruno@clisp.org>
51705
51706         * lib/classpath.h: New file, from GNU gettext.
51707         * lib/classpath.c: New file, from GNU gettext.
51708
51709 2005-01-20  Simon Josefsson  <jas@extundo.com>
51710
51711         * modules/version-etc-fsf: New file.
51712
51713 2005-01-20  Simon Josefsson  <jas@extundo.com>
51714
51715         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
51716         * lib/version-etc.c: Remove version_etc_copyright.
51717         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
51718         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
51719
51720 2005-01-20  Simon Josefsson  <jas@extundo.com>
51721
51722         * lib/base64.h (isbase64): Add.
51723
51724         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
51725         using a unsigned prototype, don't inline.
51726         (base64_decode): Use it.
51727
51728 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51729
51730         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
51731         it.
51732
51733 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51734
51735         * lib/save-cwd.c (save_cwd): Remove code to support the case
51736         where fchdir is missing or flaky.
51737
51738 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51739
51740         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
51741
51742 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
51743
51744         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
51745         AC_LIBSOURCES now does this.
51746         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
51747         with new ullong_max module.
51748
51749 2005-01-19  Bruno Haible  <bruno@clisp.org>
51750
51751         * modules/sh-quote: New file.
51752         * MODULES.html.sh (Executing programs): Add sh-quote.
51753
51754 2005-01-19  Bruno Haible  <bruno@clisp.org>
51755
51756         * lib/sh-quote.h: New file, from GNU gettext.
51757         * lib/sh-quote.c: New file, from GNU gettext.
51758
51759 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51760
51761         Merge from coreutils.
51762         * m4/ullong_max.m4: New file.
51763         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
51764         (gl_MACROS): Assume localeconv exists.
51765
51766 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51767
51768         Merge changes from coreutils, as described below in several
51769         changelogs dated today.
51770
51771         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
51772         (O_DIRECTORY): Remove; not needed here, since "." must be
51773         a directory.  All uses removed.
51774         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
51775         universal on Suns, and we also need to test for IRIX.
51776         Revamp code to use 'if' rather than '#if'.
51777         Avoid unnecessary comparison of cwd->desc to 0.
51778
51779         * lib/utimens.c (futimens): Robustify the previous patch, by checking
51780         for known valid error numbers rather than observed invalid ones.
51781
51782 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51783
51784         * modules/ullong_max: New file.
51785
51786         * modules/chdir-long, modules/openat: New files.
51787         * modules/save-cwd (Depends-on): Depend on chdir-long.
51788         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
51789
51790 2005-01-18  Jim Meyering  <jim@meyering.net>
51791
51792         Merge from coreutils.
51793         * m4/chdir-long.m4, m4/openat.m4: New files.
51794         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
51795         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
51796         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
51797         is sane and DOES follow symlinks.  Besides, testing 20 different
51798         systems found no broken chown implementations.
51799         Prompted by a change in rsync's copy of this macro.
51800         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
51801
51802         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
51803
51804         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
51805         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
51806         NULL-means-set-to-current-time semantics.
51807         Remove temporary file immediately, rather than waiting
51808         for configure's at-exit trap code to do it.
51809
51810 2005-01-18  Jim Meyering  <jim@meyering.net>
51811
51812         * lib/version-etc.c (version_etc_copyright): Update copyright date.
51813
51814         * lib/utimens.c (futimens): Account for the fact that futimes
51815         can also fail with errno == ENOSYS or errno == ENOENT.
51816         Patch from Dmitry V. Levin.
51817
51818         Change the name of the robust chdir function from chdir to chdir_long.
51819         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
51820         (restore_cwd): Use chdir_long, not chdir.
51821         * lib/chdir-long.c: Renamed from chdir.c.
51822         * lib/chdir-long.h: Renamed from chdir.h.
51823         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
51824         Hurd.
51825
51826 2005-01-18  Bruno Haible  <bruno@clisp.org>
51827
51828         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
51829         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
51830         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
51831         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
51832         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
51833         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
51834         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
51835         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
51836         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
51837         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
51838         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
51839         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
51840         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
51841         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
51842         Use an all-permissive copyright notice, recommended by RMS.
51843
51844 2005-01-18  Bob Proulx  <bob@proulx.com>
51845
51846         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
51847         simplify offsetof() macro construct to avoid compile failure with
51848         native HP-UX 11.0 ANSI C compiler.
51849
51850 2005-01-17  Bruno Haible  <bruno@clisp.org>
51851
51852         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
51853         redundant because stpncpy.m4 takes care of it.
51854
51855 2005-01-17  Bruno Haible  <bruno@clisp.org>
51856
51857         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
51858
51859 2005-01-17  Bruno Haible  <bruno@clisp.org>
51860
51861         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
51862         used.
51863
51864 2005-01-17  Bruno Haible  <bruno@clisp.org>
51865
51866         * lib/fwriteerror.h (fwriteerror): Change specification to include
51867         fclose.
51868         * lib/fwriteerror.c: Include <stdbool.h>.
51869         (fwriteerror): At the end, close the file stream. Record whether
51870         stdout was already closed.
51871
51872 2005-01-17  Bruno Haible  <bruno@clisp.org>
51873
51874         * lib/execute.c (environ): Declare if needed.
51875         * lib/pipe.c (environ): Likewise.
51876         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
51877
51878 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51879
51880         * modules/argp: Depend on vsnprintf
51881
51882 2005-01-10  Jim Meyering  <jim@meyering.net>
51883
51884         * modules/closeout (Depends-on): Add atexit.
51885
51886 2005-01-06  Bruno Haible  <bruno@clisp.org>
51887
51888         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
51889
51890 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
51891
51892         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
51893         definitions to be after all include files, to avoid collisions.
51894         Problem reported by Bob Proulx.
51895
51896 2005-01-04  Jim Meyering  <jim@meyering.net>
51897
51898         Changes imported from coreutils.
51899         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
51900         as the mkstemp template, use a temporary directory and an
51901         8.3-friendly template to avoid trouble on systems like DJGPP.
51902         Reported by Juan M. Guerrero via Stepan Kasal.
51903         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
51904         close. Remove the temporary directory right away, rather than waiting
51905         for configure's at-exit trap code to do it.
51906         Suggestion from Stepan Kasal.
51907
51908 2005-01-01  Simon Josefsson  <jas@extundo.com>
51909
51910         * gnulib-tool: Print #include directives when --import'ing.
51911
51912 2004-12-28  Simon Josefsson  <jas@extundo.com>
51913
51914         * tests/test-base64.c: Include required header files.  Remove
51915         unused variables.
51916
51917 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
51918
51919         * modules/error (Depends-on): Remove gettext.
51920
51921 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
51922
51923         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
51924         not needed.  This removes a dependency on the gettext module.
51925         [defined _LIBC]: Do not include <libintl.h>; not needed.
51926
51927 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
51928
51929         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
51930         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
51931
51932 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
51933
51934         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
51935         HAVE_DECL_STRTOLD.
51936
51937 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51938
51939         * modules/getdate (Depends-on): Remove alloca-opt.
51940
51941 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51942
51943         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
51944
51945 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51946
51947         * lib/argp-parse.c: Include <stddef.h>.
51948         (alignof, alignto): New macros.
51949         (parser_init): Don't assume that void * is aligned sufficiently
51950         for struct option.
51951
51952         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
51953         need to extend the stack.
51954         (YYINITDEPTH): New macro, so that the initial stack isn't overly
51955         large.
51956
51957 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51958
51959         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
51960
51961 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
51962
51963         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
51964         (2004-10-24) change.  Apparently this was a false alarm.
51965
51966         * modules/getdate: Depend on alloca-opt, not alloca.
51967
51968 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
51969
51970         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
51971         Remove now-obsolete comment about AIX.
51972         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
51973         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
51974         (YYMAXDEPTH): New macro.
51975
51976 2004-12-18  Simon Josefsson  <jas@extundo.com>
51977
51978         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
51979
51980 2004-12-18  Bruno Haible  <bruno@clisp.org>
51981
51982         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
51983
51984 2004-12-18  Bruno Haible  <bruno@clisp.org>
51985
51986         * lib/fatal-signal.c (fatal_signals): Make non-const.
51987         (init_fatal_signals): New function.
51988         (uninstall_handlers, install_handlers): Ignore signals that were set to
51989         SIG_IGN.
51990         (at_fatal_signal): Call init_fatal_signals.
51991         (init_fatal_signal_set): Likewise. Ignore signals that were set to
51992         SIG_IGN.
51993         Reported by Paul Eggert.
51994
51995 2004-12-18  Bruno Haible  <bruno@clisp.org>
51996
51997         * doc/alloca.texi: New file.
51998         * doc/alloca-opt.texi: New file.
51999
52000 2004-12-17  Jim Meyering  <jim@meyering.net>
52001
52002         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
52003         Otherwise, install-sh could exit with improper exit status when
52004         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
52005
52006 2004-12-16  Simon Josefsson  <jas@extundo.com>
52007
52008         * tests/test-base64.c: Add license.
52009
52010 2004-12-15  Stepan Kasal  <address@hidden>
52011
52012         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
52013
52014 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
52015
52016         * modules/getcwd (Files): Add m4/d-ino.m4.
52017         Suggested by Mark D. Baushke.
52018
52019 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
52020
52021         * lib/getdate.y (textint): New member "negative".
52022         (time_zone_hhmm): New function.
52023         Expect 14 shift-reduce conflicts, not 13.
52024         (o_colon_minutes): New rule.
52025         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
52026         (yylex): Set the "negative" member of signed numbers.
52027
52028 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
52029
52030         * doc/getdate.texi (Time of day items, Time zone items):
52031         Describe new formats +00:00, UTC+00:00.
52032
52033 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
52034
52035         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
52036         spurious "-l"s.  Problem reported by Stepan Kasal.
52037
52038 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
52039
52040         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
52041         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
52042
52043 2004-12-04  Simon Josefsson  <jas@extundo.com>
52044
52045         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
52046         Vandoorselaere <yoann@prelude-ids.org>.
52047
52048 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
52049
52050         Changes imported from coreutils.
52051         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
52052         exist.
52053         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
52054
52055 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
52056
52057         Changes imported from coreutils.
52058         * lib/hard-locale.c: Assume <locale.h> exists.
52059         Include "strdup.h".
52060         (GLIBC_VERSION): New macro.
52061         (hard_locale): Assume setlocale exists.
52062         Rewrite to avoid #ifdef.
52063         Use strdup rather than malloc + strcpy.
52064         * lib/human.c: Assume <locale.h> exists.
52065         (human_readable): Assume localeconv exists.
52066
52067 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
52068
52069         * modules/hard-locale (Depends-on): Add strdup.
52070
52071 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
52072
52073         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
52074         convert T2, not T.  (Imported from libc.)
52075
52076 2004-11-30  Simon Josefsson  <jas@extundo.com>
52077
52078         * modules/restrict (License): Change to LGPL.
52079
52080 2004-11-30  Simon Josefsson  <jas@extundo.com>
52081
52082         * m4/restrict.m4: Add copyright and copying conditions.
52083
52084 2004-11-30  Simon Josefsson  <jas@extundo.com>
52085
52086         * m4/base64.m4: New file.
52087
52088 2004-11-30  Simon Josefsson  <jas@extundo.com>
52089
52090         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
52091         base64.
52092
52093         * tests/test-base64.c: New file.
52094
52095         * modules/base64: New file.
52096
52097 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
52098
52099         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
52100         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
52101
52102         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
52103
52104 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
52105
52106         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
52107         (__getcwd.c): Don't restore errno; glibc doesn't.
52108         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
52109         first, falling back to our code only if its results look suspicious.
52110         Ensure that the resulting buffer is only as large as necessary.
52111
52112         * lib/readutmp.c: Include readutmp.h first.
52113         Include <errno.h>, since readutmp.h no longer does that.
52114         * lib/readutmp.h: Don't include <errno.h>,
52115         <sys/param.h>, <time.h>; not needed to establish interface.
52116         (errno): Remove decl.
52117         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
52118         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
52119         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
52120
52121 2004-11-28  Simon Josefsson  <jas@extundo.com>
52122
52123         * lib/base64.h, base64.c: New file.
52124
52125 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
52126
52127         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
52128
52129 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
52130
52131         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
52132         (Depends-on): Remove pathmax, same.  Add mempcpy.
52133         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
52134         (Makefile.am): Append getcwd.h to lib_SOURCES.
52135         (Include): Add getcwd.h.
52136         (Maintainer): Change from Jim Meyering to "all, glibc",
52137         since getdate now uses intended-for-glibc code.
52138         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
52139         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
52140
52141 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
52142
52143         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
52144         HP's ANSI C compiler.
52145         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
52146         Declaring int functions causes warnings on some modern systems and
52147         shouldn't be needed to compile on ancient ones.
52148         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
52149         defined.
52150
52151         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
52152         with the following changes.
52153         (__set_errno): Parenthesize properly.
52154         Include <stdbool.h>.
52155         (MIN, MAX, MATCHING_INO): New macros.
52156         (__getcwd): Define with prototype, not K&R form.
52157         Use heuristics to allocate default buffer on stack if possible.
52158         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
52159         behavior, and to avoid the PATH_MAX limit when computing
52160         ../../../../...
52161         Use MATCHING_INO to compare inode number to file.
52162         Check for arithmetic overflow in size calculations.
52163         Fix bug in reallocation of dot array that caused getcwd to fail
52164         on directories nested deeper than 75.
52165         Be more careful about saving errno on error.
52166         Do not use realloc; use only free+malloc, as this is a bit
52167         more flexible and avoids a needless copy operation.
52168         Do not inspect st_dev and st_ino for symbolic links; POSIX
52169         doesn't specify the latter.
52170         Check for closedir errors.
52171         Avoid needless casts.
52172         Use "#ifdef weak_alias" around weak_alias, to be like other
52173         glibc code.
52174         The following changes to getcwd.c have effect only when used in
52175         gnulib; they have no effect inside glibc proper.
52176         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
52177         as alloca isn't used.
52178         (alloca, __alloca): Likewise.
52179         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
52180         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
52181         unconditionally, as gnulib assumes C89 or better.
52182         Do not include <sys/param.h>.
52183         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
52184         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
52185         better.
52186         (NULL) [!defined NULL]: Remove; we assume C89 or better.
52187         Include <dirent.h> in a way that is compatible with modern Autoconf.
52188         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
52189         New macros, if not already defined.
52190         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
52191         Use "_LIBC", not "defined _LIBC", for consistency.
52192         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
52193         a mempcpy module.
52194         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
52195         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
52196         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
52197         credit only to Jim Meyering and adjust the copyright dates.
52198         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
52199         <stdlib.h>, <unistd.h>, "pathmax.h".
52200         Instead, include "xgetcwd.h" (first) and "getcwd.h".
52201         (INITIAL_BUFFER_SIZE): Remove.
52202         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
52203
52204 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
52205
52206         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
52207         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
52208         Use the _ONCE methods, for efficiency.
52209         Check for fcntl.h.  In test program, include <errno.h>
52210         and <fcntl.h> if available.  Remove old K&R cruft from
52211         test program.  Check for common errors in GNU/Linux,
52212         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
52213         don't do AC_LIBOBJ, as that's getcwd.m4's job.
52214         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
52215         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
52216         name accordingly.
52217         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
52218         accommodate new getcwd.c.
52219         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
52220         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
52221         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
52222         that's all we need now.
52223
52224 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52225
52226         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
52227         argp-parse.c depends on getopt internals, that means we should
52228         always use our getopt, to be on the safe side.
52229         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
52230         order not to spoil the result of an eventual previous invocation
52231         of gl_GETOPT_SUBSTITUTE.
52232
52233 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52234
52235         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
52236         redefinition warnings. To avoid them, include the defines
52237         in `#if !defined __need_getopt ... #endif'. The only place
52238         where __getopt_argv_const is used is in definitions
52239         of getopt_long and getopt_long_only below, which are as well
52240         protected by `#ifndef __need_getopt'.
52241         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
52242         __need_getopt after including <stdio.h> and <unistd.h> These
52243         headers might have defined it.
52244
52245 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
52246
52247         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
52248
52249 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
52250
52251         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
52252         (futimens): New function, which uses futimes if available.
52253         (futimens, utimens): Support timespec==NULL, with same semantics
52254         as utime and utimens.
52255         * lib/utimens.h (futimens): New decl.
52256
52257 2004-11-23  Jim Meyering  <jim@meyering.net>
52258
52259         * lib/getopt_.h: Remove trailing blanks.
52260
52261 2004-11-23  Jim Meyering  <jim@meyering.net>
52262
52263         * lib/__fpending.c: Add comment.
52264
52265 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
52266
52267         * modules/canonicalize (Depends-on): Add xreadlink.
52268         Problem reported by James Youngman.
52269
52270 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
52271
52272         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
52273         New macros.
52274         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
52275         optopt): Use them instead of invoking ## directly; otherwise, the
52276         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
52277
52278 2004-11-19  Bruno Haible  <bruno@clisp.org>
52279
52280         * lib/strtok_r.c: Move comments from here...
52281         * lib/strtok_r.h: ... to here.
52282
52283 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
52284
52285         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
52286         implementations that mishandle size_t overflow.
52287
52288 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
52289
52290         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
52291         might fail.  Problem reported by Yoann Vandoorselaere.
52292         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
52293         implementations that mishandle size_t overflow.
52294
52295 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52296
52297         * modules/canon-host (Depends-on): Add strdup.
52298
52299 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52300
52301         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
52302
52303 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52304
52305         * lib/canon-host.c: Include "strdup.h".
52306         (canon_host): Use getaddrinfo if available, so that IPv6 works.
52307         Use strdup instead of malloc/strcpy to duplicate strings.
52308
52309         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
52310         (human_space_before_unit): New constant.
52311         * lib/human.c (human_readable): Support it.
52312
52313         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
52314         (xgetcwd): Set errno correctly when failing.
52315         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
52316         the failure is actually due to a PATH_MAX problem.
52317
52318         Further getopt changes to make it more likely that glibc will
52319         buy the changes back.
52320         * lib/getopt.c (POSIXLY_CORRECT): New constant.
52321         (getopt): Use it, so to preserve glibc semantic
52322         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
52323         when compiling for libc.
52324         * lib/getopt_.h (__getopt_argv_const): Bring it back.
52325         (getopt_long, getopt_long_only): Use it.
52326
52327         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
52328         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
52329         (getopt): Argv is now char * const *, as per standard.
52330         (_getopt_internal_r, _getopt_internal): Argv is now char **,
52331         not char *__getopt_argv_const *.
52332         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
52333         _getopt_long_only_r): Likewise.
52334         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
52335         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
52336         _getopt_long_r, _getopt_long_only_r): Likewise.
52337         * lib/getopt_.h (__getopt_argv_const): Remove.
52338         (getopt): Argv is now char * const *, as per standard.
52339
52340         * lib/getdate.y (tORDINAL): New token.
52341         (day, relunit): Allow it for relative times.
52342         (relative_time_table): Use tORDINAL for ordinals.
52343
52344 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52345
52346         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
52347         Document that "second" isn't allowed as an ordinal number.
52348
52349 2004-11-16  Jim Meyering  <jim@meyering.net>
52350
52351         * modules/closeout (Depends-on): Add fpending.
52352
52353 2004-11-15  Jim Meyering  <jim@meyering.net>
52354
52355         * lib/closeout.c: Include "__fpending.h" once again.
52356         Include <stdbool.h>.
52357         (close_stdout): Don't fail just because stdout was closed initially,
52358         since some programs don't write to stdout in the normal course of
52359         operation (other than --version and --help), and we don't want this
52360         function to make e.g. `touch file >&-' fail.
52361         But do fail if it was closed and someone has tried to write to it.
52362         E.g., `printf foo >&-' must fail.
52363
52364 2004-11-13  Jim Meyering  <jim@meyering.net>
52365
52366         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
52367
52368 2004-11-12  Simon Josefsson  <jas@extundo.com>
52369
52370         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
52371         small doc fix is still pending.
52372
52373 2004-11-11  Simon Josefsson  <jas@extundo.com>
52374
52375         * modules/strtok_r: New file.
52376
52377         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52378         strtok_r.
52379
52380 2004-11-11  Simon Josefsson  <jas@extundo.com>
52381
52382         * m4/strtok_r.m4: New file.
52383
52384         * m4/getopt.m4: Replace opterr.
52385
52386 2004-11-11  Simon Josefsson  <jas@extundo.com>
52387
52388         * lib/strtok_r.h, strtok_r.c: New file.
52389
52390 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
52391
52392         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
52393         of replacing opterr, getopt, etc.  This should handle the
52394         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
52395
52396 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
52397
52398         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
52399         we can stop lying to compilers about the constness of argv when we
52400         are compiled outside glibc.
52401         (getopt, getopt_long, getopt_long_only): Use it.
52402         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
52403         _getopt_internal, getopt): Likewise.
52404         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
52405         _getopt_long_only_r): Likewise.
52406         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
52407         _getopt_long_r, _getopt_long_only_r): Likewise.
52408
52409         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
52410         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
52411         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
52412         the other external symbols.
52413         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
52414         declaration, since the above renaming now works around collisions.
52415
52416 2004-11-11  Jim Meyering  <jim@meyering.net>
52417
52418         * lib/linebreak.c: Remove trailing blanks.
52419         * lib/alloca_.h: Likewise.
52420         * lib/acosl.c: Likewise.
52421         * lib/euidaccess.c: Likewise.
52422         * lib/allocsa.h: Likewise.
52423
52424 2004-11-10  Simon Josefsson  <jas@extundo.com>
52425
52426         * m4/getaddrinfo.m4: New file.
52427
52428 2004-11-10  Simon Josefsson  <jas@extundo.com>
52429
52430         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
52431
52432 2004-11-10  Simon Josefsson  <jas@extundo.com>
52433
52434         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52435         getaddrinfo.
52436
52437         * modules/getaddrinfo: New file.
52438
52439 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52440
52441         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
52442
52443 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52444
52445         * lib/mktime.c (SHR): New macro, which is a portable
52446         substitute for >> that should work even on Crays.
52447         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
52448         Problem reported by Mark D. Baushke in
52449         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
52450         * lib/getdate.y (SHR): Likewise.
52451         (tm_diff): Use it.
52452         * lib/strftime.c (SHR): Likewise.
52453         (tm_diff): Use it.
52454         * lib/quotearg.c (struct quoting_options): Use unsigned int for
52455         quote_these_too, so that right shifts are well defined.  All uses
52456         changed.
52457
52458 2004-11-10  Jim Meyering  <jim@meyering.net>
52459
52460         Ensure that no close failure goes unreported.
52461         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
52462         return early when it seems there's nothing to flush.
52463         Don't include __fpending.h.
52464
52465 2004-11-10  Jim Meyering  <jim@meyering.net>
52466
52467         * modules/closeout (Depends-on): Remove fpending.
52468
52469 2004-11-10  Jim Meyering  <jim@meyering.net>
52470
52471         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
52472
52473 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
52474
52475         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
52476         gl_FUNC_STRFTIME.
52477         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
52478         and AC_REQUIRE when possible, to avoid duplicate checks.
52479         Check for <wchar.h>.
52480
52481 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
52482
52483         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
52484
52485 2004-11-09  Bruno Haible  <bruno@clisp.org>
52486
52487         * m4/sockpfaf.m4: New file.
52488
52489 2004-11-05  Bruno Haible  <bruno@clisp.org>
52490
52491         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
52492         Reported by Mark D. Baushke <mdb@cvshome.org>.
52493
52494 2004-11-04  Bruno Haible  <bruno@clisp.org>
52495
52496         2004-09-11  Bruno Haible  <bruno@clisp.org>
52497                 * allocsa.valgrind: New file.
52498         2004-02-06  Bruno Haible  <bruno@clisp.org>
52499                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
52500                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
52501                 Reported by Christopher Seip <chris.seip@hp.com>.
52502
52503 2004-11-04  Bruno Haible  <bruno@clisp.org>
52504
52505         * modules/allocsa (Files): Add lib/allocsa.valgrind.
52506         (Makefile.am): Distribute it.
52507
52508 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
52509
52510         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
52511         with errno == ERANGE if the buffer is too small.
52512         Problem reported by Mark D. Baushke.
52513
52514 2004-11-03  Albert Chin  <china@thewrittenword.com>
52515             Paul Eggert  <eggert@cs.ucla.edu>
52516
52517         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
52518         equivalent, substitute $ac_type for equivalent type rather than
52519         blindly using uint32_t *always* which won't work if uint32_t is not
52520         available.  Define _UINT32_T to work around typedef of uint32_t if
52521         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
52522         2.5.1.
52523
52524 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
52525
52526         * m4/jm-macros.m4: Sync from coreutils.
52527         (gl_MACROS): Check for mbrlen, for pathchk.
52528         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
52529
52530 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
52531
52532         * lib/xreadlink.c (MAXSIZE): New macro.
52533         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
52534         size does not exceed MAXSIZE.  Avoid cast.
52535         As suggested by Mark D. Baushke in
52536         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
52537         if readlink fails with buffer size just under MAXSIZE, try again
52538         with MAXSIZE.
52539
52540 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
52541
52542         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
52543
52544 2004-11-02  Derek R. Price  <derek@ximbiot.com>
52545         and  Paul Eggert  <eggert@cs.ucla.edu>
52546
52547         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
52548         (get_date): Overparenthesize to avoid GCC warning.
52549
52550 2004-11-02  Bruno Haible  <bruno@clisp.org>
52551
52552         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
52553         returns void.
52554
52555 2004-11-02  Bruno Haible  <bruno@clisp.org>
52556
52557         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
52558         function returns void.
52559
52560 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
52561
52562         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
52563         fflush_unlocked, flockfile, funlockfile, funlockfile,
52564         fputs_unlocked, putc_unlocked.
52565
52566 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
52567
52568         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
52569         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
52570         already declared.
52571
52572 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52573
52574         * modules/getdate (Files): Add doc/getdate.texi.
52575         (Depends-on): Add setenv, xalloc.
52576
52577 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52578
52579         * lib/getdate.y: Add support for TZ="foo" within a date string.
52580         Fix some bugs near time_t boundaries.  Reject dates with
52581         out-of-range components, e.g., "Sept 31".
52582         Include <stdlib.h>, "setenv.h", "xalloc.h".
52583         (ISDIGIT_LOCALE): Remove; unused.
52584         Note that the TZ and time functions used here are not reentrant.
52585         (mktime_ok, get_tz): New functions.
52586         (TZBUFSIZE): New constant.
52587         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
52588         This requires that we sometimes generate our own TZ="XXX..." setting.
52589
52590 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52591
52592         * doc/getdate.texi: New file, from coreutils with modifications for
52593         the new TZ parsing.
52594
52595 2004-10-27  Derek R. Price  <derek@ximbiot.com>
52596
52597         * lib/mktime.c (not_equal_tm): Remove redundant check.
52598
52599 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52600
52601         * modules/regex (lib_SOURCES): Add regex.c.
52602         Reported by James Youngman in
52603         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
52604
52605 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52606
52607         * lib/getdate.y: Use Bison 1.875 features, and some minor
52608         code cleanups.  This change does not affect semantics.
52609         Don't include <stdlib.h>; no longer needed.
52610         Don't include unlocked-io.h; only the "#if TEST" code uses
52611         stdio, and performance isn't crucial there.
52612         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
52613         Bison 1.875 features as described below.
52614         All uses of "PC." replaced by "pc->".
52615         (YYSTYPE): Add a forward declaration.
52616         (yylex, yyerror): Use full prototypes in forward decls.
52617         Use "%pure-parser" rather than obsolescent "%pure_parser".
52618         Use %parse-param and %lex-param instead of obsolescent
52619         YYPARSE_PARAM and YYLEX_PARAM.
52620         (meridian_table, month_and_day_table, time_units_table,
52621         relative_time_table, time_zone_table, military_table,
52622         lookup_zone, lookup_word, get_date):
52623         Use NULL instead of 0 where appropriate.
52624         (to_hour): Avoid abort (), to avoid a dependency on
52625         stdlib.h.
52626         (yyerror, yylex): Now accepts parser_control * arg.
52627         (main) [TEST]: Use '\0' rather than 0 for char.
52628
52629 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
52630
52631         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
52632
52633 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
52634
52635         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
52636         It's now the caller's responsibility to handle the case where
52637         !HAVE_GETPAGESIZE && !defined getpagesize.
52638
52639         * lib/mktime.c (leapyear): Arg is long int, not int.
52640
52641 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
52642
52643         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
52644
52645 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
52646
52647         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
52648         missing.  Problem reported by James Youngman.
52649
52650 2004-10-16  Simon Josefsson  <jas@extundo.com>
52651
52652         * gnulib-tool: Fix comments.  Fix parse problem.
52653         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
52654
52655 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
52656
52657         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
52658         implementation of getopt_long.  Problem reported by Alexander Taler in:
52659         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
52660
52661 2004-10-15  Bruno Haible  <bruno@clisp.org>
52662
52663         * gnulib-tool: Untabify. Initialize supplied_libname.
52664         (func_usage): More homogenous output.
52665         (func_modules_transitive_closure, func_modules_to_filelist,
52666         func_emit_lib_Makefile_am): New functions.
52667         (func_import): New function, extracted from big case statement. Use
52668         func_get_license, func_modules_transitive_closure,
52669         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
52670         opt_lgpl. Don't use test -a, as it's not portable.
52671         (func_create_testdir): Use func_modules_transitive_closure,
52672         func_modules_to_filelist, func_emit_lib_Makefile_am.
52673
52674 2004-10-15  Bruno Haible  <bruno@clisp.org>
52675
52676         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
52677
52678 2004-10-15  Bruno Haible  <bruno@clisp.org>
52679
52680         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
52681         the portions belonging to each module.
52682         Suggested by Derek Robert Price <derek@ximbiot.com>.
52683
52684 2004-10-12  Simon Josefsson  <jas@extundo.com>
52685
52686         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
52687         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
52688         to real functions.
52689
52690 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52691
52692         * modules/vsnprintf: New file.
52693
52694 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52695
52696         * m4/vsnprintf.m4: New file.
52697
52698 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52699
52700         * lib/vsnprintf.h: New file.
52701         * lib/vsnprintf.c: New file.
52702
52703 2004-10-11  Bruno Haible  <bruno@clisp.org>
52704
52705         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
52706         vsnprintf.
52707
52708 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
52709
52710         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
52711
52712 2004-10-07  Bruno Haible  <bruno@clisp.org>
52713
52714         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
52715         fits into the provided buffer.
52716
52717 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
52718
52719         * lib/diacrit.c, diacrit.h: Add GPL notice.
52720
52721         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
52722         notice.
52723         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
52724         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
52725         This avoids a potential constant-folding bug.
52726
52727 2004-10-05  Bruno Haible  <bruno@clisp.org>
52728
52729         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
52730         for the declaration of strsep.
52731
52732 2004-10-05  Bruno Haible  <bruno@clisp.org>
52733
52734         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
52735
52736 2004-10-04  Simon Josefsson  <jas@extundo.com>
52737
52738         * modules/memmem: New file.
52739         * tests/test-memmem.c: New file.
52740         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
52741
52742 2004-10-04  Simon Josefsson  <jas@extundo.com>
52743
52744         * m4/memmem.m4: New file.
52745
52746 2004-10-04  Simon Josefsson  <jas@extundo.com>
52747
52748         * lib/memmem.h: New file.
52749         * lib/memmem.c: New file, taken from glibc.
52750
52751 2004-10-04  Simon Josefsson  <jas@extundo.com>
52752
52753         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
52754         '#ifdef USE_UNLOCKED_IO'.
52755
52756 2004-10-04  Simon Josefsson  <jas@extundo.com>
52757
52758         * config/srclist.txt: Add memmem from glibc.
52759
52760 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52761
52762         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
52763
52764         * modules/argmatch, modules/argp, modules/closeout, modules/error,
52765         modules/exclude, modules/getdate, modules/getline,
52766         modules/getndelim2, modules/getpass, modules/getpass-gnu,
52767         modules/getusershell, modules/linebuffer, modules/md5,
52768         modules/mountlist, modules/posixtm, modules/readtokens,
52769         modules/readutmp, modules/regex, modules/sha1,
52770         modules/version-etc, modules/yesno:
52771         Remove dependency on unlocked-io.
52772
52773 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52774
52775         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
52776
52777         * m4/unlocked-io.m4: Add copyright notice.
52778         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
52779
52780 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52781
52782         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
52783         * lib/xmalloc.c (xmemdup): Likewise.
52784         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
52785         XFREE): Remove these long-obsolescent macros.
52786         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
52787         * lib/xstrdup.c: Remove.
52788
52789         * lib/regex.c (re_comp): Cast gettext return value to char *,
52790         Problem reported by Martin Neitzel via Mark D. Baushke.
52791
52792 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52793
52794         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
52795         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
52796         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
52797         regex.c, sha1.c, version-etc.c, yesno.c:
52798         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
52799         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
52800         the includer's responsibility.
52801
52802         Sync from coreutils.
52803
52804         * lib/modechange.c (mode_compile): Don't decrement a pointer that
52805         points to the start of a string, as the C Standard says the
52806         resulting behavior is undefined.
52807
52808         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
52809         simple -> simple_backups, numbered_existing ->
52810         numbered_existing_backups, numbered -> numbered_backups
52811         to avoid shadowing problems.  All uses changed.
52812         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
52813         * lib/backupfile.c (check_extension, numbered_backup):
52814         Rename locals to avoid shadowing 'basename'.
52815         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
52816         once.
52817
52818         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
52819         * lib/.cvsignore: Add getopt.h.
52820
52821 2004-10-04  Bruno Haible  <bruno@clisp.org>
52822
52823         * modules/README: New file.
52824         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
52825         not a module.
52826
52827 2004-10-02  Jim Meyering  <jim@meyering.net>
52828
52829         * lib/dirfd.h, getpagesize.h: Add copyright notice.
52830
52831 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52832
52833         * modules/strsep: New file.
52834
52835 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52836
52837         * m4/strsep.m4: New file.
52838
52839 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52840
52841         * lib/strsep.h: New file.
52842         * lib/strsep.c: New file.
52843
52844 2004-10-01  Simon Josefsson  <jas@extundo.com>
52845
52846         * lib/snprintf.c (snprintf): Handle size==0.
52847
52848 2004-10-01  Simon Josefsson  <jas@extundo.com>
52849             Bruno Haible  <bruno@clisp.org>
52850
52851         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
52852         (snprintf): Declare 'args'.
52853
52854 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
52855
52856         * lib/snprintf.c: Remove comments as to why each header is needed.
52857
52858 2004-10-01  Bruno Haible  <bruno@clisp.org>
52859
52860         * MODULES.html.sh: Add strsep.
52861
52862 2004-09-30  Simon Josefsson  <jas@extundo.com>
52863
52864         * modules/snprintf: New file.
52865
52866 2004-09-30  Simon Josefsson  <jas@extundo.com>
52867
52868         * m4/snprintf.m4: New file.
52869
52870 2004-09-30  Simon Josefsson  <jas@extundo.com>
52871
52872         * lib/snprintf.h, lib/snprintf.c: New files.
52873
52874 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52875
52876         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
52877         (hol_entry_help): Never translate an empty string.
52878         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
52879         * lib/argp.h (OPTION_NO_TRANS): New option.
52880
52881 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52882
52883         * modules/argp (Maintainer): Replace Simon Josefsson
52884         by Sergey Poznyakoff.
52885
52886 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52887
52888         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
52889         changes merged back into glibc.
52890
52891 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52892
52893         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
52894
52895 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
52896
52897         * lib/xvasprintf.c: Include xalloc.h.
52898         (xvasprintf): Use xalloc_die, not xmalloc_die.
52899
52900 2004-09-29  Bruno Haible  <bruno@clisp.org>
52901
52902         * modules/alloca-opt: New file, derived from modules/alloca.
52903         * modules/allocsa: Depend on alloca-opt instead of alloca.
52904         * modules/setenv: Likewise.
52905         * modules/vasnprintf: Likewise.
52906         * MODULES.html.sh: Add alloca-opt.
52907
52908 2004-09-28  Simon Josefsson  <jas@extundo.com>
52909
52910         * gnulib-tool: New parameter --lgpl, to asseert that modules are
52911         LGPL, and to replace license template from GPL to LGPL.
52912
52913 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
52914
52915         * modules/dummy: Change license to LGPL.
52916
52917 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
52918
52919         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
52920
52921 2004-09-24  Simon Josefsson  <jas@extundo.com>
52922
52923         * modules/minmax (License): Change from GPL to LGPL.
52924
52925 2004-09-23  Simon Josefsson  <jas@extundo.com>
52926
52927         * gnulib-tool (--import): Typo.
52928
52929 2004-09-23  Simon Josefsson  <jas@extundo.com>
52930
52931         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
52932
52933 2004-09-22  Bruno Haible  <bruno@clisp.org>
52934
52935         * modules/*: Add 'License' field.
52936         * gnulib-tool: Accept --extract-license option.
52937         (func_get_license): New function.
52938
52939 2004-09-21  Bruno Haible  <bruno@clisp.org>
52940
52941         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
52942         Reported by Simon Josefsson.
52943
52944 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
52945
52946         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
52947         gl_AC_TYPE_LONG_LONG.
52948
52949 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
52950
52951         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
52952
52953 2004-09-18  Simon Josefsson  <jas@extundo.com>
52954         and  Paul Eggert  <eggert@cs.ucla.edu>
52955
52956         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
52957         calls with autoreconf.  Define GL_LIB.
52958
52959 2004-09-14  Karl Berry  <karl@gnu.org>
52960
52961         * config/srclist.txt: unsync setenv.c, sigh.
52962
52963 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
52964
52965         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
52966         Problem reported by Bruno Haible in:
52967         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
52968
52969 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
52970
52971         * config/srclist.txt: Comment out argp-pvh.c.
52972
52973 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
52974
52975         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
52976         in case some system header has #define'd it.  Problem reported by
52977         Soeren D. Schulze in
52978         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
52979
52980 2004-09-09  Karl Berry  <karl@gnu.org>
52981
52982         * regex.[ch]: delete from the root.  These were supposed to be
52983                 synced with emacs cvs, but this has not happened for about
52984                 a year, and anyway nothing else uses emacs regex.[ch].
52985                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
52986                 lib/regex[.ch] is untouched.
52987
52988 2004-09-09  Bruno Haible  <bruno@clisp.org>
52989
52990         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
52991
52992 2004-09-09  Bruno Haible  <bruno@clisp.org>
52993
52994         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
52995         modifications.
52996         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
52997
52998 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
52999
53000         * modules/xvasprintf: New file.
53001         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
53002
53003 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
53004
53005         * lib/xvasprintf.h: New file.
53006         * lib/xvasprintf.c: New file.
53007         * lib/xasprintf.c: New file.
53008
53009 2004-09-08  Bruno Haible  <bruno@clisp.org>
53010
53011         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
53012
53013 2004-09-08  Bruno Haible  <bruno@clisp.org>
53014
53015         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
53016         length is > INT_MAX.
53017         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
53018         more.
53019
53020 2004-09-08  Bruno Haible  <bruno@clisp.org>
53021
53022         * lib/stdint_.h: New file, taken from GNU clisp.
53023
53024 2004-09-08  Bruno Haible  <bruno@clisp.org>
53025             Oskar Liljeblad  <oskar@osk.mine.nu>
53026
53027         * modules/stdint: New file.
53028         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
53029
53030 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
53031
53032         Import from coreutils.
53033         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
53034         strings on unbounded length.  alloca's performance benefits aren't
53035         that important here.
53036         (V_STRDUP): Remove.
53037         (parse_with_separator): New function, with most of the internals
53038         of the old parse_user_spec.  Allow user to omit both user and group,
53039         for compatibility with FreeBSD.
53040         Clone only the user name, not the entire spec.
53041         Do not set *uid, *gid unless entirely successful.
53042         Avoid memory leak in some failing cases.
53043         Fix regression for USER.GROUP reported by Dmitry V. Levin in
53044         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
53045         (parse_user_spec): Rewrite to use parse_with_separator.
53046
53047 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
53048
53049         * modules/userspec: Don't depend on alloca.
53050
53051 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
53052
53053         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
53054
53055 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
53056
53057         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
53058         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
53059         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
53060
53061 2004-08-16  Simon Josefsson  <jas@extundo.com>
53062
53063         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
53064         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
53065         Add --dry-run for --import.
53066         Let user provided command line parameters override configure.ac
53067         settings.
53068
53069 2004-08-12  Simon Josefsson  <jas@extundo.com>
53070
53071         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
53072         as discussed with Paul Eggert in threads rooted at
53073         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
53074         and
53075         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
53076         Before, the test was empty, and relied on ELIDE_CODE in source
53077         code.)
53078         (gl_PREREQ_GETOPT): New macro.
53079         (gl_GETOPT): Use them.
53080
53081 2004-08-12  Simon Josefsson  <jas@extundo.com>
53082
53083         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
53084         * lib/getopt_.h: Renamed from getopt.h.
53085
53086 2004-08-12  Simon Josefsson  <jas@extundo.com>
53087
53088         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
53089         Change default library name from libfoo to libgnu.
53090         Now, if you have a configure.ac that says:
53091                 gl_SOURCE_BASE(gl)
53092                 gl_M4_BASE(gl/m4)
53093                 gl_MODULES(error getopt etcetera)
53094                 gl_INIT
53095         you can import all you need by running:
53096                 ../gnulib/gnulib-tool --import
53097
53098         * modules/getopt (Files): Rename getopt.h to getopt_.h.
53099         (Makefile.am): Rewrite, use logic from argz.
53100         (Include): Use <getopt.h> instead of "getopt.h".
53101
53102 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
53103
53104         * modules/argp (Files): Add m4/unlocked-io.m4.
53105         (Depends-on): Add extensions.
53106
53107 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
53108
53109         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
53110         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
53111         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
53112         Check for program_invocation_name, program_invocation_short_name,
53113         flockfile, funlockfile, features.h, _getopt_long_only_r.
53114
53115 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
53116
53117         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
53118         its complicated substitute.
53119         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
53120         and program_invocation_name.
53121         (__argp_basename) [!_LIBC]: Remove; the only use was
53122         replaced by its body.
53123         (__argp_short_program_name): Change condition from
53124         !defined __argp_short_program_name to
53125         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
53126         to match argp-namefrob.h.
53127         (__argp_failure): Don't assume strerror_r returns char *.
53128         * lib/argp-parse.c (N_): Define unconditionally.
53129         (argp_default_options): Fill out initializers with 0 to avoid
53130         gcc warnings.
53131
53132 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
53133
53134         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
53135         getopt1.c.
53136
53137 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
53138
53139         Merge from coreutils.
53140
53141         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
53142
53143         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
53144         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
53145
53146 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
53147
53148         Merge from coreutils.
53149
53150         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
53151         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
53152         for Reliant Unix 5.43.
53153
53154         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
53155         (union fooround): Use uintmax_t, not long int.
53156         The rest is a merge from libc:
53157         [defined _LIBC]: Include <shlib-compat.h>.
53158         (_obstack) [defined _LIBC]: Remove after 2.3.4.
53159
53160         * lib/settime.c (settime): Recode to avoid warning with
53161         Sun Forte C 6U2.
53162
53163         * lib/strverscmp.c: Convert to UTF-8.
53164
53165 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
53166
53167         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
53168         m4/uintmax_t.m4.
53169
53170 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
53171
53172         * modules/xalloc-die: New file.
53173         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
53174
53175         * modules/md5 (Files): Add m4/uint32_t.m4.
53176         * modules/sha1: Renamed from modules/sha.
53177         (Files):
53178         Rename lib/sha.h to lib/sha1.h.
53179         Rename lib/sha.c to lib/sha1.c.
53180         Rename m4/sha.m4 to m4/sha1.m4.
53181         (lib_SOURCES): Likewise.
53182         (configure.ac): Rename gl_SHA to gl_SHA1.
53183         (Include): sha.h -> sha1.h.
53184
53185 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
53186
53187         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
53188         * m4/sha1.m4: Renamed from sha.m4.
53189         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
53190
53191 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
53192
53193         * lib/obstack.h (obstack_empty_p):
53194         Don't assume that chunk->contents is suitably aligned.
53195         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
53196         Likewise. Problem reported by Benno in
53197         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
53198
53199         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
53200         readable.  This could be improved further but it'd take some work.
53201
53202 2004-08-08  Simon Josefsson  <jas@extundo.com>
53203
53204         * modules/xgethostname (Depends-on): Remove exit and error (not
53205         used).
53206
53207         * modules/getpass-gnu: Add getpass.h.
53208         (Depends-on): Add stdbool.
53209         * modules/getpass: Add getpass.h.
53210
53211 2004-08-08  Simon Josefsson  <jas@extundo.com>
53212
53213         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
53214         Check getpass declaration.
53215
53216 2004-08-08  Simon Josefsson  <jas@extundo.com>
53217
53218         * lib/xgethostname.c: Don't include error.h (not used).
53219
53220         * lib/getpass.h: Add.
53221         * lib/getpass.c: Include getpass.h first.
53222
53223 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
53224
53225         * lib/xalloc-die.c: New file.
53226         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
53227         All uses removed.
53228         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
53229         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
53230         xalloc-die.c.
53231         (_, N_, xalloc_die): Move to xalloc-die.c.
53232         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
53233         so that we needn't mess with xalloc_msg_memory_exhausted.
53234
53235         * lib/sha1.h: Renamed from sha.h.
53236         (SHA1_H): Renamed from _SHA_H.
53237         (sha1_ctx): Renamed from sha_ctx.
53238         (sha1_init_ctx): Renamed from sha_init_ctx.
53239         (sha1_process_block): Renamed from sha_process_block.
53240         (sha1_process_bytes): Renamed from sha_process_bytes.
53241         (sha1_finish_ctx): Renamed from sha_finish_ctx.
53242         (sha1_read_ctx): Renamed from sha_read_ctx.
53243         (sha1_stream): Renamed from sha_stream.
53244         (sha1_buffer): Renamed from sha_buffer.
53245         * lib/sha1.c: Likewise; renamed from sha.c.
53246         Do not include <sys/types.h>.
53247         Include <stddef.h> rather than <stdlib.h>.
53248
53249 2004-08-08  Bruno Haible  <bruno@clisp.org>
53250
53251         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
53252         FILESYSTEM_PREFIX_LEN.
53253         * lib/progreloc.c: Likewise.
53254         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
53255
53256 2004-08-06  Simon Josefsson  <jas@extundo.com>
53257
53258         * modules/progname (Depends-on): Don't depend on stdbool.
53259
53260 2004-08-06  Simon Josefsson  <jas@extundo.com>
53261
53262         * modules/getsubopt: New file.
53263         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53264         getsubopt.
53265
53266 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
53267
53268         More merge from coreutils.
53269
53270         * m4/utimens.m4, m4/utimecmp.m4: New files.
53271         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
53272         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
53273         prereq.m4, sha.m4: Import changes from coreutils.
53274
53275 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
53276
53277         More merge from coreutils.
53278         * modules/raise, modules/readtokens0, modules/utimens:
53279         * modules/utimecmp, module/xnanosleep: New files.
53280         * modules/strftime: Add lib/strftime.h.
53281         Change include from <time.h> to "strftime.h".
53282         * modules/yesno: Add lib/yesno.h.
53283         * modules/backupfile: Remove lib/addext.c.
53284         * modules/euidaccess: Add stat-macros.h.
53285         * modules/canonicalize, modules/euidaccess,
53286         modules/filemode, modules/lchown, modules/makepath,
53287         modules/rmdir, modules/stat: Likewise.
53288
53289 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
53290
53291         Merge from tar.
53292         * lib/argp-help.c (make_hol, hol_append): Don't assume that
53293         SIZE_MAX is a valid preprocessor constant.
53294         (__argp_basename): Change from "#ifndef _LIBC"
53295         to "#ifndef __argp_short_program_name", so that
53296         we don't compile these functions for tar.
53297
53298         More merges from coreutils.
53299         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
53300         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
53301         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
53302         * lib/addext.c: Remove; no longer needed.
53303         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
53304         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
53305         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
53306         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
53307         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
53308         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
53309         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
53310         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
53311         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
53312         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
53313         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
53314         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
53315         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
53316         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
53317         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
53318         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
53319         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
53320         Import changes from coreutils.
53321
53322 2004-08-05  Simon Josefsson  <jas@extundo.com>
53323
53324         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
53325
53326 2004-08-05  Simon Josefsson  <jas@extundo.com>
53327
53328         * m4/getsubopt.m4: New file.
53329
53330 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
53331
53332         Merge from coreutils.
53333
53334         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
53335         * m4/getcwd-path-max.m4: New files.
53336
53337         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
53338         FILESYSTEM_PREFIX_LEN ->
53339         FILE_SYSTEM_PREFIX_LEN.
53340         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
53341         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
53342         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
53343         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
53344
53345         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
53346         prerequisite modules now handle the DOS stuff.
53347         Don't check for unistd.h.
53348
53349 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
53350
53351         Merge from coreutils.
53352
53353         * lib/.gdb-history: Remove; this doesn't belong here.
53354
53355         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
53356         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
53357         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
53358         * lib/getcwd.c: New files.
53359
53360         * lib/dirname.h: Include <stdbool.h>.
53361         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
53362         for consistency with POSIX terminology.  All uses changed.
53363         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
53364         (strip_trailing_slashes): Use bool for booleans.
53365         * lib/stripslash.c (strip_trailing_slashes): Likewise.
53366
53367         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
53368         sometimes returns a positive errno value even when it succeeds.
53369         (print_errno_message) [!LIBC]: Fall back on strerror if
53370         __strerror_r fails.
53371
53372         * lib/path-concat.c (mempcpy): Don't define if a system header defines
53373         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
53374         (longest_relative_suffix): New function.
53375         (path_concat): Use it.  Assume first argument is not NULL.
53376         Port to DOS.  Omit redundant separators.
53377         Report an error instead of returning NULL.
53378         Use mempcpy instead of memcpy.
53379         (xpath_concat): Remove: not declared or used.
53380
53381         * lib/same.h: Include <stdbool.h>
53382         (same_name): Return bool, not int.
53383         * lib/same.c (same_name): Likewise.
53384         (errno): Don't declare; we assume C89 or better now.
53385
53386         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
53387         if not already defined.
53388
53389         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
53390         * lib/dup-safer.c (errno): Likewise.
53391
53392 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
53393
53394         Merge from coreutils.
53395         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
53396         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
53397         * modules/path-concat: Don't depend on strdup.
53398
53399 2004-08-03  Simon Josefsson  <jas@extundo.com>
53400
53401         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
53402         * lib/progname.h: Don't include stdbool.h.
53403
53404 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
53405
53406         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
53407         * MODULES.html.sh (func_all_modules): Remove fatal.
53408
53409 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
53410
53411         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
53412
53413 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
53414
53415         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
53416         working.
53417
53418 2004-08-02  Simon Josefsson  <jas@extundo.com>
53419
53420         * lib/getsubopt.h: New file, with comments from Bruno Haible.
53421         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
53422         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
53423
53424 2004-08-01  Simon Josefsson  <jas@extundo.com>
53425
53426         * lib/xgetdomainname.c: Include stdlib.h, for free().
53427
53428 2004-07-19  Bruno Haible  <bruno@clisp.org>
53429
53430         * MODULES.html.sh (func_all_modules): Add dummy.
53431
53432 2004-07-16  Simon Josefsson  <jas@extundo.com>
53433
53434         * modules/dummy: New file.
53435
53436 2004-07-16  Simon Josefsson  <jas@extundo.com>
53437
53438         * lib/dummy.c: New file.
53439
53440 2004-07-16  Bruno Haible  <bruno@clisp.org>
53441
53442         * lib/backupfile.h: Add extern "C" for C++.
53443         * lib/closeout.h: Likewise.
53444         * lib/copy-file.h: Likewise.
53445         * lib/findprog.h: Likewise.
53446         * lib/full-write.h: Likewise.
53447         * lib/pathname.h: Likewise.
53448         * lib/progname.h: Likewise.
53449         * lib/stpcpy.h: Likewise.
53450         * lib/stpncpy.h: Likewise.
53451         * lib/strcase.h: Likewise.
53452         * lib/strstr.h: Likewise.
53453         * lib/xalloc.h: Likewise.
53454
53455         * lib/mbswidth.h: Add extern "C" for C++.
53456         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
53457
53458 2004-07-13  Robert Millan  <robertmh@gnu.org>
53459
53460         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
53461
53462 2004-07-09  Simon Josefsson  <jas@extundo.com>
53463
53464         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
53465         failed without this.)
53466
53467 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
53468
53469         * modules/chown (Files): Add lib/fchown-stub.c, since
53470         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
53471
53472 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
53473
53474         * lib/fchown-stub.c: New file.
53475
53476 2004-06-24  Jim Meyering  <jim@meyering.net>
53477
53478         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
53479
53480 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53481
53482         * modules/argz: Omit "#include".
53483
53484         * MODULES.html.sh (func_all_modules): Add calloc, to match
53485         2004-06-01 addition of calloc module.
53486
53487 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53488
53489         * m4/argz.m4: New file, which is autoupdated from libtool.
53490
53491 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53492
53493         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
53494         libtool.
53495
53496 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53497
53498         * config/srclist-update: Don't insist on "USA." before the
53499         close-comment, as libtool omits the period and puts the */ on a
53500         separate line.
53501         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
53502         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
53503
53504 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
53505
53506         * modules/argz: New file.
53507         * MODULES.html.sh (func_all_modules): Add argz.
53508
53509 2004-06-12  Jim Meyering  <jim@meyering.net>
53510         and  Paul Eggert  <eggert@cs.ucla.edu>
53511
53512         * modules/hash (Files): Add lib/xalloc.h.
53513         * modules/pipe (Depends-on): Add wait-process.
53514         * modules/stat (Depends-on): Add xalloc.
53515         * modules/userspec (Files): Add lib/userspec.h.
53516         * modules/xstrto
53517
53518         Upgrade from gettext-0.13.
53519         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
53520         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
53521         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
53522
53523 2004-06-10  Jim Meyering  <jim@meyering.net>
53524
53525         * lib/calloc.c: New file.
53526
53527 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
53528
53529         * lib/getdate.y (yylex): Allow space between sign and number.
53530         Problem reported by Dan Jacobson.
53531
53532 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
53533
53534         Merge from coreutils CVS.
53535
53536         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
53537         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
53538         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
53539         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
53540         xstrtol.m4: Fix copyright date and/or serial number.
53541
53542         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
53543         See if we need an fchown replacement.
53544         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
53545         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
53546         and use the replacement function if we detect either defect.
53547
53548         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
53549         gl_UTIMECMP.
53550
53551 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
53552         and  Jim Meyering  <jim@meyering.net>
53553
53554         Merge from coreutils CVS.
53555
53556         * lib/stat-macros.h: New file, with contents from file-type.h
53557         and coreutils' system.h.
53558         * lib/file-type.c: Include "stat-macros.h".
53559         * lib/file-type.h (file_type): Move all macro definitions to new file,
53560         stat-macros.h.
53561
53562         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
53563         Wrap old code with this conditional.
53564         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
53565         function that does not dereference symlinks.
53566         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
53567
53568         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
53569         dependency problems.
53570         (xreadlink): Accept new arg SIZE, for efficiency.
53571         All decls and uses changed.
53572         * lib/xreadlink.h: Include <stddef.h>, for size_t.
53573
53574         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
53575         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
53576
53577         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
53578         sysexits.h.
53579
53580 2004-06-01  Jim Meyering  <jim@meyering.net>
53581
53582         * m4/calloc.m4: New file.
53583
53584 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
53585
53586         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
53587         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
53588         Also, fix a typo in a diagnostic.
53589
53590 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
53591
53592         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
53593         or AC_FUNC_REALLOC.
53594
53595 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
53596
53597         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
53598         macros to be defined.
53599         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
53600         the allocator returns NULL because the requested size is zero.
53601
53602 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53603
53604         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
53605         var.  Add comment explaining why libc still defines it.  This
53606         merges the following patch from glibc:
53607         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
53608
53609 2004-05-20  Andreas Schwab  <schwab@suse.de>
53610
53611         * m4/free.m4: Replace free if it not known to work, not the other
53612         way round.
53613
53614 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
53615
53616         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
53617         present in glibc since revision 1.1 of this file.
53618         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
53619         obstack_alignment_mask, obstack_alloc, obstack_base,
53620         obstack_blank, obstack_blank_fast, obstack_chunk_size,
53621         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
53622         obstack_grow0, obstack_init, obstack_int_grow,
53623         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
53624         obstack_next_free, obstack_object_size, obstack_ptr_grow,
53625         obstack_ptr_grow_fast, obstack_room): Remove declarations of
53626         nonexistent functions.
53627
53628 2004-05-18  Karl Berry  <karl@gnu.org>
53629
53630         * config/srclist.txt: break link for vasnprintf.c.
53631
53632 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
53633
53634         Port obstack to the AS/400, where pointers are 16 bytes wide and
53635         you cannot cast an integer to a valid pointer.  This patch is
53636         currently waiting to be integrated into glibc; see
53637         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
53638
53639         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
53640         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
53641         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
53642         (struct obstack): temp member is now a union of a pointer and
53643         an integer, instead of an integer.  All integer uses changed.
53644         This does not affect the physical layout of struct obstack,
53645         except on hosts (like the AS/400) where the size or alignment of
53646         void * is greater than that of ptrdiff_t.
53647         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
53648         __STDC__)]: Store temporary in pointer member of union, not
53649         integer member.
53650         * lib/obstack.c: Include <stddef.h>, for offsetof.
53651         (struct fooalign): Remove; it doesn't need a name.
53652         (union fooround): Change double to long double, and add void *.
53653         (DEFAULT_ALIGNMENT): Use offsetof to compute.
53654         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
53655         not a macro.  Hence the values are always int; so remove all
53656         casts-to-int in uses.
53657
53658 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
53659
53660         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
53661         we can get this patch merged into glibc.
53662
53663 2004-05-17  Derek R. Price  <derek@ximbiot.com>
53664             Paul Eggert  <eggert@cs.ucla.edu>
53665
53666         * m4/argp: Depend on alloca.
53667
53668 2004-05-17  Derek R. Price  <derek@ximbiot.com>
53669             Paul Eggert  <eggert@cs.ucla.edu>
53670
53671         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
53672         freecoding.
53673
53674 2004-05-17  Bruno Haible  <bruno@clisp.org>
53675
53676         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
53677         precision that consists of a '.' followed by an empty digit string.
53678         Patch by Tor Lillqvist <tml@iki.fi>.
53679
53680 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
53681
53682         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
53683         for backward compatibility with older code.  We need our own
53684         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
53685         it under some other name, and our alloca.h will define it.
53686
53687 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
53688             Derek Price  <derek@ximbiot.com>
53689
53690         * lib/alloca.c: Include <alloca.h>, to get our interface.
53691         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
53692         include <alloca.h> first.  Use C89 prototype for alloca; this
53693         requires including <stddef.h> for size_t.  Use extern "C" if C++.
53694         Use #elif for simplicity, since we can assume C89 now.
53695         Don't try to source the system alloca.h since it will not be found
53696         and to prevent recursively including its replacement.
53697         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
53698         * lib/regex.c: Likewise.
53699
53700 2004-05-16  Derek Price  <derek@ximbiot.com>
53701             Paul Eggert  <eggert@cs.ucla.edu>
53702
53703         getline cleanup.  This changes the getndelim2 API: both order of
53704         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
53705         no delimiter).
53706
53707         * lib/getline.c: Don't include stddef.h or stdio.h, since our
53708         interface does that.
53709         (getline): Always use getdelim, so that we don't have two
53710         copies of this code.
53711         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
53712         if available.
53713         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
53714         (GETNDELIM2_MAXIMUM): New macro.
53715         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
53716         instead of the old practice of delim2==0.  All callers changed.
53717         Return -1 on overflow, instead of returning junk.
53718         Do not set *linesize unless allocation succeeds.
53719         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
53720         that we include sys/types.h.
53721         * lib/getnline.h: Likewise.
53722         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
53723         (getndelim2): Reorder arguments.
53724         * lib/getnline.c (getnline, getndelim):
53725         Don't discard the NMAX argument.
53726         (getnline): Invoke getndelim, to avoid code duplication.
53727         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
53728         of (size_t) -1 by callers of the getnline family.
53729
53730 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53731
53732         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
53733         Check for gettimeofday.
53734         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
53735         Check for settimeofday, stime.
53736
53737 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53738
53739         * lib/nanosleep.c (suspended): Change its type from int to
53740         sig_atomic_t volatile.
53741         (first_call): Make it private to rpl_nanosleep, and have it
53742         be zero initially as that's a bit faster.
53743         (my_usleep): Round up fractional times instead of truncating them,
53744         as this is the usual meaning for 'sleep'.
53745
53746         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
53747         doesn't work.
53748         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
53749         (ENOSYS): Define if not defined.
53750         (settime): Fall back on stime if it exists and settimeofday fails.
53751         But don't bother with fallbacks if a method fails with errno == EPERM.
53752
53753 2004-05-11  Jim Meyering  <jim@meyering.net>
53754
53755         Prior to this change, the save_cwd caller required read access to the
53756         current directory on most systems (ones with the fchdir function).
53757
53758         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
53759         fails, try write-only, and finally, resort to using xgetcwd.
53760
53761 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
53762
53763         * lib/obstack.c, obstack.h: Import changes from libc.
53764
53765 2004-04-28  Bruno Haible  <bruno@clisp.org>
53766
53767         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
53768         also implicitly appends .exe to executables.
53769         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
53770         accepts Windows pathnames.
53771         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
53772         Treat Cygwin like Windows, since it now accepts Windows pathnames.
53773         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
53774         Treat Cygwin like Windows, since it now accepts Windows pathnames.
53775         Reported by Derek Robert Price <derek@ximbiot.com>.
53776
53777 2004-04-21  Karl Berry  <karl@gnu.org>
53778
53779         * config/srclist.txt (localcharset.c): break sync.
53780
53781 2004-04-20  Paul Eggert  <eggert@twinsun.com>
53782
53783         * m4/host-os.m4: Add a copyright notice.
53784
53785 2004-04-20  Jim Meyering  <jim@meyering.net>
53786
53787         Change UTILS_ to gl_ in AC_DEFINE'd names.
53788         Change utils_- and jm_-prefixed variables, too.
53789         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
53790         UTILS_FUNC_MKDIR_TRAILING_SLASH.
53791         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
53792
53793         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
53794         Don't emit trailing blanks.
53795         Also rename jm_-prefixed variables to have gl_ prefix.
53796
53797         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
53798         Also rename jm_-prefixed variables to have gl_ prefix.
53799
53800         * m4/jm-macros.m4: Reflect the renamings.
53801         * m4/prereq.m4: Likewise.
53802
53803 2004-04-20  Jim Meyering  <jim@meyering.net>
53804
53805         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
53806         memory.
53807
53808 2004-04-20  Jim Meyering  <jim@meyering.net>
53809             Bruno Haible  <bruno@clisp.org>
53810
53811         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
53812         memory when realloc fails.
53813
53814 2004-04-19  Jim Meyering  <jim@meyering.net>
53815
53816         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
53817         now that readutmp.c may call `free (0)'.
53818
53819 2004-04-19  Bruno Haible  <bruno@clisp.org>
53820
53821         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
53822         * m4/inttypes_h.m4: Likewise.
53823         * m4/stdint_h.m4: Likewise.
53824         * m4/intmax_t.m4: Likewise.
53825         * m4/uintmax_t.m4: Likewise.
53826
53827 2004-04-18  Jim Meyering  <jim@meyering.net>
53828
53829         * m4/prereq.m4: Don't forbid jm_ prefix.
53830
53831         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
53832         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
53833         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
53834         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
53835         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
53836         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
53837         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
53838         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
53839         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
53840         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
53841         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
53842         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
53843         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
53844         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
53845         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
53846         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
53847         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
53848         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
53849         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
53850
53851 2004-04-18  Jim Meyering  <jim@meyering.net>
53852
53853         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
53854         failure, don't leak memory and do call END_UTMP_ENT.
53855
53856 2004-04-16  Jim Meyering  <jim@meyering.net>
53857
53858         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
53859         coreutils' stat program.
53860         (gl_PREREQ): Don't require jm_PREREQ_STAT.
53861
53862 2004-04-11  Paul Eggert  <eggert@twinsun.com>
53863
53864         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
53865         C89.
53866         (CHAR_BIT): Remove, since we assume C89.
53867         Include <stdint.h> if available, as per current Autoconf CVS advice.
53868
53869 2004-03-31  Jim Meyering  <jim@meyering.net>
53870
53871         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
53872         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
53873         * m4/xalloc.m4: Likewise.
53874
53875 2004-03-30  Paul Eggert  <eggert@twinsun.com>
53876
53877         Merge from coreutils.
53878
53879         * m4/inttostr.m4: New file.
53880         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
53881         Require AM_STDBOOL_H and gl_TIMESPEC instead.
53882         Require gl_CLOCK_TIME.
53883         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
53884
53885 2004-03-30  Paul Eggert  <eggert@twinsun.com>
53886
53887         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
53888         not bool, to be more consistent with Unix conventions.
53889         Suggested by Bruno Haible.
53890
53891         Merge from coreutils.
53892
53893         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
53894         * lib/umaxtostr.c: New files.
53895
53896         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
53897         the usual <time.h> dance.
53898         (get_date): Change signature to support fractional time stamps.
53899         All callers changed.
53900         * lib/getdate.y: Include "getdate.h" first, as we can now
53901         assume C89 and don't need to worry about 'const'.
53902         Similarly, include "unlocked-io.h" near start, not in middle.
53903         Include <limits.h>.
53904         (textint.value): Use long int rather than int.
53905         (textint.digits): Use size_t rather than int.
53906         (BILLION, LOG10_BILLION): New constants.
53907         (parser_control): New member rel_ns.  Members day_ordinal,
53908         time_zone, month, day, hour, minutes, rel_year, rel_month,
53909         rel_day, rel_hour, rel_minutes, rel_seconds
53910         are now long int, not int.  Member seconds is now struct timespec,
53911         not int.  New member timespec_seen.  Members dates_seen, days_seen,
53912         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
53913         not int.
53914         (%union.intval): Now long int, not int.
53915         New member timespec.
53916         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
53917         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
53918         (spec): Now is a timespec or an item list.
53919         (timespec, items): New nonterminals.
53920         (time, rel, relunit, number, get_date):
53921         Add support for fractional seconds.
53922         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
53923         (gmtime, localtime, mktime): Remove decls; not needed with C89.
53924         (to_hour): First arg is now long int, not int.
53925         (to_year): Returns long int, not int.
53926         Don't treat year -70 like 70.
53927         (tm_diff): Returns long int, not int.
53928         (lookup_word): Use bool instead of int when appropriate.
53929         (yylex): Use size_t for count, not int.
53930         Detect overflow when parsing large integer constants.
53931         Add support for fractions.
53932         (get_date): Make pointers 'const' if possible.
53933         Use more-portable code to detect integer overflow.
53934         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
53935         Don't use ctime; it's not reliable if the year has >4 digits.
53936
53937         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
53938         This is for compatibility with BSD.
53939
53940         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
53941         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
53942         From coreutils' system.h.
53943
53944         * lib/userspec.c: Don't include "posixver.h".
53945         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
53946         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
53947         compatible extension.  Simplify code by removing a boolean int
53948         that was always nonzero if a string was nonnull.
53949
53950 2004-03-30  Jim Meyering  <jim@meyering.net>
53951
53952         Merge from coreutils.
53953
53954         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
53955         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
53956         on some systems one must include <grp.h> before it.
53957         Reported by Christian Krackowizer.
53958
53959 2004-03-30  Jim Meyering  <jim@meyering.net>
53960
53961         Merge from coreutils.
53962
53963         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
53964
53965         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
53966         an empty input stream.
53967
53968         * lib/readtokens.c: Include <stdbool.h>.
53969         (readtoken): Use `size_t' rather than int/long.
53970         All callers adjusted.
53971         Use `bool' rather than `int' where appropriate.
53972         Use memset rather than an explicit loop.
53973         Use x2nrealloc rather than xrealloc.
53974         Allow the use of `\0' as a delimiter.
53975         (readtokens): Likewise.
53976         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
53977
53978 2004-03-30  Jim Meyering  <jim@meyering.net>
53979
53980         * m4/realloc.m4: Remove file, since now it does no more than
53981         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
53982         the `configure.ac' section of module/realloc.
53983         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
53984
53985 2004-03-30  Bruno Haible  <bruno@clisp.org>
53986
53987         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
53988         nonnull.
53989
53990 2004-03-29  Paul Eggert  <eggert@twinsun.com>
53991
53992         Merge changes to getloadavg.c from coreutils and Emacs.
53993
53994         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
53995         Define to an expression, not to the empty string.
53996         Include cloexec.h and xalloc.h.
53997         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
53998         Use set_cloexec_flag rather than rolling our own.
53999         * lib/cloexec.c, lib/cloexec.h: New files.
54000
54001 2004-03-29  Paul Eggert  <eggert@twinsun.com>
54002
54003         * m4/cloexec.m4: New file.
54004
54005 2004-03-18  Paul Eggert  <eggert@twinsun.com>
54006
54007         * lib/getopt.h: Sync with libc CVS.
54008
54009 2004-03-18  Paul Eggert  <eggert@twinsun.com>
54010             Bruno Haible  <bruno@clisp.org>
54011
54012         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
54013         mbswidth.
54014
54015 2004-03-18  Paul Eggert  <eggert@twinsun.com>
54016             Bruno Haible  <bruno@clisp.org>
54017
54018         * lib/mbswidth.h: Include <wchar.h> only if
54019         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
54020         <wchar.h>.
54021         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
54022
54023 2004-03-09  Paul Eggert  <eggert@twinsun.com>
54024
54025         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
54026         Sync with libc CVS.
54027         * lib/getopt_int.h: New file, also synced from libc.
54028
54029 2004-03-09  Paul Eggert  <eggert@twinsun.com>
54030
54031         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
54032         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
54033         Bring back getopt.c, getopt.h, getopt1.c.
54034
54035 2004-03-07  Paul Eggert  <eggert@twinsun.com>
54036
54037         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
54038         All uses changed.  Check for sa_sigaction member; this fixes
54039         a bug first reported by Jason Andrade in
54040         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
54041
54042 2004-03-07  Paul Eggert  <eggert@twinsun.com>
54043
54044         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
54045         '#if' expressions.  Unlike the code it replaces, it does not
54046         depend on (defined _SC_PAGESIZE).  However, it does depend on
54047         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
54048         first reported by Jason Andrade in
54049         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
54050
54051 2004-02-25  Simon Josefsson  <jas@extundo.com>
54052
54053         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
54054
54055 2004-02-25  Simon Josefsson  <jas@extundo.com>
54056
54057         * lib/strdup.h: New file.
54058         * lib/strdup.c: Include it.
54059         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
54060         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
54061
54062 2004-02-23  Karl Berry  <karl@gnu.org>
54063
54064         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
54065         (from fencepost.gnu.org:/gd/gnuorg).
54066
54067 2004-02-23  Karl Berry  <karl@gnu.org>
54068
54069         * config/srclistvars.sh (GNUORG) [karl]: redefine.
54070         * config/srclist.txt: add maintain/standards documents.
54071
54072 2004-02-18  Bruno Haible  <bruno@clisp.org>
54073
54074         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
54075         Reported by Derek Robert Price <derek@ximbiot.com>.
54076
54077 2004-02-16  Karl Berry  <karl@gnu.org>
54078
54079         * config/mkinstalldirs, install-sh: update from automake.
54080
54081 2004-02-06  Karl Berry  <karl@gnu.org>
54082
54083         * m4/po.m4: update from gettext 0.14.1.
54084
54085 2004-02-06  Karl Berry  <karl@gnu.org>
54086
54087         * lib/config.charset: update from gettext 0.14.1.
54088
54089 2004-02-05  Paul Eggert  <eggert@twinsun.com>
54090
54091         Add comments and code, prompted by suggestions from Bruno Haible
54092         for sh-quote.
54093         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
54094         describing the enum quoting_style values.
54095         * lib/quotearg.c (quotearg_alloc): New function.
54096         (quotearg_buffer_restyled): Treat lone { and } as special.
54097         Treat = as special.  Work around bug with older shells
54098         that "see" a '\' that is really the 2nd byte of a multibyte char.
54099         Quote empty string with shell_quoting_style.
54100
54101 2004-02-03  Bruno Haible  <bruno@clisp.org>
54102
54103         * m4/pipe.m4: New file, from GNU gettext.
54104
54105 2004-02-03  Bruno Haible  <bruno@clisp.org>
54106
54107         * lib/pipe.h: New file, from GNU gettext.
54108         * lib/pipe.c: New file, from GNU gettext.
54109
54110 2004-01-27  Bruno Haible  <bruno@clisp.org>
54111
54112         * m4/execute.m4: New file, from GNU gettext.
54113
54114 2004-01-27  Bruno Haible  <bruno@clisp.org>
54115
54116         * lib/execute.h: New file, from GNU gettext.
54117         * lib/execute.c: New file, from GNU gettext.
54118         * lib/w32spawn.h: New file, from GNU gettext.
54119
54120 2004-01-24  Paul Eggert  <eggert@twinsun.com>
54121
54122         Merge from diffutils.
54123
54124         * lib/file-type.c (file_type): Add typed memory objects.
54125         * lib/file-type.h (S_TYPEISTMO): New macro.
54126
54127         * lib/c-stack.h (c_stack_action): Remove argv argument.
54128         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
54129         (die): Don't calculate message unless segv_action returns.
54130         (get_stack_location, min_address_from_argv, max_address_from_argv,
54131         volatile stack_base, volatile_stack_size): Remove.
54132         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
54133         that every segmentation violation is a stack overflow.  (Ouch!)
54134         See Debian bug 136249 (still outstanding) for more info about why
54135         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
54136
54137 2004-01-24  Paul Eggert  <eggert@twinsun.com>
54138
54139         Exit-status fix from coreutils.
54140
54141         Use exit_failure consistently in place of EXIT_FAILURE,
54142         so that program exit statuses are consistent on failure.
54143
54144         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
54145         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
54146         * lib/argmatch.h: Comment fix to match the above.
54147         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
54148         Now a macro referring to exit_failure, instead of a separate
54149         variable.  Include "exitfail.h" to get it.
54150         * lib/xstrtol.h: Include "exitfail.h".
54151         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
54152
54153         * lib/long-options.c (parse_long_options): Use prototype
54154         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
54155         for clarity.
54156
54157 2004-01-21  Jim Meyering  <jim@meyering.net>
54158
54159         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
54160         so as not to conflict with a different-sized __mktime_internal
54161         function in GNU libc.
54162         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
54163         Problem building statically-linked `ls' reported by Michael Brunnbauer.
54164
54165 2004-01-20  Karl Berry  <karl@gnu.org>
54166
54167         * config/config.guess: update from config.
54168
54169         * config/srclistvars.sh: GNUWWWLICENSES for karl.
54170
54171 2004-01-20  Bruno Haible  <bruno@clisp.org>
54172
54173         Safer stack allocation.
54174         * lib/setenv.c: Include allocsa.h.
54175         (alloca): Remove fallback definition.
54176         (freea): Remove macro.
54177         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
54178         instead of freea.
54179
54180 2004-01-20  Bruno Haible  <bruno@clisp.org>
54181
54182         * m4/eealloc.m4: New file, from GNU gettext.
54183
54184 2004-01-20  Bruno Haible  <bruno@clisp.org>
54185
54186         * m4/allocsa.m4: New file, from GNU gettext.
54187
54188 2004-01-20  Bruno Haible  <bruno@clisp.org>
54189
54190         * lib/xallocsa.h: New file, from GNU gettext.
54191         * lib/xallocsa.c: New file, from GNU gettext.
54192
54193 2004-01-20  Bruno Haible  <bruno@clisp.org>
54194
54195         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
54196
54197 2004-01-20  Bruno Haible  <bruno@clisp.org>
54198
54199         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
54200         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
54201         specially.
54202
54203 2004-01-20  Bruno Haible  <bruno@clisp.org>
54204
54205         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
54206         patch.
54207
54208 2004-01-20  Bruno Haible  <bruno@clisp.org>
54209
54210         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
54211
54212 2004-01-20  Bruno Haible  <bruno@clisp.org>
54213
54214         * lib/eealloc.h: New file.
54215
54216 2004-01-20  Bruno Haible  <bruno@clisp.org>
54217
54218         * lib/binary-io.h: Avoid warnings on Cygwin.
54219
54220 2004-01-20  Bruno Haible  <bruno@clisp.org>
54221
54222         * lib/allocsa.h: New file, from GNU gettext.
54223         * lib/allocsa.c: New file, from GNU gettext.
54224
54225 2004-01-18  Karl Berry  <karl@gnu.org>
54226
54227         * doc/gpl.texi, doc/lgpl.texi: new files.
54228
54229 2004-01-18  Karl Berry  <karl@gnu.org>
54230
54231         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
54232         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
54233
54234 2004-01-15  Paul Eggert  <eggert@twinsun.com>
54235
54236         Merge from coreutils.
54237
54238         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
54239         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
54240         (gl_DEFAULT_POSIX2_VERSION): Move
54241         the documentation from 'configure' into 'config.hin',
54242         so that 'configure --help' isn't burdened by it and
54243         we don't have to worry about its formatting there.
54244         Reword the documentation so that it's more succinct
54245         and can be run together into a single paragraph.
54246         * m4/same.m4 (gl_SAME): Check for pathconf.
54247
54248 2004-01-15  Paul Eggert  <eggert@twinsun.com>
54249
54250         Merge from coreutils.
54251
54252         * lib/posixver.c: Include posixver.h.
54253
54254         * lib/same.c: Include <stdbool.h>, <limits.h>.
54255         (_POSIX_NAME_MAX): Define if not defined.
54256         (MIN): New macro.
54257         (same_name): If file names are silently truncated, report
54258         that the file names are the same if they are the same after
54259         the silent truncation.
54260
54261         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
54262         conversion function.
54263         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
54264         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
54265         longer needed.
54266
54267 2004-01-15  Jim Meyering  <jim@meyering.net>
54268
54269         Merge from coreutils.
54270
54271         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
54272         if no library is required.
54273         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
54274         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
54275         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
54276         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
54277         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
54278         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
54279         value, $ac_cv_search_crypt, if it's "none required".
54280         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
54281         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
54282         not gl_FUNC_GETLOADAVG.
54283         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
54284         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
54285
54286 2004-01-15  Jim Meyering  <jim@meyering.net>
54287
54288         Merge from coreutils.
54289
54290         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
54291         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
54292         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
54293
54294         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
54295         optional configure-time default.
54296
54297         * lib/version-etc.c (version_etc_copyright): Update copyright date.
54298
54299         * lib/xreadlink.c (xreadlink): Correct outdated comment.
54300
54301 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
54302
54303         Merge from coreutils.
54304
54305         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
54306         value, $ac_cv_search_nanosleep, if it's "none required".
54307
54308 2004-01-14  Paul Eggert  <eggert@twinsun.com>
54309
54310         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
54311         with like-named macro in fnmatch.c.
54312         (EXT): Use an internal constant instead.
54313
54314         Merge fnmatch patches from glibc.
54315         * lib/fnmatch.c (mbsinit): Remove define.
54316         Add libc_hidden_ver (__fnmatch, fnmatch).
54317         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
54318         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
54319
54320 2004-01-14  Karl Berry  <karl@gnu.org>
54321
54322         * config/install-sh: update from automake.
54323
54324 2004-01-13  Karl Berry  <karl@gnu.org>
54325
54326         * config/install-sh: update from automake.
54327
54328 2004-01-09  Karl Berry  <karl@gnu.org>
54329
54330         * config/install-sh: update from automake.
54331
54332 2004-01-05  Karl Berry  <karl@gnu.org>
54333
54334         * config/config.{sub,guess}: update from config.
54335
54336 2003-12-31  Karl Berry  <karl@gnu.org>
54337
54338         * config/depcomp: update from automake.
54339
54340 2003-12-14  Karl Berry  <karl@gnu.org>
54341
54342         * lib/config.charset: update from gettext-runtime.
54343
54344 2003-12-03  Paul Eggert  <eggert@twinsun.com>
54345
54346         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
54347         Bug reported by Alfred M. Szmidt.
54348
54349 2003-12-03  Bruno Haible  <bruno@clisp.org>
54350
54351         * m4/gettext.m4: Upgrade from gettext-0.13.
54352         * m4/po.m4: Upgrade from gettext-0.13.
54353         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
54354         * m4/intmax.m4: New file, from gettext-0.13.
54355         * m4/printf-posix.m4: New file, from gettext-0.13.
54356
54357 2003-11-29  Karl Berry  <karl@gnu.org>
54358
54359         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
54360
54361 2003-11-25  Paul Eggert  <eggert@twinsun.com>
54362             Bruno Haible  <bruno@clisp.org>
54363
54364         * lib/printf-parse.h: Don't include sys/types.h.
54365         (ARG_NONE): New macro.
54366         (char_directive): Change type of *arg_index fields to size_t.
54367         * lib/printf-parse.c: Don't include sys/types.h.
54368         (SSIZE_MAX): Remove macro.
54369         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
54370         Remove unnecessary overflow check.
54371         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
54372         fields.
54373
54374 2003-11-25  Bruno Haible  <bruno@clisp.org>
54375
54376         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
54377
54378 2003-11-25  Bruno Haible  <bruno@clisp.org>
54379
54380         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
54381         gt_TYPE_SSIZE_T.
54382
54383 2003-11-24  Paul Eggert  <eggert@twinsun.com>
54384
54385         * modules/alloca: Remove dependency on xalloc.
54386
54387 2003-11-24  Paul Eggert  <eggert@twinsun.com>
54388
54389         * lib/alloca.c: Remove dependency on xalloc module.
54390         (xalloc_die): Remove.
54391         (memory_full) [!defined emacs]: New macro.
54392         [!defined emacs]: Don't include xalloc.h.
54393         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
54394         address arithmetic overflows.  Change datatypes a bit to avoid
54395         unnecessary casts.
54396
54397 2003-11-22  Jim Meyering  <jim@meyering.net>
54398
54399         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
54400         s/size/size_t/.
54401
54402 2003-11-21  Karl Berry  <karl@gnu.org>
54403
54404         * config/config.{sub,guess}: update from config.
54405
54406 2003-11-18  Karl Berry  <karl@gnu.org>
54407
54408         * config/config.{sub,guess}: update from config.
54409
54410         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
54411
54412 2003-11-17  Paul Eggert  <eggert@twinsun.com>
54413
54414         * README: Mention that S+T cannot overflow if S is the size of
54415         an existing object and T is sufficiently small.
54416
54417 2003-11-17  Jim Meyering  <jim@meyering.net>
54418
54419         On systems without utime and without a utimes function capable of
54420         dealing with a NULL struct utimbuf* argument, this utime replacement
54421         could -- in unusual circumstances -- leak a file descriptor.
54422         * lib/utime.c: Include <unistd.h> and <errno.h>.
54423         (utime_null): Be sure to close `fd' and to preserve errno.
54424         Reported by Geoff Collyer via Arnold Robbins.
54425
54426 2003-11-17  Bruno Haible  <bruno@clisp.org>
54427
54428         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
54429         (Depends-on): Add xsize.
54430
54431 2003-11-17  Bruno Haible  <bruno@clisp.org>
54432
54433         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
54434
54435 2003-11-17  Bruno Haible  <bruno@clisp.org>
54436
54437         * lib/vasnprintf.c (alloca): Remove fallback definition.
54438         (freea): Remove definition.
54439         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
54440         Reported by Paul Eggert.
54441
54442 2003-11-16  Paul Eggert  <eggert@twinsun.com>
54443             Bruno Haible  <bruno@clisp.org>
54444
54445         Protect against address arithmetic overflow.
54446         * lib/printf-args.h: Include stddef.h.
54447         (arguments): Change type of field 'count' to size_t.
54448         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
54449         'unsigned int' where appropriate.
54450         * lib/printf-parse.h: Include sys/types.h.
54451         (char_directive): Change type of *arg_index fields to ssize_t.
54452         (char_directives): Change type of fields 'count', max_*_length to
54453         size_t.
54454         * lib/printf-parse.c: Include sys/types.h and xsize.h.
54455         (SSIZE_MAX): Define fallback value.
54456         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
54457         instead of 'int' where appropriate. Check a_allocated, d_allocated
54458         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
54459         * lib/vasnprintf.c: Include xsize.h.
54460         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
54461         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
54462         overflow. Avoid wraparound when converting a width or precision from
54463         decimal to binary.
54464
54465 2003-11-16  Bruno Haible  <bruno@clisp.org>
54466
54467         Update from GNU gettext.
54468         * lib/printf-parse.c: Generalize to it can be compiled for wide
54469         strings.
54470         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
54471         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
54472         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
54473         SNPRINTF): New macros.
54474         Don't include <alloca.h> if the file is used inside libintl.
54475         (local_wcslen): New function, for Solaris 2.5.1.
54476         (VASNPRINTF): Use it instead of wcslen.
54477
54478 2003-11-16  Bruno Haible  <bruno@clisp.org>
54479
54480         * lib/xsize.h (xmax): New function.
54481         (xsum, xsum3, xsum4): Declare as "pure" functions.
54482
54483 2003-11-12  Paul Eggert  <eggert@twinsun.com>
54484
54485         * modules/xalloc (Files): Undo latest change, since xalloc.h
54486         no longer needs SIZE_MAX or PTRDIFF_MAX.
54487
54488 2003-11-12  Paul Eggert  <eggert@twinsun.com>
54489
54490         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
54491         gl_PTRDIFF_MAX.
54492
54493 2003-11-12  Paul Eggert  <eggert@twinsun.com>
54494
54495         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
54496         "return", to pacify some unknown compiler.  Problem reported
54497         by Joerg Schilling.
54498
54499 2003-11-12  Paul Eggert  <eggert@twinsun.com>
54500
54501         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
54502         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
54503         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
54504         heuristic is just as accurate as far as we know, and it removes a
54505         dependency on size_max.m4 and ptrdiff_max.m4.
54506
54507 2003-11-11  Bruno Haible  <bruno@clisp.org>
54508
54509         * modules/xsize (Files): Add m4/size_max.m4.
54510         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
54511
54512 2003-11-11  Bruno Haible  <bruno@clisp.org>
54513
54514         * m4/size_max.m4: New file.
54515         * m4/ptrdiff_max.m4: New file.
54516         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
54517         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
54518         (gl_XALLOC): Invoke it.
54519
54520 2003-11-11  Bruno Haible  <bruno@clisp.org>
54521
54522         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
54523         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
54524         defined.
54525
54526 2003-11-10  Paul Eggert  <eggert@twinsun.com>
54527
54528         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
54529         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
54530         rejected some allocations of exactly SIZE_MAX - 2 bytes.
54531         From Bruno Haible.
54532         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
54533         not (size_t) -1, since it's defined here.
54534
54535 2003-11-09  Karl Berry  <karl@gnu.org>
54536
54537         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
54538
54539 2003-11-06  Paul Eggert  <eggert@twinsun.com>
54540
54541         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
54542         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
54543         Reject sizes of exactly SIZE_MAX bytes.
54544         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
54545         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
54546
54547 2003-11-05  Bruno Haible  <bruno@clisp.org>
54548
54549         * lib/xsize.h: Include limits.h, to avoid a possible collision with
54550         SIZE_MAX defined in <limits.h> on Solaris.
54551
54552 2003-11-04  Jim Meyering  <jim@meyering.net>
54553
54554         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
54555         variable names, rather than @VAR@.
54556         * modules/poll: Likewise.
54557
54558 2003-11-04  Bruno Haible  <bruno@clisp.org>
54559
54560         * modules/xsize: New file.
54561         * modules/linebreak: Depend on xsize.
54562         * MODULES.html.sh (func_all_modules): Add xsize.
54563
54564 2003-11-04  Bruno Haible  <bruno@clisp.org>
54565
54566         * m4/xsize.m4: New file.
54567
54568 2003-11-04  Bruno Haible  <bruno@clisp.org>
54569
54570         * lib/xsize.h: New file.
54571         * lib/linebreak.c: Include xsize.h.
54572         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
54573         argument for overflow.
54574         Suggested by Paul Eggert.
54575
54576 2003-11-03  Karl Berry  <karl@gnu.org>
54577
54578         * config/config.{guess,sub}: update from config.
54579
54580 2003-11-03  Jim Meyering  <jim@meyering.net>
54581
54582         * modules/userspec (lib_SOURCES): Add userspec.h.
54583         (Include): Add "userspec.h".
54584         Improve description.
54585
54586 2003-11-03  Jim Meyering  <jim@meyering.net>
54587
54588         * lib/userspec.c: Include "userspec.h".
54589         * lib/userspec.h: New file.
54590
54591 2003-11-03  Bruno Haible  <bruno@clisp.org>
54592
54593         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
54594
54595 2003-11-03  Bruno Haible  <bruno@clisp.org>
54596
54597         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
54598         available, to avoid (extremely rare) race condition.
54599         Suggested by Paul Eggert.
54600
54601 2003-11-02  Karl Berry  <karl@gnu.org>
54602
54603         * config/srclist.txt (vasprintf.c): sync broken, sigh.
54604
54605 2003-10-31  Paul Eggert  <eggert@twinsun.com>
54606
54607         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
54608         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
54609         (read_filesystem_list): Set and use me_type_malloced.
54610         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
54611         whatever the type happens to be), for brevity and consistency.
54612         Check for size calculation overflow on Alphas running OSF/1.
54613
54614 2003-10-31  Jim Meyering  <jim@meyering.net>
54615
54616         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
54617
54618         * lib/linebuffer.c: Include <string.h> for declaration of memset.
54619
54620 2003-10-30  Paul Eggert  <eggert@twinsun.com>
54621             Bruno Haible  <bruno@clisp.org>
54622
54623         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
54624         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
54625
54626 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
54627
54628         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
54629         netbsd*-gnu*.  Suggested by Robert Millan.
54630
54631 2003-10-29  Paul Eggert  <eggert@twinsun.com>
54632
54633         * modules/group-member: Depend on stdbool.
54634
54635 2003-10-29  Paul Eggert  <eggert@twinsun.com>
54636
54637         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
54638
54639 2003-10-29  Paul Eggert  <eggert@twinsun.com>
54640
54641         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
54642         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
54643         after the 'gnu' in these cases.  This fixes some bugs in the
54644         previous change, and is based on suggestions by Robert Millan.
54645
54646 2003-10-29  Paul Eggert  <eggert@twinsun.com>
54647
54648         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
54649         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
54650         no longer needed.
54651         * lib/quotearg.c (quotearg_n_options): Use it.
54652         * lib/group-member.c: Include <stdbool.h>.
54653         (free_group_info): Arg is now const *; don't free arg.
54654         (get_group_info): Now returns bool and accepts struct group_info *,
54655         rather than returning a malloc'ed struct group_info *.
54656         All uses changed.  Check for overflow in internal size calculation.
54657
54658         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
54659         rather than xmalloc/xrealloc.
54660         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
54661         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
54662         conformance bug: the old code used a pointer after freeing the
54663         storage that it addressed.
54664         * lib/hash.c (hash_initialize): Simplify the code by using
54665         xalloc_oversized rather than doing it by hand.
54666         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
54667         the buffer preserved.  Use free and xmalloc instead.
54668         * lib/quotearg.c (quotearg_n_options): Likewise.
54669         Use a simpler test for size overflow.  Don't use xalloc_oversized
54670         because unsigned int might be wider than size_t (!); this suggests
54671         that we should switch from unsigned int to size_t for slot numbers.
54672
54673 2003-10-28  Paul Eggert  <eggert@twinsun.com>
54674
54675         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
54676         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
54677         NetBSD kernels.  Requested by Richard Stallman.
54678
54679 2003-10-27  Paul Eggert  <eggert@twinsun.com>
54680
54681         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
54682         to allocate the returned structure.  Do not allocate a subarray,
54683         as x2nrealloc will do that.
54684         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
54685         instead of xnrealloc.
54686         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
54687
54688 2003-10-27  Bruno Haible  <bruno@clisp.org>
54689
54690         * lib/stdbool_.h: Better support for BeOS.
54691
54692 2003-10-26  Paul Eggert  <eggert@twinsun.com>
54693
54694         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
54695         now uses inline.
54696
54697 2003-10-26  Paul Eggert  <eggert@twinsun.com>
54698
54699         * lib/xalloc.h (xalloc_oversized): New static inline function, for
54700         callers that want to do their own size-overflow checking.  Include
54701         <stdbool.h>, since xalloc_oversized returns bool.
54702         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
54703         to use xalloc_oversized.
54704
54705         Add two functions x2realloc, x2nrealloc, for programs that grow
54706         arrays dynamically by doubling their sizes.
54707         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
54708         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
54709         New functions.
54710
54711         Port to C99 semantics for 'inline' of external functions.
54712         Bug reported by Bruno Haible.
54713         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
54714         with the old contents of xnmalloc.
54715         (xnmalloc, xmalloc): Use it.
54716         (xnrealloc_inline): New static inline function,
54717         with the old contents of xnrealloc.
54718         (xnrealloc, xrealloc): Use it.
54719
54720         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
54721         that.
54722
54723 2003-10-26  Karl Berry  <karl@gnu.org>
54724
54725         * config/srclist.txt (COPYING.DOC): no longer available from
54726         /gd/gnuorg; don't know where the ultimate source is.
54727
54728 2003-10-25  Paul Eggert  <eggert@twinsun.com>
54729
54730         Fix several address-calculation bugs in the hash modules,
54731         plus some minor code cleanup.
54732
54733         * lib/hash.h: Include <stdbool.h>, for bool.
54734         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
54735         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
54736         hash_get_n_entries, hash_get_max_bucket_length,
54737         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
54738         hash_rehash): Use size_t rather than unsigned.
54739         * lib/hash.c (struct hash_table, hash_get_n_buckets,
54740         hash_get_n_buckets_used, hash_get_n_entries,
54741         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
54742         hash_get_entries, hash_do_for_each, hash_string, is_prime,
54743         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
54744         Likewise.
54745         (SIZE_MAX): Define if not defined.
54746         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
54747         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
54748         hash_print):
54749         Use const * when possible.
54750         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
54751         (check_tuning): Fix bug: if tuning parameters were very close to
54752         0 or 1, rounding errors could have caused subscript violations.
54753         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
54754         (hash_initialize): Add 'fail:' label
54755         to free table and return NULL, and use it to simplify code.
54756         Use calloc rather than clearing the storage ourself.
54757         (hash_initialize, hash_rehash): Check for arithmetic overflow in
54758         buffer size calculations.
54759         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
54760         Include <stddef.h>, for size_t.
54761         * lib/hash-pjw.c (hash_pjw): Likewise.
54762         Switch to method described by Bruno Haible.
54763         Include <limits.h>, for CHAR_BIT.
54764         (SIZE_BITS): New macro.
54765
54766 2003-10-23  Paul Eggert  <eggert@twinsun.com>
54767
54768         * m4/getline.m4 (AM_FUNC_GETLINE):
54769         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
54770         hosts.  Problem reported by Derek Robert Price in
54771         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
54772         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
54773         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
54774
54775 2003-10-21  Paul Eggert  <eggert@twinsun.com>
54776
54777         * lib/getndelim2.c (getndelim2): When size calculation overflows,
54778         ceiling the allocation at NMAX bytes rather than silently
54779         discarding input bytes before NMAX is reached.  This makes
54780         a difference only if NMAX exceeds SIZE_MAX / 2.
54781
54782         * lib/obstack.c: Merge from glibc.
54783         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
54784         Add libc_hidden_def (_obstack_newchunk).
54785         (_obstack_free) [! defined _LIBC]: Remove.
54786         [defined _LIBC]: Make a strong alias from obstack_free, rather than
54787         a clone of the function body.
54788         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
54789         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
54790
54791         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
54792         glibc.
54793         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
54794         arg to memcpy.
54795
54796         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
54797         (obstack_ptr_grow_fast, obstack_int_grow_fast):
54798         Don't use lvalue casts, as GCC plans to remove support for them
54799         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
54800         was also present in the non-GCC version, indicating that this
54801         code had always been buggy and had never been widely used.
54802         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
54803         Use the fast variant of each macro, rather than copying the
54804         definiens of the fast variant; that way, we'll be more likely to
54805         catch future bugs in the fast variants.
54806
54807 2003-10-20  Bruno Haible  <bruno@clisp.org>
54808
54809         * modules/wait-process: New file.
54810         * MODULES.html.sh (func_all_modules): Add wait-process.
54811
54812 2003-10-20  Bruno Haible  <bruno@clisp.org>
54813
54814         * m4/wait-process.m4: New file.
54815
54816 2003-10-20  Bruno Haible  <bruno@clisp.org>
54817
54818         * lib/wait-process.h: New file, from GNU gettext.
54819         * lib/wait-process.c: New file, from GNU gettext.
54820
54821 2003-10-19  Jim Meyering  <jim@meyering.net>
54822
54823         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
54824         HPUX 10.20.
54825
54826 2003-10-18  Karl Berry  <karl@gnu.org>
54827
54828         * config/config.guess: update from config.
54829
54830 2003-10-16  Paul Eggert  <eggert@twinsun.com>
54831
54832         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
54833         (getgroups): First arg is int, not size_t.
54834         Don't let 'free' mangle errno.
54835
54836 2003-10-16  Paul Eggert  <eggert@twinsun.com>
54837
54838         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
54839
54840 2003-10-16  Karl Berry  <karl@gnu.org>
54841
54842         * config/config.{guess,sub}: update from config.
54843
54844 2003-10-16  Jim Meyering  <jim@meyering.net>
54845
54846         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
54847         memcpy.
54848
54849 2003-10-15  Paul Eggert  <eggert@twinsun.com>
54850
54851         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
54852         (SIZE_MAX): Remove.
54853         (new_exclude, add_exclude_file): Initial size no longer needs to
54854         be a power of 2.
54855         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
54856         our own address arithmetic overflow checking.
54857
54858         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
54859         (fnmatch): Do not alloca more than 2000 wide characters;
54860         instead, use malloc for large buffers.
54861         Check for address arithmetic overflow, and return -1
54862         with errno set to ENOMEM in that case.
54863         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
54864         (NEW_PATTERN): Do not alloca more than 8000 bytes;
54865         instead, return -1.  Check for address arithmetic overflow.
54866
54867 2003-10-14  Paul Eggert  <eggert@twinsun.com>
54868
54869         Handle invalid suffixes and overflow independently, so that
54870         callers can treat them independently as needed.  Fix some bugs in
54871         suffix handling, e.g., "100k@" was not diagnosed as an invalid
54872         suffix for a human-readable blocksize.  The major caller-visible
54873         change is the addition of a new
54874         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
54875         that both overflow and suffix chars were found.
54876
54877         * lib/human.c (humblock): Don't check separately for invalid suffix
54878         char; that is xstrtoumax's job (now that its bug is fixed).
54879         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
54880         INTMAX_MAX]: New macros.
54881         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
54882         TYPE_MAXIMUM): New macros.
54883         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
54884         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
54885         if overflow occurs, as it's what __strtol does and it's more useful
54886         in practice.
54887         (__xstrtol): If __strtol reports some error other than ERANGE,
54888         reflect it to the caller as LONGINT_INVALID.  If it reports
54889         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
54890         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
54891         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
54892         value.
54893         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
54894         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
54895         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
54896         [defined UINTMAX_MAX]: New macros.
54897
54898 2003-10-14  Bruno Haible  <bruno@clisp.org>
54899
54900         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
54901
54902 2003-10-14  Bruno Haible  <bruno@clisp.org>
54903
54904         * m4/sig_atomic_t: New file, from GNU gettext.
54905         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
54906
54907 2003-10-14  Bruno Haible  <bruno@clisp.org>
54908
54909         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
54910         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
54911         Also use volatile where needed.
54912
54913 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54914
54915         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
54916         Change maintainer from Bruno Haible to 'all'.
54917
54918 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54919
54920         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
54921
54922 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54923
54924         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
54925         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
54926         and define in terms of the other primitives.
54927         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
54928         (SIZE_MAX): Define if not already defined.
54929         (array_size_overflow): New function.
54930         (xalloc_die): Abort instead of exiting if 'error' returns.
54931         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
54932         (xmalloc, xrealloc): Use them.
54933         (xcalloc): Check for address arithmetic overflow.
54934         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
54935         a bit faster than strcpy.
54936
54937 2003-10-10  Simon Josefsson  <jas@extundo.com>
54938
54939         * modules/argp (Depends-on): Add restrict and strcase.
54940
54941 2003-10-10  Simon Josefsson  <jas@extundo.com>
54942
54943         * m4/argp.m4: Add AC_C_INLINE.
54944
54945 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54946
54947         Merge getpass from libc, plus a few fixes.
54948
54949         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
54950         Include <stdbool.h>.
54951         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
54952         __fsetlocking to empty.
54953         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
54954         do include <bits/libc-lock.h>.
54955         Do not include <fcntl.h>; not needed.
54956         [_LIBC]: Include <wchar.h>.
54957         (NOTCANCEL_MODE): New macro.
54958         (flockfile, funlockfile) [_LIBC]: New macros.
54959         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
54960         [!_LIBC]: New macros.
54961         (call_fclose): New function.
54962         (getpass): Use it.  Save tty stream separately; this simplifies the
54963         code and makes it more reliable if stdin happens to equal stdout.
54964         Invoke __fsetlocking on tty.
54965         Handle thread cancellation if needed.
54966         Namespace cleanup (use __tcgetattr, __getline).
54967         Use bool for Booleans.
54968         [USE_IN_LIBIO]: Handle wide streams.
54969         [!_LIBC]: Unconditionally do the fseek, since we don't know what
54970         stream might go where.
54971
54972         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
54973         doesn't have to include <stdio.h> before us.
54974         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
54975         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
54976         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
54977         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
54978         if not declared, so that we can use getpass.c code from libc without
54979         rewriting it.
54980         (flockfile, ftrylockfile, funlockfile): New macros.
54981
54982 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54983
54984         * modules/getpass: Depend on stdbool.
54985
54986 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54987
54988         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
54989
54990 2003-10-07  Karl Berry  <karl@gnu.org>
54991
54992         * config/config.{guess,sub}: update from config.
54993
54994 2003-10-06  Jim Meyering  <jim@meyering.net>
54995             Bruno Haible  <bruno@clisp.org>
54996
54997         This lets translators provide better translations for the
54998         "Written by ..." part of --version output.
54999         * lib/version-etc.h: Include stdarg.h.
55000         (version_etc_copyright): Declare as readonly.
55001         (version_etc): Make this function variadic with a NULL-terminated list
55002         of author name strings.
55003         (version_etc_va): New declaration.
55004         * lib/version-etc.c: Include stdarg.h, stdlib.h.
55005         (version_etc_copyright): Declare as readonly.
55006         (version_etc_va): New function. Provide a different translatable string
55007         for each possible number of authors < 10. Abbreviate when there are 10
55008         authors or more.
55009         (version_etc): Make this function variadic. Call version_etc_va.
55010         Suggestion from Gary V. Vaughan.
55011
55012         * lib/long-options.h (parse_long_options): Change prototype: the
55013         authors string is moved to the end and becomes variadic.
55014         * lib/long-options.c: Include stdarg.h.
55015         (parse_long_options): Make this function variadic, too.
55016         Call version_etc_va, not version_etc.
55017
55018 2003-10-06  Bruno Haible  <bruno@clisp.org>
55019
55020         * modules/version-etc-2: Remove file.
55021         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
55022
55023 2003-10-06  Bruno Haible  <bruno@clisp.org>
55024
55025         * modules/fatal-signal: New file.
55026         * MODULES.html.sh (func_all_modules): Add fatal-signal.
55027
55028 2003-10-06  Bruno Haible  <bruno@clisp.org>
55029
55030         * m4/fatal-signal.m4: New file.
55031         * m4/signalblocking.m4: New file, from GNU gettext.
55032
55033 2003-10-06  Bruno Haible  <bruno@clisp.org>
55034
55035         * lib/version-etc-2.h: Remove file.
55036         * lib/version-etc-2.c: Remove file.
55037
55038 2003-10-06  Bruno Haible  <bruno@clisp.org>
55039
55040         * lib/fatal-signal.h: New file, from GNU gettext.
55041         * lib/fatal-signal.c: New file, from GNU gettext.
55042
55043 2003-10-05  Paul Eggert  <eggert@twinsun.com>
55044
55045         * README: Rework advice for preventing empty .o files.
55046         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
55047         not <sys/types.h>.
55048
55049 2003-10-04  Karl Berry  <karl@gnu.org>
55050
55051         * lib/argp*: update from libc.
55052
55053 2003-10-04  Karl Berry  <karl@gnu.org>
55054
55055         * config/config.{guess,sub}: update from config.
55056
55057 2003-10-02  Bruno Haible  <bruno@clisp.org>
55058
55059         * modules/lchown (Include): Add lchown.h.
55060         * modules/time_r (Include): Use "..." syntax.
55061         * modules/xgetdomainname (Include): Add xgetdomainname.h.
55062
55063 2003-10-01  Simon Josefsson  <jas@extundo.com>
55064
55065         * MODULES.html.sh (func_all_modules): Move gethostname from section
55066         'based on' to section 'lacking' POSIX:2001.
55067
55068 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
55069
55070         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
55071         to output mode on the same stream.
55072
55073 2003-09-29  Paul Eggert  <eggert@twinsun.com>
55074
55075         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
55076         Fix arg typo in previous patch.
55077
55078 2003-09-28  Jim Meyering  <jim@meyering.net>
55079
55080         * lib/error.c: Correct cpp indentation.
55081
55082 2003-09-27  Paul Eggert  <eggert@twinsun.com>
55083
55084         * modules/free: New file.
55085
55086 2003-09-27  Paul Eggert  <eggert@twinsun.com>
55087
55088         * m4/free.m4: New file.
55089
55090 2003-09-27  Paul Eggert  <eggert@twinsun.com>
55091
55092         * lib/minmax.h (MIN, MAX)
55093         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
55094         Omit the special code that used __typeof__, since we worry that
55095         it could be more trouble than it's worth.  See:
55096         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
55097         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
55098
55099         * lib/free.c: New file.
55100
55101 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
55102
55103         Trivial fixes to Makefile.am parts of module listings.
55104         * modules/strstr: Append strstr.h to lib_SOURCES.
55105         * modules/strcase: Likewise, for strcase.h.
55106
55107 2003-09-27  Karl Berry  <karl@gnu.org>
55108
55109         * config/mkinstalldirs: update from automake.
55110
55111 2003-09-26  Paul Eggert  <eggert@twinsun.com>
55112
55113         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
55114         (error_tail): Do not loop, reallocating temporary buffer, since
55115         the output cannot contain more wide characters than the input
55116         contains bytes, the size must be big enough already.  This avoids
55117         one potential size overflow calculation.  Check for size overflow
55118         when calculating temporary buffer size.  Free temporary buffer
55119         when done, if it was allocated with malloc; this plugs a memory
55120         leak.  Remove casts from void * to pointers, that are no longer
55121         needed now that we're assuming C89 or better.
55122
55123         Merge error changes from glibc.
55124
55125         * lib/error.c, error.h: Update copyright notice header to match glibc.
55126         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
55127         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
55128         Disable cancellation while printing error.
55129         * lib/error.h: Prepend __ to parameter names.
55130
55131 2003-09-26  Jim Meyering  <jim@meyering.net>
55132
55133         * lib/error.c (error_tail): Move some declarations
55134         into inner scope where the local variables are used.
55135
55136 2003-09-26  Bruno Haible  <bruno@clisp.org>
55137
55138         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
55139         stpncpy().
55140         Don't define stpncpy through config.h; it's now done through stpncpy.h.
55141
55142 2003-09-26  Bruno Haible  <bruno@clisp.org>
55143
55144         * lib/stpncpy.h (gnu_stpncpy): New declaration.
55145         (stpncpy): Define as alias for gnu_stpncpy.
55146         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
55147
55148 2003-09-25  Simon Josefsson  <jas@extundo.com>
55149
55150         * lib/xgetdomainname.h: New file.
55151         * lib/xgetdomainname.c: New file.
55152
55153 2003-09-25  Simon Josefsson  <jas@extundo.com>
55154             Bruno Haible  <bruno@clisp.org>
55155
55156         * modules/getdomainname: New file.
55157         * modules/xgetdomainname: New file.
55158         * MODULES.html.sh (func_all_modules): Add getdomainname,
55159         xgetdomainname.
55160
55161 2003-09-25  Simon Josefsson  <jas@extundo.com>
55162             Bruno Haible  <bruno@clisp.org>
55163
55164         * m4/getdomainname.m4: New file.
55165
55166 2003-09-25  Simon Josefsson  <jas@extundo.com>
55167             Bruno Haible  <bruno@clisp.org>
55168
55169         * lib/getdomainname.h: New file.
55170         * lib/getdomainname.c: New file.
55171
55172 2003-09-25  Karl Berry  <karl@gnu.org>
55173
55174         * lib/argp-fmtstream.c, argp-help.c: update from libc.
55175
55176 2003-09-25  Karl Berry  <karl@gnu.org>
55177
55178         * config/install-sh: update from automake.
55179
55180 2003-09-25  Bruno Haible  <bruno@clisp.org>
55181
55182         * modules/version-etc-2: New file, from modules/version-etc with
55183         modifications.
55184         * MODULES.html.sh (func_all_modules): Add version-etc-2.
55185
55186 2003-09-25  Bruno Haible  <bruno@clisp.org>
55187
55188         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
55189         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
55190
55191 2003-09-24  Simon Josefsson  <jas@extundo.com>
55192
55193         * modules/xgethostname: Add xgethostname.h.
55194
55195 2003-09-24  Paul Eggert  <eggert@twinsun.com>
55196
55197         * lib/linebuffer.c (freebuffer): Don't free the argument, just
55198         the buffer associated with the argument.  Bug reported by
55199         Simon Josefsson.
55200
55201 2003-09-24  Paul Eggert  <eggert@twinsun.com>
55202
55203         * README: Document assumptions that 'int' is at least 32 bits
55204         wide, that integer arithmetic is 2's complement without overflow,
55205         that there are no holes in integer values, that adding sizes of
55206         two nonoverlapping objects can't overflow, and that all-bits-zero
55207         yields scalar zero.  Fix spelling and capitalization typos.
55208
55209 2003-09-19  Karl Berry  <karl@gnu.org>
55210
55211         * lib/argp.h: update from libc.
55212
55213 2003-09-17  Paul Eggert  <eggert@twinsun.com>
55214
55215         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
55216         to avoid spurious warnings like "AC_RUN_IFELSE was called before
55217         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
55218
55219 2003-09-17  Paul Eggert  <eggert@twinsun.com>
55220
55221         * gnulib-tool: Use "test -h", not "test -L", for portability
55222         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
55223         (tags_regexp): Remove, since \| doesn't conform to POSIX.
55224         (sed_extract_prog): Issue s commands one-by-one, rather than
55225         using \| in one s command.
55226
55227 2003-09-16  Paul Eggert  <eggert@twinsun.com>
55228
55229         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
55230         input error, instead of returning NULL the next time we are called
55231         (and therefore losing track of errno).
55232
55233 2003-09-16  Bruno Haible  <bruno@clisp.org>
55234
55235         * gnulib-tool (func_create_testdir): Warn about duplicated
55236         dependencies.
55237
55238 2003-09-15  Paul Eggert  <eggert@twinsun.com>
55239
55240         * modules/argmatch, modules/fatal, modules/obstack,
55241         modules/xalloc, modules/xgethostname: Sort dependencies by
55242         importance, not alphabetically.
55243
55244 2003-09-15  Paul Eggert  <eggert@twinsun.com>
55245
55246         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
55247         fails, so that the caller gets the proper errno.
55248
55249         * lib/readutmp.c (read_utmp): Likewise.
55250         Check for fstat error.  Close stream and free storage
55251         when failing.
55252
55253 2003-09-14  Karl Berry  <karl@gnu.org>
55254
55255         * config/srclist.txt (strdup.c): disable for c89 changes.
55256
55257 2003-09-14  Jim Meyering  <jim@meyering.net>
55258
55259         * lib/getloadavg.c: Correct cpp indentation.
55260         * lib/strdup.c: Likewise.
55261         * lib/vasnprintf.c: Likewise.
55262
55263 2003-09-14  Bruno Haible  <bruno@clisp.org>
55264
55265         * modules/fwriteerror: New file.
55266         * MODULES.html.sh (func_all_modules): Add fwriteerror.
55267
55268 2003-09-14  Bruno Haible  <bruno@clisp.org>
55269
55270         * lib/fwriteerror.h: New file.
55271         * lib/fwriteerror.c: New file.
55272
55273 2003-09-12  Paul Eggert  <eggert@twinsun.com>
55274
55275         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
55276         modules/xgethostname, modules/xalloc: Depend on exit.
55277
55278 2003-09-12  Paul Eggert  <eggert@twinsun.com>
55279
55280         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
55281
55282         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
55283         and AC_MINIX, too, so that their extensions are available.
55284
55285         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
55286         This macro has been superseded by gl_BACKUPFILE.
55287
55288         More patches to assume C89 or better.
55289
55290         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
55291
55292         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
55293         unconditionally.
55294         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
55295         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
55296         Include <string.h>, <stdlib.h> unconditionally.
55297         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
55298         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
55299         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
55300         headers or for string.h.
55301         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
55302         or strtoul.
55303
55304         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
55305         headers.
55306         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
55307         * m4/userspec.m4 (gl_USERSPEC): Likewise.
55308         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
55309         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
55310         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
55311         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
55312         memcpy, memset.
55313         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
55314         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
55315         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
55316         strtol.
55317         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
55318         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
55319         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
55320         strtoul.
55321
55322 2003-09-12  Paul Eggert  <eggert@twinsun.com>
55323
55324         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
55325         * lib/obstack.c [!defined _LIBC]: Likewise.
55326         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
55327         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
55328         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
55329
55330         More changes to assume C89 or better.
55331
55332         * lib/error.c (error_tail): Assume vprintf.
55333
55334         * lib/argmatch.c (getenv): Remove decl.
55335         * lib/progreloc.c (get_full_program_name): Define via prototype.
55336         * lib/setenv.c (clearenv): Likewise.
55337         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
55338         needed.
55339         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
55340         (malloc, memcpy): Remove decls.
55341         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
55342         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
55343         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
55344         (memcpy): Remove macro.
55345         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
55346         (__P): Remove.  All uses removed.
55347         (PTR): Remove.  All uses changed to void *.
55348         (CHAR_BIT, NULL): Remove.
55349         (spaces, zeros, memset_space, memset_zero)
55350         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
55351         Remove.
55352         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
55353         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
55354         Define with prototype.
55355         Remove now-unnecessary prototype decl.
55356         (extra_args_spec): Assume ANSI C.  All uses changed.
55357         (extra_args_spec_iso): Remove.
55358         (my_strftime, emacs_strftimeu): Define via prototype.
55359         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
55360         unconditionally.
55361         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
55362         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
55363         (strtoul, strtol): Remove decls.
55364         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
55365         LONG_MAX): Remove.
55366         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
55367         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
55368         (LOCALE_PARAM_PROTO): New macro.
55369         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
55370         (INTERNAL (strtol), strtol): Define with a prototype.
55371         (PARAMS): Remove.  All uses removed.
55372         * lib/tempname.c: Include <string.h> unconditionally.
55373         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
55374         * lib/xgethostname.c (main): Define with a prototype.
55375         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
55376         Include <stdlib.h> unconditionally.
55377         (calloc, malloc, realloc, free): Remove decls.
55378         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
55379         Include <stdlib.h> unconditionally.  Sort include file names.
55380         (strtod): Remove.
55381         (xstrtod): Define with a prototype.
55382         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
55383         (strtol, strtoul): Remove decls.
55384
55385 2003-09-11  Paul Eggert  <eggert@twinsun.com>
55386
55387         More patches to assume C89 or better.
55388         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
55389         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
55390         string.h, memchr, STDC_HEADERS.
55391
55392 2003-09-11  Paul Eggert  <eggert@twinsun.com>
55393
55394         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
55395         Include <stdlib.h>, <string.h> unconditionally.
55396         Remove now-unnecessary cast to char *.
55397         * lib/strnlen.c: Include <string.h> unconditionally.
55398         * lib/yesno.c (yesno): Define with a prototype.
55399
55400 2003-09-11  Bruno Haible  <bruno@clisp.org>
55401
55402         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
55403
55404 2003-09-10  Jim Meyering  <jim@meyering.net>
55405
55406         * lib/error.c: Correct indentation of cpp directives.
55407
55408 2003-09-10  Bruno Haible  <bruno@clisp.org>
55409
55410         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
55411         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
55412         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
55413         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
55414         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
55415         <stdlib.h> and <string.h> checks.
55416         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
55417         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
55418
55419 2003-09-10  Bruno Haible  <bruno@clisp.org>
55420
55421         * lib/strcspn.c: Include <string.h> unconditionally.
55422         * lib/strpbrk.c: Include <string.h> unconditionally.
55423         * lib/strstr.c: Include <string.h> unconditionally.
55424         * lib/unicodeio.c: Include <string.h> unconditionally.
55425         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
55426         * lib/unsetenv.c: Likewise.
55427         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
55428         * lib/yesno.c: Include <stdlib.h> unconditionally.
55429         (rpmatch): Add prototype.
55430
55431 2003-09-09  Paul Eggert  <eggert@twinsun.com>
55432
55433         More patches to assume C89 or better.
55434         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
55435         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
55436         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
55437         or for string.h.
55438         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
55439         stdlib.h.
55440         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
55441         C headers.
55442         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
55443         string.h.
55444         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
55445         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
55446         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
55447         or for string.h.
55448         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
55449         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
55450         C headers.
55451         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
55452         memcpy.
55453         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
55454         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
55455         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
55456         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
55457         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
55458         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
55459         string.h, free.
55460         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
55461         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
55462         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
55463         C headers, or for string.h.
55464         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
55465         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
55466         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
55467         headers, memory.h, stdlib.h, string.h, strings.h.
55468         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
55469         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
55470         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
55471         strchr.
55472         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
55473         headers, memory.h, string.h.
55474         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
55475         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
55476         free.
55477         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
55478         headers.
55479         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
55480         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
55481         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
55482         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
55483         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
55484
55485 2003-09-09  Paul Eggert  <eggert@twinsun.com>
55486
55487         More K&R removal.
55488
55489         * lib/acosl.c (main): Use a prototype.
55490         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
55491         tanl.c: Likewise.
55492
55493         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
55494
55495         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
55496         (getopt, etopt_long, getopt_long_only, _getopt_internal)
55497         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
55498         with a prototype.
55499         * lib/getopt.c (const): Remove macro.
55500         Include <string.h> unconditionally.
55501         (my_index): Remove; all uses changed to strchr.
55502         (strlen): Remove decl.
55503         (exchange): Remove forward decl; no longer needed.
55504         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
55505         Define with prototype.
55506         * lib/getopt1.c (const): Remove macro.
55507         (getopt_long, getopt_long_only, main): Define with prototype.
55508
55509         * lib/getugroups.c: Include <string.h> unconditionally.
55510
55511         * lib/getusershell.c: Include <stdlib.h> unconditionally.
55512         (getusershell, setusershell, endusershell, readname, main):
55513         Define with prototypes.
55514
55515         * lib/group-member.c: Include group-member.h first.
55516         Include <stdlib.h> unconditionally.
55517
55518         * lib/hard-locale.c: Include hard-locale.h first.
55519         Include <stdlib.h>, <string.h> unconditionally.
55520
55521         * lib/hash.c (free, malloc): Remove decls.
55522         Include <stdlib.h> unconditionally.
55523
55524         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
55525         (getenv): Do not declare.
55526
55527         * lib/idcache.c: Include <string.h> unconditionally.
55528
55529         * lib/long-options.c: Include long-options.h first, to test interface.
55530         Include <stdlib.h> unconditionally.
55531
55532         * lib/makepath.c: Include makepath.h first, to test interface.
55533         Include <stdlib.h> and <string.h> unconditionally.
55534
55535         * lib/linebuffer.c: Include <stdlib.h>.
55536         (free): Remove decl.
55537
55538         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
55539         stddef.h. rpl_malloc returns void *, not char *.
55540         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
55541         prototype.
55542
55543         * lib/md5.h: Include <limits.h> unconditionally.
55544         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
55545         (__P): Remove; all uses removed.
55546         * lib/md5.c: Include "md5.h" first.
55547         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
55548         md5_buffer, md5_process_bytes, md5_process_block):
55549         Define with prototypes.
55550         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
55551         * lib/sha.c: Include "sha.h" first.
55552         Include <stdlib.h>, <string.h> unconditionally.
55553
55554         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
55555         * lib/memcmp.c (__ptr_t): Likewise.
55556         * lib/memrchr.c (__ptr_t): Likewise.
55557         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
55558         Include <string.h> unconditionally.
55559         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
55560         * lib/memchr.c: Include <stdlib.h> unconditionally.
55561         * lib/memchr.c (LONG_MAX): Remove.
55562         * lib/memrchr.c (LONG_MAX): Likewise.
55563         * lib/memchr.c (__memchr): Define via a prototype.
55564         * lib/memrchr.c (__memrchr): Likewise.
55565         * lib/memcmp.c (__P): Remove, and remove all uses.
55566         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
55567         Remove forward decls; no longer needed.
55568         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
55569         Use types required by C89 in prototype.
55570
55571         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
55572         * lib/savedir.c: Likewise.
55573         * lib/mkdir.c (free): Remove decl.
55574         * lib/rmdir.c (rmdir): Define with a prototype.
55575         * lib/savedir.c: Include savedir.h first, to test interface.
55576
55577         * lib/mktime.c (STDC_HEADERS): Remove.
55578         Include <stdlib.h>, <string.h> unconditionally.
55579
55580         * lib/modechange.c: Include <stdlib.h> unconditionally.
55581         (malloc): Remove decl.
55582
55583         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
55584         (free): Remove decl.
55585
55586         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
55587         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
55588         (This type really should be intptr_t, but that's a C99ism.)
55589         (_obstack_memcpy): Remove: all uses changed to memcpy.
55590         Include <string.h> unconditionally.
55591         (struct obstack): Assume __STDC__ for types of members
55592         chunkfun, freefun, extra_arg.
55593         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
55594         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
55595         obstack_begin, obstack_specify_allocation,
55596         obstack_specify_allocation_with_arg, obstack_chunkfun,
55597         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
55598         Remove unprototyped decls and the macros that use them.
55599         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
55600         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
55601         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
55602         (defined __STDC__ && __STDC__)]:
55603         Remove nonprototyped code.
55604         Include <stdlib.h> unconditionally.
55605         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
55606         _obstack_allocated_p, _obstack_free, obstack_free,
55607         _obstack_memory_used, print_and_abort):
55608         Define using prototypes.
55609         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
55610         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
55611         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
55612         obstack_next_free, obstack_object_size, obstack_room) [0]:
55613         Remove unused, unprototyped code.
55614
55615         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
55616
55617         * lib/physmem.c (physmem_total, physmem_available, main): Define
55618         with prototypes.
55619
55620         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
55621         (main): Define with a prototype.
55622
55623         * lib/posixver.c (getenv): Remove decl.
55624
55625         * lib/putenv.c (malloc): Returns void *, not char *.
55626         Include <string.h> unconditionally.
55627         (strchr, memcpy, NULL): Do not define.
55628
55629         * lib/readtokens.c: Include readtokens.h first, to test interface.
55630         Include <stdlib.h>, <string.h> unconditionally.
55631         (init_tokenbuffer): Define with a prototype.
55632
55633         * lib/regex.c (PARAMS): Remove.  All uses removed.
55634         All uses of _RE_ARGS removed, too.
55635         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
55636         unconditionally.
55637         (bzero): Assume memset exists.
55638         (memcmp, memcpy, NULL): Remove.
55639         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
55640         char, or assignments to local vars of type signed char.
55641         (init_syntax_once, PREFIX(extract_number_and_incr),
55642         PREFIX(print_partial_compiled_pattern),
55643         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
55644         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
55645         PREFIX(regex_grow_registers), PREFIX(regex_compile),
55646         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
55647         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
55648         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
55649         wcs_compile_range, byte_compile_range, truncate_wchar,
55650         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
55651         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
55652         count_mbs_length, wcs_re_match_2_internal,
55653         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
55654         PREFIX(alt_match_null_string_p),
55655         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
55656         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
55657         regfree, PREFIX(extract_number)): Define with prototype.  Remove
55658         now-unnecessary declaration, if any.
55659         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
55660         regcomp, regexec):
55661         Remove now-unnecessary casts among pointer types.
55662         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
55663
55664         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
55665         (free): Remove decl.
55666
55667         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
55668
55669         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
55670         (free): Remove decl.
55671
55672         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
55673         * lib/xgetcwd.c: Likewise.
55674
55675         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
55676         (free): Remove decl.
55677
55678         * lib/strchrnul.c (strchrnul): Define with a prototype.
55679         Fix bug: c_in was not converted to char before searching.
55680
55681         The following changes are not K&R related:
55682
55683         * lib/group-member.h: Include <sys/types.h>, so that this file is
55684         self-contained.
55685         * lib/makepath.h: Likewise.
55686
55687         * lib/getusershell.c (readname, default_index, line_size, readname):
55688         Use size_t, not int, for sizes.
55689         (readname): If the size overflows, report an error instead of
55690         looping forever.
55691
55692 2003-09-09  Paul Eggert  <eggert@twinsun.com>
55693
55694         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
55695         libc.
55696
55697 2003-09-09  Paul Eggert  <eggert@twinsun.com>
55698
55699         * README: New section: portability guidelines.
55700
55701 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
55702
55703         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
55704         C89 spec.
55705
55706 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
55707
55708         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
55709
55710 2003-09-08  Paul Eggert  <eggert@twinsun.com>
55711
55712         Assume C89 or better; remove K&R cruft.
55713         A few of these changes were first proposed by Derek Robert Price
55714         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
55715
55716         * lib/addext.c: Include <string.h> unconditionally.
55717         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
55718         Don't declare getenv or malloc.
55719
55720         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
55721         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
55722         (NULL): Remove.
55723         (find_stack_direction, alloca): Use prototypes.
55724
55725         * lib/atexit.c (atexit): Define using a prototype.
55726
55727         * lib/basename.c, dirname.c, stripslash.c:
55728         Include <string.h> unconditionally.
55729
55730         * lib/bcopy.c: Include <stddef.h>.
55731         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
55732
55733         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
55734
55735         * lib/error.h (error, error_at_line, error_print_progname)
55736         [! (defined (__STDC__) && __STDC__)]: Remove decls.
55737         * lib/error.c: Include error.h first, to check interface.
55738         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
55739         (VA_START): Remove; all uses changeed to va_start.
55740         (exit, strerror): Remove decls.
55741         (error_print_progname): Prototype uncondionally.
55742         Don't include <errno.h>; no longer needed.
55743         (private_strerror): Remove.
55744         (error_tail): Always define.
55745         (error, error_at_line): Assume C89 or better; always use prototypes.
55746         * lib/fatal.c: Include "fatal.h" first, to test interface.
55747         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
55748         (VA_START): Remove; all uses changed to va_start.
55749         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
55750         this case.
55751         (exit): Remove decl.
55752         (fatal): Prototype unconditionally.  Assume va_start works.
55753         Abort at end, to pacify gcc.
55754
55755         * lib/euidaccess.c (main): Define with a prototype.
55756
55757         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
55758
55759         * lib/exitfail.c: Include <stdlib.h> unconditionally.
55760
55761         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
55762         prototypes.
55763         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
55764         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
55765         (getenv): Remove decl.
55766         (fnmatch): Define using a prototype.
55767         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
55768         (FCT): Define using a prototype.
55769
55770         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
55771
55772         * lib/gethostname.c: Include <stddef.h>.
55773         (gethostname): Define with prototype.  Length is size_t, not int.
55774
55775 2003-09-08  Paul Eggert  <eggert@twinsun.com>
55776
55777         Assume C89 or better; remove K&R cruft.
55778         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
55779         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
55780         string.h, getenv, malloc.
55781         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
55782         headers.
55783         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
55784         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
55785         do not check for strerror.
55786         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
55787         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
55788         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
55789         do not check for doprnt or vprintf.
55790         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
55791         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
55792
55793 2003-09-08  Paul Eggert  <eggert@twinsun.com>
55794
55795         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
55796         getversion.c should have been removed then, but was accidentally
55797         preserved.
55798
55799         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
55800         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
55801
55802 2003-09-08  Karl Berry  <karl@gnu.org>
55803
55804         * config/config.sub, config.guess, srclistvars.sh: update from savannah
55805                 config, forget about prep.
55806
55807         * config/depcomp, missing: update from automake.
55808
55809 2003-09-07  Paul Eggert  <eggert@twinsun.com>
55810
55811         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
55812         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
55813
55814 2003-09-07  Paul Eggert  <eggert@twinsun.com>
55815
55816         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
55817         copy_tm_result.  Bug reported by Simon Josefsson in
55818         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
55819
55820 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55821
55822         * m4/time_r.m4: New file.
55823         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
55824         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
55825         is. Check for timegm declaration.
55826         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
55827         Do not check for gmtime_r.
55828         Replace mktime if __mktime_internal does not exist and if mktime
55829         hasn't been replaced already.
55830
55831 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55832
55833         * lib/time_r.c, lib/time_r.h: New files.
55834
55835         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
55836         __localtime_r.
55837         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
55838         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
55839
55840         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
55841         __gmtime_r.
55842         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
55843         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
55844         Include <time_r.h>.
55845
55846         * lib/timegm.c: Switch to glibc implementation, with the following
55847         changes:
55848         [defined HAVE_CONFIG_H]: Include <config.h>.
55849         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
55850         (__mktime_internal) [!defined _LIBC]: New decl.
55851         (__gmtime_r) [!defined _LIBC]: New macro and function.
55852         (timegm): Use a prototype, since gnulib assumes C89.
55853         Do not bother declaring tmp to be const, as it's not really usefu.
55854         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
55855         (timegm): Declare only if HAVE_DECL_TIMEGM.
55856
55857 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55858
55859         * MODULES.html.sh (func_all_modules): Add time_r.
55860         * modules/time_r: New file.
55861         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
55862         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
55863
55864 2003-09-03  Paul Eggert  <eggert@twinsun.com>
55865
55866         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
55867         Bug reported by Lute Kamstra in
55868         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
55869
55870         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
55871         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
55872         course with correspondingly smaller numbers for tomorrow and
55873         yesterday.  From Tadayoshi Funaba.  Originally installed into
55874         sh-utils on 1999-08-07, but the patch got lost (I guess during the
55875         coreutils merge?).
55876
55877 2003-08-31  Simon Josefsson  <jas@extundo.com>
55878
55879         * modules/timegm: New file.
55880         * MODULES.html.sh (func_all_modules): Add timegm.
55881
55882 2003-08-31  Simon Josefsson  <jas@extundo.com>
55883
55884         * m4/timegm.m4: New file.
55885
55886 2003-08-31  Simon Josefsson  <jas@extundo.com>
55887
55888         * lib/timegm.h: New file.
55889         * lib/timegm.c: New file.  Based on
55890         wget-1.8.2/src/http.c:mktime_from_utc.
55891
55892 2003-08-31  Karl Berry  <karl@gnu.org>
55893
55894         * lib/argp.h: update from libc.
55895
55896 2003-08-28  Bruno Haible  <bruno@clisp.org>
55897
55898         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
55899         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
55900         followed by '#define fnmatch fnmatch_posix' gives an error.
55901
55902 2003-08-28  Bruno Haible  <bruno@clisp.org>
55903
55904         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
55905         warning on QNX, which defines O_BINARY to 000000.
55906
55907 2003-08-27  Jim Meyering  <jim@meyering.net>
55908
55909         * m4/mkstemp.m4: Require that the system mkstemp be able to create
55910         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
55911         would fail after 32.  Reported by Danny Levinson.  Details here:
55912         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
55913
55914 2003-08-24  Bruno Haible  <bruno@clisp.org>
55915
55916         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
55917         MSVC7 <stdio.h> is included later.
55918
55919 2003-08-22  Simon Josefsson  <jas@extundo.com>
55920
55921         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
55922
55923 2003-08-20  Karl Berry  <karl@gnu.org>
55924
55925         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
55926
55927 2003-08-20  Bruno Haible  <bruno@clisp.org>
55928
55929         * modules/progname: New file.
55930         * MODULES.html.sh (func_all_modules): Add progname.
55931
55932 2003-08-20  Bruno Haible  <bruno@clisp.org>
55933
55934         * lib/progname.h: New file, from GNU gettext.
55935         * lib/progname.c: New file, from GNU gettext.
55936         * lib/progreloc.c: New file, from GNU gettext.
55937
55938 2003-08-19  Jim Meyering  <jim@meyering.net>
55939
55940         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
55941         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
55942
55943 2003-08-19  Bruno Haible  <bruno@clisp.org>
55944
55945         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
55946         more.
55947
55948 2003-08-19  Bruno Haible  <bruno@clisp.org>
55949
55950         * lib/xstrdup.c: Assume <string.h> exists.
55951
55952 2003-08-18  Paul Eggert  <eggert@twinsun.com>
55953
55954         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
55955         in makefile rules.
55956
55957 2003-08-18  Jim Meyering  <jim@meyering.net>
55958
55959         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
55960         * m4/lib-ld.m4: Likewise.
55961
55962 2003-08-18  Jim Meyering  <jim@meyering.net>
55963
55964         * lib/setenv.h: Indent nested cpp directive.
55965         * lib/vasnprintf.c: Remove trailing blanks.
55966
55967 2003-08-17  Simon Josefsson  <jas@extundo.com>
55968
55969         * modules/xstrndup: New file.
55970         * MODULES.html.sh (func_all_modules): Add xstrndup.
55971
55972 2003-08-17  Simon Josefsson  <jas@extundo.com>
55973
55974         * modules/argp: Fix autoconf macro name. Add more dependencies.
55975
55976 2003-08-17  Simon Josefsson  <jas@extundo.com>
55977
55978         * m4/xstrndup.m4: New file.
55979
55980 2003-08-17  Simon Josefsson  <jas@extundo.com>
55981
55982         * m4/argp.m4: New file.
55983
55984 2003-08-17  Simon Josefsson  <jas@extundo.com>
55985             Bruno Haible  <bruno@clisp.org>
55986
55987         * lib/xstrndup.h: New file.
55988         * lib/xstrndup.c: New file.
55989
55990 2003-08-17  Bruno Haible  <bruno@clisp.org>
55991
55992         * modules/strndup (Files, Include): Add lib/strndup.h.
55993
55994 2003-08-17  Bruno Haible  <bruno@clisp.org>
55995
55996         * modules/euidaccess (Files): Add lib/euidaccess.h.
55997
55998 2003-08-17  Bruno Haible  <bruno@clisp.org>
55999
56000         * lib/strndup.h: New file.
56001
56002 2003-08-17  Bruno Haible  <bruno@clisp.org>
56003
56004         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
56005         like AC_GNU_SOURCE.
56006         * modules/extensions (configure.ac): Comment out the invocation of
56007         gl_USE_SYSTEM_EXTENSIONS.
56008
56009 2003-08-16  Paul Eggert  <eggert@twinsun.com>
56010
56011         Merges from coreutils, etc.
56012         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
56013         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
56014         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
56015         fixing a typo.
56016         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
56017         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
56018
56019 2003-08-16  Paul Eggert  <eggert@twinsun.com>
56020
56021         Document merge from coreutils.
56022         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
56023         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
56024         * modules/utime: Add m4/utimes-null.m4.
56025
56026 2003-08-16  Paul Eggert  <eggert@twinsun.com>
56027
56028         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
56029         space, undoing this 2003-08-12 change:
56030         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
56031
56032 2003-08-16  Paul Eggert  <eggert@twinsun.com>
56033
56034         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
56035         strtoul.c from libc, undoing this 2003-08-12 change:
56036         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
56037
56038 2003-08-16  Jim Meyering  <jim@meyering.net>
56039
56040         Merges from coreutils.
56041         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
56042         prefix.  Adjust cache variables similarly.  Create 500 rather than
56043         just 300 files, to exercise bug on Darwin6.5, too.
56044         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
56045         $missing_dir.
56046         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
56047         AM_SYS_POSIX_TERMIOS.
56048         Reported by mkc@mathdogs.com.
56049         Also change use of $am_cv_sys_posix_termios
56050         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
56051         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
56052         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
56053         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
56054         in /proc/mounts until it finds one with matching device number.  This
56055         is unnecessary when the FILE argument *is* a mount point.  No stat call
56056         is necessary in that case.  So, disable the statvfs-testing code on
56057         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
56058         as RedHat bug# 84846.
56059         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
56060         to 1MB, so as not to render systems with no stack size limit (e.g.,
56061         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
56062         Include <unistd.h>.  On some systems,
56063         it is required for the definition of _SC_PAGESIZE.
56064
56065 2003-08-16  Jim Meyering  <jim@meyering.net>
56066
56067         Merge from coreutils.
56068         * lib/xstrtoimax.c: #else #if -> #elif.
56069         * lib/xstrtoumax.c: Likewise.
56070
56071 2003-08-16  Jim Meyering  <jim@meyering.net>
56072
56073         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
56074         * m4/utimes.m4: Removed.
56075         * m4/utimes-null.m4: Renamed from utimes.m4.
56076
56077         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
56078         to 1MB, so as not to render systems with no stack size limit (e.g.,
56079         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
56080         Include <unistd.h>.  On some systems,
56081         it is required for the definition of _SC_PAGESIZE.
56082
56083 2003-08-16  Jim Meyering  <jim@meyering.net>
56084         and Paul Eggert  <eggert@cs.ucla.edu>
56085
56086         Merges from coreutils, etc.
56087
56088         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
56089         using the latest version from cvs.  This avoids problems with #line
56090         directives using a vendor (Sun) compiler.
56091         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
56092         Don't set GETGROUPS_LIB here; now it's
56093         done via getgroups.m4's wrapper function.
56094         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
56095         rather than just in sh-util/configure.in, so that the
56096         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
56097         same.
56098         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
56099         AC_FUNC_GETLOADAVG where to find getloadavg.c.
56100         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
56101         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
56102         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
56103         Remove code that is now done by the newly-required macros.
56104         Append $(EXEEXT) to DF_PROG.
56105         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
56106         Do not invoke or require the following here,
56107         since prereq.m4 or some gnulib .m4 now does this for us:
56108         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
56109         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
56110         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
56111         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
56112         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
56113         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
56114         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
56115         AC_FUNC_OBSTACK.
56116         Do not replace the following functions, as this is now the job
56117         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
56118         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
56119         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
56120         atexit getpass, strdup, getpagesize.
56121         Replace 'raise'.
56122         Do not check for the following functions, as this is now the job
56123         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
56124         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
56125         setregid.
56126         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
56127         Check for sys/sysctl.h.
56128         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
56129         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
56130         of checking for ssize_t ourselves.
56131
56132         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
56133         Require every macro that gnulib/modules/* suggests for us.
56134         (jm_PREREQ_ADDEXT): New macro.
56135         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
56136         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
56137
56138         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
56139         (gl_PHYSMEM): Use it.
56140         Also check for `table' function.
56141         Check for new headers and functions.
56142         Add check for sys/sysmp.h.
56143         With suggestions from Kaveh Ghazi.
56144         Ignore headers that are present but cannot be compiled.  This
56145         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
56146         C 5.4.
56147
56148 2003-08-15  Paul Eggert  <eggert@twinsun.com>
56149
56150         Document merge from coreutils.
56151         * modules/userspec: Depend on posixver.
56152         * modules/strftime: Depend on tzset.
56153
56154 2003-08-15  Paul Eggert  <eggert@twinsun.com>
56155
56156         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
56157         rather than tab, after '#' in shell-script copyright notices.
56158         Suggested by Bruno Haible.
56159
56160 2003-08-15  Paul Eggert  <eggert@twinsun.com>
56161
56162         * config/srclist-update: Use three spaces, rather than tab, after '#'
56163         in shell-script copyright notices.  Suggested by Bruno Haible.
56164         Remove unnecessary parenthesization in regular expression.
56165
56166 2003-08-15  Jim Meyering  <jim@meyering.net>
56167
56168         Merge from coreutils.
56169         * lib/xgethostname.c: Include <stdlib.h>.
56170         (xghostname): Don't exit for anything other than memory-related
56171         failure; just return NULL.
56172         * lib/userspec.c: Include "posixver.h".
56173         (parse_user_spec): Accept `.' as a separator only
56174         in pre-POSIX-200112 mode.
56175         * lib/strtoimax.c: Use #elif rather than #else #if.
56176         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
56177         Remove function, now that we can rely on a working tzset function.
56178         [!_LIBC]: Ensure that the required autoconf test has been run.
56179         [!defined _NL_CURRENT && HAVE_STRFTIME]:
56180         Use underlying_strftime for %r.
56181         * lib/sha.c: Merge in some clean-up and optimization changes from
56182         glibc.
56183         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
56184         Ensure that it is a multiple of 64.
56185         Rearrange loop exit tests so as to avoid performing an
56186         additional fread after encountering an error or EOF.
56187         * lib/realloc.c: Update copyright date.
56188
56189 2003-08-15  Jim Meyering  <jim@meyering.net>
56190         and Paul Eggert  <eggert@twinsun.com>
56191
56192         Merge from coreutils.
56193         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
56194         member but strut utmpx does not.  Needed for AIX 4.3.3.
56195         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
56196
56197 2003-08-15  Jim Meyering  <jim@meyering.net>
56198         and Paul Eggert  <eggert@cs.ucla.edu>
56199
56200         Merges from coreutils, etc.
56201         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
56202         Require gl_FUNC_TZSET_CLOBBER.
56203         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
56204         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
56205         members.
56206
56207 2003-08-14  Paul Eggert  <eggert@twinsun.com>
56208
56209         Help the merge from coreutils.
56210         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
56211         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
56212         * m4/tzset.m4: Use it too.
56213
56214 2003-08-14  Paul Eggert  <eggert@twinsun.com>
56215
56216         * modules/tzset: New file.
56217
56218 2003-08-14  Jim Meyering  <jim@meyering.net>
56219
56220         Merges from coreutils.
56221         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
56222         variable names, rather than @FNMATCH_H@.
56223         * modules/alloca: Likewise for $(ALLOCA_H).
56224
56225         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
56226         the three copies of the literal target, `fnmatch.h'.
56227         * modules/alloca (alloca.h): Likewise.
56228
56229 2003-08-14  Jim Meyering  <jim@meyering.net>
56230
56231         Merge from coreutils.
56232         * m4/tzset.m4: New file.
56233         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
56234         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
56235         otherwise, AIX 5.1 systems would end up using the latter.
56236         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
56237         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
56238         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
56239         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
56240
56241 2003-08-14  Jim Meyering  <jim@meyering.net>
56242
56243         Merge from coreutils.
56244         * lib/obstack.h: Whitespace changes.
56245         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
56246         and xcalloc return values.
56247         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
56248         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
56249         hang on OSF/1 5.1 for DIR on both local and remote file systems.
56250         Reported by (and fix confirmed by) Nelson H. F. Beebe.
56251         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
56252         error from mntctl.
56253         Use mntctl's return value to drive the entry-processing loop, since
56254         we can't rely on the value of the vmt_length member in the last
56255         entry.  On some systems doing so could result in exhausting
56256         virtual memory.  Based in part on a patch from Mike Jetzer.
56257
56258 2003-08-14  Jim Meyering  <jim@meyering.net>
56259         and Paul Eggert  <eggert@twinsun.com>
56260
56261         Merges from coreutils, plus other fixes.
56262         * lib/physmem.c: Merge in portability changes from gcc/libiberty
56263         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
56264         for credits and details.  Thanks to Kaveh Ghazi for helping
56265         to keep these files in sync.
56266         (ARRAY_SIZE): Define it.
56267         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
56268         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
56269         (memcasecmp): Don't assume size_t fits in unsigned int.
56270         Remove casts and duplicate code.
56271         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
56272         (memcpy): Remove definition.
56273         Merge in some clean-up and optimization changes from glibc.
56274         [BLOCKSIZE]: Move definition to top of file.
56275         Ensure that it is a multiple of 64.
56276         Rearrange loop exit tests so as to avoid performing an
56277         additional fread after encountering an error or EOF.
56278         * lib/md5.h (md5_uintptr): Define.
56279         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
56280         return to the initial working directory.  Preserve errno
56281         for caller.
56282         * lib/idcache.c: Include "xalloc.h".
56283         (xmalloc, xrealloc): Remove decls.
56284         (getuser): Remove casts no longer required in C89.
56285         * lib/human.c: Include stdio.h, for sprintf.
56286         * lib/group-member.c: Include "xalloc.h".
56287         (xmalloc, xrealloc): Remove decls.
56288         (get_group_info): Remove casts no longer required in C89.
56289         * lib/getusershell.c (readname): Remove casts no longer required in
56290         C89.
56291         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
56292         * lib/getline.c: Whitespace fix, from coreutils.
56293
56294 2003-08-13  Paul Eggert  <eggert@twinsun.com>
56295
56296         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
56297         Check for isascii.
56298
56299         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
56300         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
56301         Undo previous (whitespace-only) change.
56302
56303 2003-08-13  Paul Eggert  <eggert@twinsun.com>
56304
56305         * lib/exclude.c: Include <ctype.h>
56306         (IN_CTYPE_DOMAIN): New macro.
56307         (is_space): New fn.
56308         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
56309         and empty lines.
56310
56311         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
56312         Undo previous (whitespace-only) change.
56313
56314 2003-08-13  Paul Eggert  <eggert@twinsun.com>
56315
56316         * config/srclist-update: Change update back to the old behavior,
56317         leaving whitespace alone.  Use one 'sed' command rather than a
56318         pipeline.
56319         (fixlicense): Now a variable, not a function.
56320         (remove_trailing_blanks): Remove.
56321         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
56322         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
56323         Undo previous (whitespace-only) change.
56324
56325 2003-08-12  Paul Eggert  <eggert@twinsun.com>
56326
56327         Merge from coreutils.
56328         * modules/euidaccess: Add lib_SOURCES, include for new
56329         file euidaccess.h
56330
56331 2003-08-12  Paul Eggert  <eggert@twinsun.com>
56332
56333         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
56334         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
56335         Normalize leading white space and remove trailing white space.
56336
56337         Merge from coreutils
56338         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
56339
56340         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
56341         0.12.1.  These files are now being upgraded automatically by
56342         ../config/srclist-update.
56343
56344 2003-08-12  Paul Eggert  <eggert@twinsun.com>
56345
56346         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
56347         Normalize leading white space and remove trailing white space.
56348         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
56349         notice, as per ../config/srclist-update.
56350
56351         Merge from coreutils.
56352         * lib/euidaccess.h: New file.
56353         * lib/euidaccess.c: Include it.
56354         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
56355         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
56356         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
56357
56358 2003-08-12  Paul Eggert  <eggert@twinsun.com>
56359
56360         * config/srclist-update: Add copyright notice.
56361         (remove_id_lines, remove_trailing_blanks): New constants.
56362         (fixfile): Use them to normalize spacing a bit in copied files.
56363         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
56364         Normalize leading white space and remove trailing white space.
56365
56366         * config/texinfo.tex: Sync with texinfo.
56367
56368         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
56369         strtoul.c from libc, to merge coreutils whitespace changes.
56370
56371         * config/srclist.txt: Get the following m4 files from gettext:
56372         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
56373         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
56374         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
56375         wint_t.m4.
56376
56377 2003-08-12  Karl Berry  <karl@gnu.org>
56378
56379         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
56380         been made.
56381
56382 2003-08-11  Paul Eggert  <eggert@twinsun.com>
56383
56384         * modules/gnu-source, m4/gnu-source.m4:
56385         Remove; we're assuming Autoconf 2.54 or later now.
56386         Suggested by Bruno Haible.
56387         * MODULES.html.sh (func_all_modules): Remove gnu-source.
56388
56389 2003-08-11  Bruno Haible  <bruno@clisp.org>
56390
56391         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
56392
56393 2003-08-11  Bruno Haible  <bruno@clisp.org>
56394
56395         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
56396         (vasnprintf): Use it instead of wcslen.
56397
56398 2003-08-11  Bruno Haible  <bruno@clisp.org>
56399
56400         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
56401         value to ensure that _Bool promotes to int. Use #define for _Bool when
56402         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
56403
56404 2003-08-10  Karl Berry  <karl@gnu.org>
56405
56406         * lib/regex.h: update from libc (whitespace fix).
56407
56408 2003-08-09  Paul Eggert  <eggert@twinsun.com>
56409
56410         Merge some files from coreutils.  These changes were
56411         originally made by Jim Meyering.
56412         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
56413         many older Unixes require this.
56414         * lib/alloca.c (alloca): Remove cast to argument of free;
56415         no longer needed in C89.
56416         * lib/alloca_.h, regex.h: Fix white space to match
56417         what GNU indent does.
56418
56419 2003-08-09  Paul Eggert  <eggert@twinsun.com>
56420
56421         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
56422         apparently Emacs's Unicode mode got confused before my 2003-08-05
56423         checkin.
56424
56425 2003-08-08  Paul Eggert  <eggert@twinsun.com>
56426
56427         * m4/extensions.m4: New file.
56428         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
56429         Require gl_USE_SYSTEM_EXTENSIONS.
56430         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
56431         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
56432
56433 2003-08-08  Paul Eggert  <eggert@twinsun.com>
56434
56435         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
56436         * modules/extensions, modules/gnu-source: New files.
56437         * modules/timespec, modules/unlocked-io: Depend on extensions.
56438
56439 2003-08-07  Paul Eggert  <eggert@twinsun.com>
56440
56441         * modules/restrict: New file.
56442         * MODULES.html.sh (func_all_modules): Add restrict.
56443         * modules/regex: Depend on restrict.
56444
56445 2003-08-07  Paul Eggert  <eggert@twinsun.com>
56446
56447         * m4/restrict.m4: New file.
56448         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
56449
56450 2003-08-07  Bruno Haible  <bruno@clisp.org>
56451
56452         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
56453         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
56454
56455 2003-08-07  Bruno Haible  <bruno@clisp.org>
56456
56457         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
56458         makes the module 'getndelim2' compatible with the module 'getline'.
56459
56460 2003-08-05  Paul Eggert  <eggert@twinsun.com>
56461
56462         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
56463         byte with "\201" to avoid glitches when editing that source file
56464         with multi-gnome-terminal.
56465
56466 2003-08-05  Paul Eggert  <eggert@twinsun.com>
56467
56468         * lib/bumpalloc.h: Remove.
56469
56470 2003-08-05  Paul Eggert  <eggert@twinsun.com>
56471
56472         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
56473         * modules/bumpalloc: Remove.
56474
56475 2003-08-04  Paul Eggert  <eggert@twinsun.com>
56476
56477         * lib/getloadavg.c: Change copyright notice and spacing to conform to
56478         GNU coding style.
56479
56480         Merge from coreutils.
56481         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
56482         1. From glibc.
56483         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
56484         from Karl Berry, implemented by Jim Meyering.
56485         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
56486         from Dmitry V. Levin.
56487         Remove anachronistic cast of xrealloc.
56488         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
56489         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
56490         type. Otherwise, it wouldn't compile with at least /bin/cc on
56491         ymp-cray-unicos9.0.2.X.
56492         Combine two mostly-identical uses of alloca into one.
56493         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
56494
56495 2003-08-04  Dave Love  <d.love@dl.ac.uk>
56496
56497         [From Emacs.]
56498
56499         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
56500         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
56501         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
56502         obsolete NLIST_NAME_UNION.
56503         [__GNU__]: Undef BSD and FSCALE.
56504         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
56505
56506 2003-08-03  Paul Eggert  <eggert@twinsun.com>
56507
56508         * lib/stdbool_.h (_Bool): Make it signed char, instead of
56509         an enum type, so that it's guaranteed to promote to int.  See:
56510         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
56511
56512 2003-08-03  Karl Berry  <karl@gnu.org>
56513
56514         * config/depcomp: update from automake.
56515
56516 2003-07-31  Paul Eggert  <eggert@twinsun.com>
56517
56518         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
56519         (strerror): Don't assume that a printable int fits in 14 bytes.
56520
56521 2003-07-31  Bruno Haible  <bruno@clisp.org>
56522
56523         * modules/getpass-gnu: New file.
56524         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
56525
56526 2003-07-31  Bruno Haible  <bruno@clisp.org>
56527
56528         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
56529
56530 2003-07-24  Karl Berry  <karl@gnu.org>
56531
56532         * config/missing: update from automake.
56533
56534 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
56535             Bruno Haible  <bruno@clisp.org>
56536
56537         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
56538         * lib/getline.c (getline, getdelim): Likewise.
56539         Remove _GNU_SOURCE define; now it's defined in config.h through
56540         m4/getline.m4.
56541
56542 2003-07-23  Karl Berry  <karl@gnu.org>
56543
56544         * config/config.sub: update from prep.
56545
56546 2003-07-22  Paul Eggert  <eggert@twinsun.com>
56547
56548         * modules/xalloc (Depends-on): Add exitfail.
56549         * modules/xmemcoll: Likewise.
56550
56551 2003-07-22  Paul Eggert  <eggert@twinsun.com>
56552
56553         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
56554         over-parenthesization in macros.
56555
56556         Sync with coreutils.
56557
56558         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
56559         required by C99.
56560
56561         Use `exit_failure' for xalloc and xmemcoll instead of their own
56562         private exit-failure variables.
56563         * lib/xalloc.h (xalloc_exit_failure): Remove.
56564         * lib/xmalloc.c: Likewise.  Include exitfail.h.
56565         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
56566         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
56567         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
56568         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
56569
56570 2003-07-20  Jim Meyering  <jim@meyering.net>
56571
56572         * modules/closeout (Depends-on): Add exitfail.
56573         Suggestion from Bruno Haible.
56574
56575 2003-07-19  Karl Berry  <karl@gnu.org>
56576
56577         * config/config.sub: update from prep.
56578
56579 2003-07-18  Paul Eggert  <eggert@twinsun.com>
56580
56581         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
56582         Remove.
56583         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
56584         to test that it can stand by itself.  Include "exitfail.h".
56585         Clients should set exit_failure instead.
56586         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
56587
56588 2003-07-18  Bruno Haible  <bruno@clisp.org>
56589
56590         * modules/getndelim2: New file.
56591         * modules/getline: Share files with module getndelim2.
56592         * modules/getnline: Depend on getndelim2 instead of sharing files with
56593         it. Add getnline.c to lib_SOURCES.
56594         * MODULES.html.sh (func_all_modules): Add getndelim2.
56595
56596 2003-07-18  Bruno Haible  <bruno@clisp.org>
56597
56598         * m4/getndelim2.m4: New file.
56599         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
56600         invoke gl_PREREQ_GETNDELIM2.
56601         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
56602         gl_PREREQ_GETNDELIM2.
56603         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
56604         gl_GETNDELIM2.
56605
56606 2003-07-18  Bruno Haible  <bruno@clisp.org>
56607
56608         * lib/getndelim2.h: New file.
56609         * lib/getndelim2.c: Make into a module of its own. Include config.h,
56610         getndelim2.h.
56611         (getndelim2): Make non-static. Change return type to ssize_t.
56612         * lib/getline.h: Change argument names.
56613         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
56614         * lib/getnline.c: Include getndelim2.h.
56615
56616 2003-07-18  Andreas Schwab  <schwab@suse.de>
56617
56618         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
56619
56620 2003-07-17  Karl Berry  <karl@gnu.org>
56621
56622         * config/config.sub: update from prep.
56623
56624 2003-07-17  Bruno Haible  <bruno@clisp.org>
56625
56626         * modules/getnline: New file.
56627         * modules/getline: Add lib/getndelim2.c to source file list.
56628         * MODULES.html.sh (func_all_modules): Add getnline.
56629
56630 2003-07-17  Bruno Haible  <bruno@clisp.org>
56631
56632         * m4/getnline.m4: New file.
56633
56634 2003-07-17  Bruno Haible  <bruno@clisp.org>
56635
56636         * m4/Makefile.am.in: Remove file.
56637         * m4/Makefile.am: Remove file.
56638         * m4/Makefile.in: Remove file.
56639
56640 2003-07-17  Bruno Haible  <bruno@clisp.org>
56641
56642         * lib/getnline.h: New file.
56643         * lib/getnline.c: New file.
56644         * lib/getndelim2.c: New file, extracted from getline.c.
56645         (getndelim2): Renamed from getdelim2, with added nmax argument.
56646         * lib/getline.c: Include getndelim2.c.
56647         (getdelim2): Moved out to getndelim2.c.
56648         (getline, getdelim): Update.
56649
56650 2003-07-17  Bruno Haible  <bruno@clisp.org>
56651
56652         * lib/Makefile.am: Remove file.
56653         * lib/Makefile.in: Remove file.
56654
56655 2003-07-17  Bruno Haible  <bruno@clisp.org>
56656
56657         * configure.in: Remove file.
56658         * Makefile.in: Remove file.
56659
56660 2003-07-17  Bruno Haible  <bruno@clisp.org>
56661
56662         * MODULES.html.sh: Put the </BODY> right before </HTML>.
56663
56664 2003-07-16  Karl Berry  <karl@gnu.org>
56665
56666         * config/srclist-update: was running fixlicense twice, which caused
56667                 texinfo.tex to be nullified for some reason.  Simplify,
56668                 $gplsrc is no longer needed as far as I can see?
56669
56670 2003-07-16  Jim Meyering  <jim@meyering.net>
56671
56672         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
56673
56674 2003-07-15  Paul Eggert  <eggert@twinsun.com>
56675
56676         * config/srclist.txt: Get the following files from gettext-runtime/intl
56677         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
56678         ref-del.sin.  From Bruno Haible.
56679         * config/srclist-update (fixfile): Change grep pattern again, since the
56680         previous fix didn't work (there was another trailing $).  Use
56681         '[$]' to escape the $s.
56682
56683 2003-07-15  Karl Berry  <karl@gnu.org>
56684
56685         * lib/vasnprintf.c: update from gettext.
56686
56687 2003-07-15  Karl Berry  <karl@gnu.org>
56688
56689         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
56690         gets expanded when surrounded by '$'.
56691
56692 2003-07-15  Jim Meyering  <jim@meyering.net>
56693
56694         * modules/save-cwd: Don't depend on error.  From Derek Price.
56695
56696 2003-07-15  Jim Meyering  <jim@meyering.net>
56697
56698         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
56699
56700 2003-07-14  Simon Josefsson  <jas@extundo.com>
56701
56702         * modules/mempcpy: New file.
56703         * MODULES.html.sh (func_all_modules): Add mempcpy.
56704
56705 2003-07-14  Simon Josefsson  <jas@extundo.com>
56706
56707         * m4/mempcpy.m4: New file.
56708
56709 2003-07-14  Simon Josefsson  <jas@extundo.com>
56710
56711         * lib/mempcpy.h: New file.
56712         * lib/mempcpy.c: New file.
56713
56714 2003-07-14  Paul Eggert  <eggert@twinsun.com>
56715
56716         * modules/getdate, modules/posixtm: Depend on mktime.
56717
56718 2003-07-14  Paul Eggert  <eggert@twinsun.com>
56719
56720         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
56721         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
56722         unicodeio.c, unicodeio.h, unlocked-io.h:
56723         Switch from LGPL to GPL.
56724
56725 2003-07-14  Paul Eggert  <eggert@twinsun.com>
56726
56727         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
56728         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
56729         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
56730         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
56731         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
56732         updated automatically by ../config/srclist-update.  This changes
56733         their license from LPGL to GPL.
56734
56735 2003-07-14  Paul Eggert  <eggert@twinsun.com>
56736
56737         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
56738         assumed to refer to the root of the most recent stable gettext version.
56739         * config/srclistvars.sh: Add defaults for eggert.
56740         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
56741         Match "This program" as well as "The program".  This is needed
56742         for gettext.
56743
56744 2003-07-14  Jim Meyering  <jim@meyering.net>
56745
56746         Don't emit diagnostics.  Let callers do that.
56747         * lib/save-cwd.c: Don't include "error.h".
56748         (save_cwd): Don't call error.  Ensure that errno is valid
56749         when returning nonzero.
56750
56751         * lib/save-cwd.h (restore_cwd): Update prototype.
56752         * lib/save-cwd.c (restore_cwd): Remove two parameters.
56753         Simplify.  Don't call error upon failure.  Let callers do that.
56754         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
56755         when auditing is enabled.  But don't bother updating the #if.
56756
56757 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
56758
56759         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
56760         it breaks C++ compilation.
56761         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
56762
56763 2003-07-10  Simon Josefsson  <jas@extundo.com>
56764
56765         * modules/strchrnul (Makefile.am): Add strchrnul.h.
56766
56767 2003-07-10  Jim Meyering  <jim@meyering.net>
56768
56769         * m4/clock_time.m4: Remove trailing blank.
56770         * m4/intmax_t.m4: Likewise.
56771
56772 2003-07-10  Jim Meyering  <jim@meyering.net>
56773
56774         * lib/vasnprintf.c: Remove trailing blanks.
56775         Make cpp indentation consistent.
56776
56777 2003-07-09  Paul Eggert  <eggert@twinsun.com>
56778
56779         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
56780         posixver.c, strftime.c, strnlen.c, strverscmp.c:
56781         Switch from LGPL to GPL.
56782
56783 2003-07-09  Paul Eggert  <eggert@twinsun.com>
56784
56785         * config/srclist.txt: Sort sublists.  Add
56786         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
56787         that differ from gnulib for one reason or another; we'd like this list
56788         to be smaller but for now let's document what we have.
56789
56790 2003-07-08  Paul Eggert  <eggert@twinsun.com>
56791
56792         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
56793         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
56794         and sweeter "eval x=$x".
56795         * config/srclist.txt: Get lib/argp* from glibc.
56796
56797 2003-07-07  Paul Eggert  <eggert@twinsun.com>
56798
56799         * lib/mktime.c: Fix some boundary cases and remove need for floating
56800         point.
56801
56802         Issue a compile-time diagnostic if time_t is floating point, or if
56803         two's complement arithmetic is not in effect, or if arithmetic
56804         right shift does not propagate the sign.  These assumptions were
56805         all in the original code but they weren't checked.
56806
56807         (TIME_T_MIDPOINT, verify): New macros.
56808         (__isleap): Remove; it has integer overflow problems.
56809         (leapyear): New function, without those problems.
56810         (ydhms_tm_diff): Remove; splitting into two parts.
56811         (ydhms_diff): New function, containing the arithmetic part of
56812         the old ydhms_tm_diff function.  Issue a compile-time
56813         diagnostic if we are not using C99 integer division.
56814         Avoid casts when possible.
56815         (guess_time_tm): New function, containing the checking part of
56816         the old ydhms_tm_diff function.  Return the new value, rather than
56817         the difference between it and the old.  Accept a new argument T
56818         so that *T specifies the old value.  Check for overflow in the result.
56819
56820         (__mktime_internal): Use a time_t offset, not a long int offset.
56821         This undoes the 2003-06-04 change, which is no longer needed now
56822         that we have better overflow checking.
56823         (localtime_offset): Likewise.
56824
56825         (__mktime_internal): Avoid harmful overflow on hosts where time_t
56826         and long are 64-bit but int is only 32-bit.
56827         (ydhms_diff): Use long int to store year1 and yday1.
56828         Issue a compile-time diagnostic if long int is not wide enough.
56829
56830         (__mktime_internal): Use long int to store adjusted year and yday.
56831         Use plain C rather than preprocessor commands, if that doesn't
56832         affect efficiency.
56833         Check for overflow (and try to repair) after each probe
56834         rather than checking only at the very end.  This avoids some bugs
56835         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
56836         does not equal GMT offset at maximum time).
56837         Use integer to check for overflow rather than floating point; this
56838         is more portable to non-IEEE hosts, and is a tad faster.
56839         When we detect that we are oscillating between two values,
56840         don't check whether tm_isdst has the requested value, since
56841         we already know the answer.  When tm_isdst has the wrong value,
56842         use a different heuristic to find the right one, based on the
56843         extreme values actually observed in practice in tz2003a,
56844         rather than the (overly optimistic) "previous 3 calendar quarters".
56845
56846         (not_equal_tm, print_tm, check_result): Use "const T" rather than
56847         "T const" to accommodate glibc style.
56848         (check_result): Use less-confusing report format.  "long" -> "long int.
56849         (main): Likewise.
56850         Don't loop if the iteration overflows time_t.
56851         Allow a negative step in the iteration.
56852
56853 2003-07-06  Karl Berry  <karl@gnu.org>
56854
56855         * config/depcomp: update from automake.
56856         * config/config.sub: update from prep.
56857
56858 2003-07-03  Karl Berry  <karl@gnu.org>
56859
56860         * config/config.guess: update from prep.
56861
56862 2003-07-01  Paul Eggert  <eggert@twinsun.com>
56863
56864         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
56865         xreadlink.c now includes it unconditionally.
56866
56867 2003-07-01  Paul Eggert  <eggert@twinsun.com>
56868
56869         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
56870         having it depend on HAVE_SYS_TYPES_H.
56871
56872 2003-07-01  Bruno Haible  <bruno@clisp.org>
56873
56874         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
56875         <sys/types.h> should be sufficient.
56876         Reported by Paul Eggert.
56877
56878 2003-06-26  Karl Berry  <karl@gnu.org>
56879
56880         * config/depcomp: update from automake.
56881
56882 2003-06-26  Bruno Haible  <bruno@clisp.org>
56883
56884         * modules/human: Depend on module stdbool.
56885
56886 2003-06-25  Bruno Haible  <bruno@clisp.org>
56887
56888         * modules/readlink: New file.
56889         * modules/xreadlink: Depend on it.
56890         * MODULES.html.sh (func_all_modules): Add readlink.
56891
56892 2003-06-25  Bruno Haible  <bruno@clisp.org>
56893
56894         * m4/readlink.m4: New file.
56895
56896 2003-06-25  Bruno Haible  <bruno@clisp.org>
56897
56898         * lib/readlink.c: New file.
56899
56900 2003-06-22  Karl Berry  <karl@gnu.org>
56901
56902         * config/srclist.txt: update mkinstalldirs from automake.
56903         * config/mkinstalldirs: update.
56904
56905 2003-06-22  Bruno Haible  <bruno@clisp.org>
56906
56907         Portability to mingw32.
56908         * m4/ssize_t.m4: New file, from GNU gettext.
56909         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
56910         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
56911
56912 2003-06-22  Bruno Haible  <bruno@clisp.org>
56913
56914         * modules/safe-read: Add m4/ssize_t.m4.
56915         * modules/xreadlink: Add m4/ssize_t.m4.
56916
56917 2003-06-20  Bruno Haible  <bruno@clisp.org>
56918
56919         Assume C89, so PARAMS isn't needed.
56920         * lib/unicodeio.h (PARAMS): Remove.
56921         * lib/unicodeio.c: Don't use PARAMS.
56922
56923 2003-06-18  Karl Berry  <karl@gnu.org>
56924
56925         * config/config.{guess,sub}: update from prep.
56926
56927 2003-06-18  Jim Meyering  <jim@meyering.net>
56928
56929         Merge changes from coreutils.
56930         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
56931         Remove explicit declarations of xmalloc and realloc.
56932         Include xalloc.h.
56933         (read_utmp): Remove anachronistic cast of xmalloc.
56934
56935 2003-06-17  Paul Eggert  <eggert@twinsun.com>
56936
56937         Assume C89, so PARAMS isn't needed.
56938         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
56939         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
56940         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
56941         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
56942         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
56943         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
56944         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
56945         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
56946         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
56947         lib/xstrtod.h, lib/xstrtol.h: Likewise.
56948         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
56949         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
56950         no longer needed. Anyway, config.h should always be included before any
56951         other file.
56952
56953 2003-06-11  Simon Josefsson  <jas@extundo.com>
56954
56955         * modules/sysexits: New file.
56956         * MODULES.html.sh (func_all_modules): Add sysexits.
56957
56958 2003-06-11  Simon Josefsson  <jas@extundo.com>
56959
56960         * lib/sysexit_.h: New file.
56961
56962 2003-06-11  Derek Price  <derek@ximbiot.com>
56963
56964         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
56965         necessary.
56966
56967 2003-06-11  Bruno Haible  <bruno@clisp.org>
56968
56969         * m4/sysexits.m4: New file.
56970
56971 2003-06-10  Simon Josefsson  <jas@extundo.com>
56972
56973         * lib/argp.h: New file, from glibc.
56974         * lib/argp-ba.c: New file, from glibc.
56975         * lib/argp-eexst.c: New file, from glibc.
56976         * lib/argp-fmtstream.c: New file, from glibc.
56977         * lib/argp-fmtstream.h: New file, from glibc.
56978         * lib/argp-fs-xinl.c: New file, from glibc.
56979         * lib/argp-help.c: New file, from glibc.
56980         * lib/argp-namefrob.h: New file, from glibc.
56981         * lib/argp-parse.c: New file, from glibc.
56982         * lib/argp-pv.c: New file, from glibc.
56983         * lib/argp-pvh.c: New file, from glibc.
56984         * lib/argp-xinl.c: New file, from glibc.
56985
56986 2003-06-10  Simon Josefsson  <jas@extundo.com>
56987
56988         * modules/strchrnul: New file.
56989
56990 2003-06-10  Simon Josefsson  <jas@extundo.com>
56991
56992         * modules/argp: New file.
56993
56994 2003-06-10  Simon Josefsson  <jas@extundo.com>
56995
56996         * m4/strchrnul.m4: New file.
56997
56998 2003-06-10  Simon Josefsson  <jas@extundo.com>
56999
57000         * lib/strchrnul.h: New file.
57001         * lib/strchrnul.c: New file.
57002
57003 2003-06-10  Bruno Haible  <bruno@clisp.org>
57004
57005         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
57006
57007 2003-06-07  Karl Berry  <karl@gnu.org>
57008
57009         * config/config.{guess,sub}: update from prep.
57010
57011 2003-06-07  Jim Meyering  <jim@meyering.net>
57012
57013         * modules/strtod: Use $(...) notation, not @...@ for
57014         AC_REPLACE'd variables.
57015         * modules/localcharset: Likewise.
57016
57017 2003-06-07  Jim Meyering  <jim@meyering.net>
57018
57019         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
57020         in place of my name in the copyright comment.
57021         Remove definition and uses of __P.
57022
57023         From coreutils.
57024         * lib/stat.c: Don't declare xmalloc explicitly.
57025         Instead, include "xalloc.h".
57026         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
57027         xrealloc, and xcalloc return values.
57028         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
57029         Improve comment.
57030         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
57031
57032 2003-06-07  Bruno Haible  <bruno@clisp.org>
57033
57034         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
57035         avoid AC_CONFIG_LINKS.
57036         * modules/fnmatch (Makefile.am): Use explicit creation rule for
57037         fnmatch.h, to avoid AC_CONFIG_LINKS.
57038         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
57039
57040 2003-06-07  Bruno Haible  <bruno@clisp.org>
57041
57042         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
57043         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
57044         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
57045         directory.
57046         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
57047         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
57048         directory.
57049
57050 2003-06-06  Jim Meyering  <jim@meyering.net>
57051
57052         Merge from coreutils.
57053         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
57054         Consolidate declarations and initializations of *_base* locals.
57055
57056         Merge from coreutils.
57057         This avoids a core dump on systems without GNU putenv,
57058         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
57059         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
57060         (unsetenv): New static function, from GNU libc.
57061         (rpl_putenv): Use it.
57062
57063         * lib/modechange.c: Remove trailing blanks.
57064
57065         Merge from coreutils.
57066         * lib/fsusage.c: Remove declaration of statfs.
57067         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
57068
57069         * lib/posixtm.c: Include <stdbool.h> unconditionally.
57070
57071 2003-06-06  Jim Meyering  <jim@meyering.net>
57072
57073         * lib/stdbool_.h: Renamed from stdbool.h.in.
57074
57075 2003-06-06  Jim Meyering  <jim@meyering.net>
57076             Bruno Haible  <bruno@clisp.org>
57077
57078         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
57079         Adjust Makefile.am snippet not to redirect directly to target.
57080         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
57081
57082 2003-06-05  Paul Eggert  <eggert@twinsun.com>
57083
57084         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
57085         mismatch, look in future quarters as well as past.  This fixes a
57086         bug when processing fall-backwards gaps immediately after a long
57087         period of daylight-saving time.
57088
57089         * lib/mktime.c: Assume freestanding C89 or better.
57090         (HAVE_LIMITS_H): Remove.  Assume it's 1.
57091         (__P): Remove; not used.
57092         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
57093         (mktime, not_equal_tm, print_tm, check_result,
57094         main): Use prototypes.  Use const * where appropriate.
57095         (main): Fix typo in testing code that uncovered by above changes.
57096         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
57097
57098 2003-06-04  Paul Eggert  <eggert@twinsun.com>
57099
57100         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
57101         locale.h, localeconv.  This merges changes from coreutils.
57102
57103         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
57104         It can be removed after the next Autoconf is released.
57105         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
57106         needed.
57107
57108 2003-06-04  Paul Eggert  <eggert@twinsun.com>
57109
57110         * lib/mktime.c: Fix Debian bug 177940
57111         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
57112         (localtime_offset): Now long int, not time_t, because we want it
57113         to be guaranteed to be signed.  All uses changed.
57114         (__mktime_internal): If overflow would occur when adding offset,
57115         don't add it.
57116
57117         Merge 'human' changes from coreutils.  Rewrite to support
57118         locale-specific notations like thousands separators.
57119         * lib/human.c: Simplify authorship notice.
57120         Include human.h immediately after config.h.
57121         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
57122         <limits.h>: Do not include, since human.h does.
57123         (SIZE_MAX, UINTMAX_MAX): New macros.
57124         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
57125         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
57126         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
57127         (power_letter): Renamed from suffixes.
57128         (generate_suffix_backwards): Remove.
57129         (adjust_value): Now takes int style (because of human.h changes)
57130         and long double value (for greater precision on some platforms).
57131         (group_number): New function.
57132         (human_readable): Use it.  Use integer options, not enum.
57133         Put the options before the sizes in the arg list.
57134         Support all the new options.
57135         The old human_readable function has been removed;
57136         use inttostr.h instead.
57137         (human_readable, default_block_size, humblock):
57138         Use uintmax_t, not int, for block sizes.
57139         (human_readable_inexact, block_size_types): Remove.
57140         (block_size_opts): New constant.
57141         (human_options): Renamed from human_block_size, with new signature
57142         that allows block sizes up to UINTMAX_MAX.  All callers changed.
57143         * lib/human.h: Add copyright and authorship notice.
57144         Include <limits.h> and <stdbool.h> unconditionally.
57145         (PARAMS): Remove.  All uses removed.
57146         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
57147         (enum human_inexact_style): Remove tag; now a nameless enum.
57148         (human_floor, human_ceiling, human_round_to_even): Now have
57149         values 2, 0, 1 rather than -1, 1, 0.
57150         (human_group_digits, human_suppress_point_zero, human_autoscale,
57151         human_base_1024, human_SI, human_B): New constants.
57152         (human_readable_inexact, human_block_size): Remove.
57153         (human_readable): Size args are now uintmax_t, not int.
57154         (human_options): New decl.
57155
57156         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
57157         unnecessary now that we assume C89 or better.  This change
57158         imported from coreutils.
57159
57160         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
57161         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
57162         in the 2003-05-30 sync from glibc.
57163
57164         .h files should stand alone, but we shouldn't include <sys/types.h>
57165         if we can get away with just <stddef.h>.
57166
57167         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
57168         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
57169         rather than <sys/types.h>, as we merely need size_t.
57170         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
57171         to get size_t.
57172         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
57173         Include <stdio.h>, to get FILE.
57174         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
57175         memcasecmp.h has included <stddef.h> and all we need is size_t.
57176         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
57177         our interface, instead of including <sys/types.h>
57178
57179 2003-06-04  Paul Eggert  <eggert@twinsun.com>
57180
57181         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
57182         now, as glibc mktime is buggy on non-glibc systems.
57183
57184 2003-06-03  Karl Berry  <karl@gnu.org>
57185
57186         * config/config.sub: update from prep.
57187
57188 2003-06-02  Paul Eggert  <eggert@twinsun.com>
57189
57190         [from coreutils]
57191         Fix some minor time-related bugs with POSIX time arguments.
57192         Some valid time stamps were being rejected (notably -1, and
57193         time stamps before 1900 on 64-bit hosts).  And some invalid
57194         time stamps were being accepted, e.g. September 31.
57195
57196         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
57197         that we can return (time_t) -1 successfully.
57198         * lib/posixtm.c: Likewise.
57199         [HAVE_STDBOOL_H]: Include <stdbool.h>.
57200         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
57201         (t): Remove static var.
57202         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
57203         of static var.  All uses changed.
57204         (year): Do not reject years before 1900; they can occur with
57205         64-bit time_t.
57206         (posix_time_parse): Do not check for out-of-range components;
57207         that is now the caller's responsibility, since our checks were
57208         only approximations.
57209         (posixtime): Use mktime to check for out-of-range components,
57210         since it knows them exactly.
57211         If mktime returns (time_t) -1, check whether an error actually occurred
57212         by invoking localtime on -1.
57213         (main) [TEST_POSIXTIME]: Check for input data errors, and report
57214         posixtime failures better.
57215         Improve the test data (in comments only).
57216
57217 2003-06-02  Karl Berry  <karl@gnu.org>
57218
57219         * config/mkinstalldirs (version): new variable.
57220         (--version): new option.
57221         (usage): improve message.
57222
57223 2003-05-30  Karl Berry  <karl@gnu.org>
57224
57225         * lib/mktime.c: update from libc.
57226
57227 2003-05-30  Bruno Haible  <bruno@clisp.org>
57228
57229         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
57230         * config/config.rpath: Upgrade to gettext-0.12.1.
57231
57232 2003-05-30  Bruno Haible  <bruno@clisp.org>
57233
57234         * m4/gettext.m4: Upgrade to gettext-0.12.1.
57235         * m4/nls.m4: New file, from gettext-0.12.1.
57236         * m4/po.m4: New file, from gettext-0.12.1.
57237         * m4/progtest.m4: Upgrade to gettext-0.12.1.
57238
57239 2003-05-30  Bruno Haible  <bruno@clisp.org>
57240
57241         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
57242         * lib/localcharset.h: Likewise.
57243         * lib/localcharset.c: Likewise.
57244
57245 2003-05-29  Karl Berry  <karl@gnu.org>
57246
57247         * config/config.rpath: update from gettext.
57248
57249 2003-05-28  Paul Eggert  <eggert@twinsun.com>
57250
57251         Assume the headers required for C89 freestanding compilers.
57252         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
57253         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
57254         * m4/human.m4 (gl_HUMAN): Likewise.
57255         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
57256         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
57257         * m4/userspec.m4 (gl_USERSPEC): Likewise.
57258         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
57259         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
57260         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
57261
57262 2003-05-28  Paul Eggert  <eggert@twinsun.com>
57263
57264         Assume the headers required for C89 freestanding compilers.
57265         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
57266         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
57267         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
57268         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
57269         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
57270         define, since <limits.h> is guaranteed to do that.
57271         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
57272         * lib/exclude.c: Include <stdbool.h> unconditionally.
57273         * lib/tempname.c: Include <stddef.h> unconditionally.
57274         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
57275         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
57276         <stddef.h> does that.
57277         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
57278         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
57279         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
57280         needed.
57281         * lib/xstrtol.c: Likewise.
57282         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
57283         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
57284
57285         * lib/addext.c (addext): Use assignment rather than cast, to avoid
57286         warnings on some platforms.
57287
57288         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
57289         arbitrarily.
57290
57291 2003-05-26  Jim Meyering  <jim@meyering.net>
57292
57293         Merge in a change from coreutils:
57294         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
57295         that is guaranteed to be `no'.  Use `no_such_member' to indicate
57296         that condition, rather than `-1' which is slightly misleading.
57297         Change the name of the cache variable to have the gl_ prefix.
57298         Prompted by a patch from Richard Dawe for DJGPP.
57299
57300 2003-05-24  Karl Berry  <karl@gnu.org>
57301
57302         * config/config.guess: update from prep.
57303
57304 2003-05-22  Karl Berry  <karl@gnu.org>
57305
57306         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
57307
57308 2003-05-20  Karl Berry  <karl@gnu.org>
57309
57310         * config/config.guess: update from prep.
57311
57312 2003-05-18  Karl Berry  <karl@gnu.org>
57313
57314         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
57315         might actually be set by the user.
57316
57317         * config/depcomp, install-sh, mdate-sh: update from automake.
57318
57319 2003-05-17  Bruno Haible  <bruno@clisp.org>
57320
57321         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
57322         invalid expansion for AC_EGREP_CPP.
57323         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
57324         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
57325         Suggested by Akim Demaille <akim@epita.fr> in
57326         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
57327
57328 2003-05-12  Jim Meyering  <jim@meyering.net>
57329
57330         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
57331         the space-padded-by-default conversion specifiers, %e, %k, %l.
57332
57333 2003-05-12  Bruno Haible  <bruno@clisp.org>
57334
57335         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
57336         the string is longer than 4 KB.
57337
57338 2003-05-11  Karl Berry  <karl@gnu.org>
57339
57340         * config/config.{guess,sub}: update from prep.
57341
57342 2003-05-09  Bruno Haible  <bruno@clisp.org>
57343
57344         * modules/error: Add m4/strerror_r.m4 to file list.
57345
57346 2003-05-03  Bruno Haible  <bruno@clisp.org>
57347
57348         Upgrade to Unicode-4.0.
57349         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
57350         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
57351         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
57352         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
57353         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
57354         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
57355         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
57356         Change width of U+E0100..U+E01EF from 1 to 0.
57357
57358 2003-04-25  Jim Meyering  <jim@meyering.net>
57359
57360         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
57361         of type size_t, not int.
57362
57363 2003-04-25  Bruno Haible  <bruno@clisp.org>
57364
57365         * lib/copy-file.c: Include <stddef.h>, for size_t.
57366
57367 2003-04-21  Paul Eggert  <eggert@twinsun.com>
57368
57369         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
57370         code which expansion is under static control.  Patch imported from
57371         Akim Demaille's patch to Bison; see
57372         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
57373
57374 2003-04-14  Bruno Haible  <bruno@clisp.org>
57375
57376         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
57377
57378 2003-04-11  Jim Meyering  <jim@meyering.net>
57379
57380         Merge changes from Coreutils.
57381
57382         2003-03-22  Jim Meyering  <jim@meyering.net>
57383
57384         * lib/strftime.c (widen): Cast alloca return value to proper type.
57385
57386         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
57387
57388         From GNU libc.
57389         * lib/strftime.c (my_strftime): Handle very large width
57390         specifications for numeric values correctly.  Improve checks for
57391         overflow.
57392
57393         2003-01-19  Jim Meyering  <jim@meyering.net>
57394
57395         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
57396         definitions.
57397         (nl_get_alt_digit) [! defined my_strftime]: Define.
57398         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
57399         _nl_get_alt_digit and _nl_get_walt_digit.
57400
57401         * lib/strftime.c (my_strftime): Merge in locale-related changes from
57402         libc. These changes have no effect outside of _LIBC.
57403
57404 2003-04-10  Bruno Haible  <bruno@clisp.org>
57405
57406         * modules/findprog: New file.
57407         * MODULES.html.sh (func_all_modules): Add it.
57408
57409 2003-04-10  Bruno Haible  <bruno@clisp.org>
57410
57411         * m4/findprog.m4: New file.
57412         * m4/eaccess.m4: New file.
57413
57414 2003-04-10  Bruno Haible  <bruno@clisp.org>
57415
57416         * lib/findprog.h: New file, from GNU gettext.
57417         * lib/findprog.c: New file, from GNU gettext.
57418
57419 2003-04-05  Jim Meyering  <jim@meyering.net>
57420
57421         Merge changes from Coreutils.
57422
57423         * lib/exclude.h (PARAMS): Remove definition and uses.
57424         * lib/exclude.c: Remove uses of `PARAMS'.
57425
57426         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
57427         Add test-cases for DOS filenames. Declare program_name.
57428         (main): Set up program_name.  Patch by Rich Dawe.
57429
57430         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
57431         error from mntctl.
57432         Use mntctl's return value to drive the entry-processing loop, since
57433         we can't rely on the value of the vmt_length member in the last
57434         entry.  On some systems doing so could result in exhausting
57435         virtual memory.  Based in part on a patch from Mike Jetzer.
57436
57437 2003-04-04  Bruno Haible  <bruno@clisp.org>
57438
57439         * modules/linebreak: New file.
57440         * MODULES.html.sh (func_all_modules): Add it.
57441
57442 2003-04-04  Bruno Haible  <bruno@clisp.org>
57443
57444         * m4/linebreak.m4: New file.
57445
57446 2003-04-04  Bruno Haible  <bruno@clisp.org>
57447
57448         * lib/linebreak.h: New file, from GNU gettext.
57449         * lib/linebreak.c: New file, from GNU gettext with slight
57450         modifications.
57451         * lib/lbrkprop.h: New file, from GNU gettext.
57452
57453 2003-04-03  Bruno Haible  <bruno@clisp.org>
57454
57455         * modules/utf8-ucs4: New file.
57456         * modules/utf16-ucs4: New file.
57457         * modules/ucs4-utf8: New file.
57458         * modules/ucs4-utf16: New file.
57459         * MODULES.html.sh (func_all_modules): Add them.
57460
57461 2003-04-03  Bruno Haible  <bruno@clisp.org>
57462
57463         * m4/utf-ucs4.m4: New file.
57464         * m4/ucs4-utf.m4: New file.
57465
57466 2003-04-03  Bruno Haible  <bruno@clisp.org>
57467
57468         * lib/utf8-ucs4.h: New file, from GNU gettext.
57469         * lib/utf16-ucs4.h: New file, from GNU gettext.
57470         * lib/ucs4-utf8.h: New file, from GNU gettext.
57471         * lib/ucs4-utf16.h: New file, from GNU gettext.
57472
57473 2003-04-02  Bruno Haible  <bruno@clisp.org>
57474
57475         * modules/binary-io: New file.
57476         * MODULES.html.sh (func_all_modules): Add it.
57477
57478 2003-04-02  Bruno Haible  <bruno@clisp.org>
57479
57480         * lib/binary-io.h: New file, from GNU gettext.
57481
57482 2003-04-01  Bruno Haible  <bruno@clisp.org>
57483
57484         * modules/pathname: New file.
57485         * MODULES.html.sh (func_all_modules): Add it.
57486
57487 2003-04-01  Bruno Haible  <bruno@clisp.org>
57488
57489         * lib/pathname.h: New file, from GNU gettext.
57490         * lib/concatpath.c: New file, from GNU gettext.
57491
57492 2003-03-30  Bruno Haible  <bruno@clisp.org>
57493
57494         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
57495
57496 2003-03-30  Bruno Haible  <bruno@clisp.org>
57497
57498         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
57499         function chown() doesn't exist.
57500
57501 2003-03-28  Bruno Haible  <bruno@clisp.org>
57502
57503         * modules/copy-file: New file.
57504         * MODULES.html.sh (func_all_modules): Add it.
57505
57506 2003-03-28  Bruno Haible  <bruno@clisp.org>
57507
57508         * m4/copy-file.m4: New file.
57509
57510 2003-03-28  Bruno Haible  <bruno@clisp.org>
57511
57512         * lib/copy-file.h: New file, from GNU gettext.
57513         * lib/copy-file.c: New file, from GNU gettext.
57514
57515 2003-03-18  Jim Meyering  <jim@meyering.net>
57516
57517         * lib/quote.c (quote_n): Fix typo in comment.
57518
57519 2003-03-18  Bruno Haible  <bruno@clisp.org>
57520
57521         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
57522         checking.
57523         * m4/onceonly_2_57.m4: Likewise.
57524
57525 2003-03-17  Bruno Haible  <bruno@clisp.org>
57526
57527         * m4/onceonly.m4: Require autoconf 2.54 or newer.
57528         (m4_quote): Remove macro.
57529         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
57530
57531 2003-03-14  Jim Meyering  <jim@meyering.net>
57532
57533         Merge changes from Coreutils.
57534         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
57535         to be const, in order to avoid warnings.
57536         (obstack_room): Likewise.
57537         (obstack_empty_p): Likewise.
57538
57539 2003-03-14  Bruno Haible  <bruno@clisp.org>
57540
57541         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
57542         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
57543
57544 2003-03-13  Paul Eggert  <eggert@twinsun.com>
57545
57546         Merge changes from Bison.
57547         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
57548         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
57549         when compiling Bison 1.875's `bitset bset = obstack_alloc
57550         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
57551         * lib/hash.c: Include <stdbool.h> unconditionally.
57552
57553 2003-03-13  Paul Eggert  <eggert@twinsun.com>
57554
57555         * m4/onceonly.m4 (m4_quote): New macro.
57556         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
57557         Quote AC_FOREACH variable-expansions properly.
57558
57559 2003-03-13  Paul Eggert  <eggert@twinsun.com>
57560
57561         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
57562
57563 2003-03-09  Paul Eggert  <eggert@twinsun.com>
57564
57565         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
57566         Reported by Bruce Becker; see:
57567         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
57568
57569 2003-03-03  Paul Eggert  <eggert@twinsun.com>
57570             Bruno Haible  <bruno@clisp.org>
57571
57572         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
57573         Reported by John Hughes, see
57574         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
57575
57576 2003-02-20  Bruno Haible  <bruno@clisp.org>
57577
57578         * MODULES.html.sh (func_all_modules): Add poll.
57579
57580 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
57581
57582         * modules/poll: New file.
57583
57584 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
57585
57586         * lib/poll_.h: New file.
57587         * lib/poll.c: New file.
57588
57589 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
57590
57591         * m4/poll.m4: New file.
57592
57593 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
57594
57595         * modules/mathl: New file.
57596
57597 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
57598
57599         * lib/mathl.h: New file.
57600         * lib/acosl.c: New file.
57601         * lib/asinl.c: New file.
57602         * lib/atanl.c: New file.
57603         * lib/ceill.c: New file.
57604         * lib/cosl.c: New file.
57605         * lib/expl.c: New file.
57606         * lib/floorl.c: New file.
57607         * lib/frexpl.c: New file.
57608         * lib/ldexpl.c: New file.
57609         * lib/logl.c: New file.
57610         * lib/sincosl.c: New file.
57611         * lib/sinl.c: New file.
57612         * lib/sqrtl.c: New file.
57613         * lib/tanl.c: New file.
57614         * lib/trigl.c: New file.
57615         * lib/trigl.h: New file.
57616
57617 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
57618
57619         * m4/mathl.m4: New file.
57620
57621 2003-02-18  Bruno Haible  <bruno@clisp.org>
57622
57623         * MODULES.html.sh (func_all_modules): Add mathl.
57624
57625 2003-02-17  Bruno Haible  <bruno@clisp.org>
57626
57627         * modules/mkdtemp: New module.
57628         * MODULES.html.sh (func_all_modules): Add it.
57629
57630 2003-02-17  Bruno Haible  <bruno@clisp.org>
57631
57632         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
57633
57634 2003-02-17  Bruno Haible  <bruno@clisp.org>
57635
57636         * lib/mkdtemp.h: New file, from GNU gettext.
57637         * lib/mkdtemp.c: New file, from GNU gettext.
57638
57639 2003-02-02  Jim Meyering  <jim@meyering.net>
57640
57641         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
57642         e.g. glibc-2.2.93.
57643
57644 2003-01-31  Bruno Haible  <bruno@clisp.org>
57645
57646         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
57647         'rpl_rename'.
57648         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
57649         'rpl_strnlen'.
57650         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
57651         'rpl_strtod'.
57652         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
57653         'rpl_utime'.
57654
57655 2003-01-31  Bruno Haible  <bruno@clisp.org>
57656
57657         * lib/rename.c: #undef rename before defining rpl_rename.
57658         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
57659
57660 2003-01-30  Bruno Haible  <bruno@clisp.org>
57661
57662         * modules/vasnprintf, modules/vasprintf: New modules.
57663         * MODULES.html.sh (func_all_modules): Add them.
57664
57665 2003-01-30  Bruno Haible  <bruno@clisp.org>
57666
57667         * m4/signed.m4: New file, from GNU gettext.
57668         * m4/longdouble.m4: New file, from GNU gettext.
57669         * m4/wchar_t.m4: New file, from GNU gettext.
57670         * m4/wint_t.m4: New file, from GNU gettext.
57671         * m4/vasnprintf.m4: New file.
57672         * m4/vasprintf.m4: New file.
57673
57674 2003-01-30  Bruno Haible  <bruno@clisp.org>
57675
57676         * lib/printf-args.h: New file, from GNU gettext.
57677         * lib/printf-args.c: New file, from GNU gettext.
57678         * lib/printf-parse.h: New file, from GNU gettext.
57679         * lib/printf-parse.c: New file, from GNU gettext.
57680         * lib/vasnprintf.h: New file, from GNU gettext.
57681         * lib/vasnprintf.c: New file, from GNU gettext.
57682         * lib/asnprintf.c: New file, from GNU gettext.
57683         * lib/vasprintf.h: New file, from GNU gettext with modifications.
57684         * lib/vasprintf.c: New file, from GNU gettext.
57685         * lib/asprintf.c: New file, from GNU gettext.
57686
57687 2003-01-29  Bruno Haible  <bruno@clisp.org>
57688
57689         * modules/stpncpy: New module.
57690         * MODULES.html.sh (func_all_modules): Add it.
57691
57692 2003-01-29  Bruno Haible  <bruno@clisp.org>
57693
57694         * m4/stpncpy.m4: New file.
57695
57696 2003-01-29  Bruno Haible  <bruno@clisp.org>
57697
57698         * lib/stpncpy.h: New file, from GNU gettext with modifications.
57699         * lib/stpncpy.c: New file, from GNU gettext with modifications.
57700
57701 2003-01-28  Bruno Haible  <bruno@clisp.org>
57702
57703         * modules/c-ctype: New module.
57704         * MODULES.html.sh (func_all_modules): Add it.
57705
57706 2003-01-28  Bruno Haible  <bruno@clisp.org>
57707
57708         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
57709         Paul Eggert.
57710         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
57711         Paul Eggert.
57712
57713 2003-01-27  Bruno Haible  <bruno@clisp.org>
57714
57715         * modules/xsetenv: New module.
57716         * MODULES.html.sh (func_all_modules): Add it.
57717
57718 2003-01-27  Bruno Haible  <bruno@clisp.org>
57719
57720         * lib/xsetenv.h: New file, from GNU gettext.
57721         * lib/xsetenv.c: New file, from GNU gettext.
57722
57723 2003-01-23  Jim Meyering  <jim@meyering.net>
57724
57725         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
57726         from working on systems without dirfd (at least Irix and OSF1/Tru64).
57727
57728 2003-01-23  Bruno Haible  <bruno@clisp.org>
57729
57730         * modules/minmax: New module.
57731         * MODULES.html.sh (func_all_modules): Add it.
57732
57733 2003-01-23  Bruno Haible  <bruno@clisp.org>
57734
57735         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
57736         Eggert.
57737
57738 2003-01-22  Bruno Haible  <bruno@clisp.org>
57739
57740         * modules/exit: New module.
57741         * MODULES.html.sh (func_all_modules): Add it.
57742
57743 2003-01-22  Bruno Haible  <bruno@clisp.org>
57744
57745         * lib/exit.h: New file, from GNU gettext.
57746
57747 2003-01-19  Bruno Haible  <bruno@clisp.org>
57748
57749         * gnulib-tool: Recognize option --extract-maintainer.
57750         (func_get_maintainer): New function.
57751         * modules/*: Add Maintainer entry.
57752
57753 2003-01-16  Jim Meyering  <jim@meyering.net>
57754
57755         * m4/regex.m4: The `regex' struct is both input and output.
57756         Initialize it before each use.  Patch by Tim Waugh.
57757
57758 2003-01-16  Bruno Haible  <bruno@clisp.org>
57759
57760         * MODULES.html.sh: Add a table of contents. Add the module name as
57761         leftmost column. Add hyperlinks.
57762
57763 2003-01-15  Bruno Haible  <bruno@clisp.org>
57764
57765         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
57766
57767 2003-01-15  Bruno Haible  <bruno@clisp.org>
57768
57769         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
57770         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
57771         suffix.
57772
57773 2003-01-15  Bruno Haible  <bruno@clisp.org>
57774
57775         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
57776
57777 2003-01-15  Bruno Haible  <bruno@clisp.org>
57778
57779         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
57780         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
57781
57782 2003-01-14  Jim Meyering  <jim@meyering.net>
57783
57784         * lib/same.c (same_name): Tweak a comment.
57785
57786 2003-01-14  Bruno Haible  <bruno@clisp.org>
57787
57788         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
57789         when a string comparison is sufficient.
57790
57791 2003-01-14  Bruno Haible  <bruno@clisp.org>
57792
57793         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
57794         'unsigned int'.
57795
57796 2003-01-14  Bruno Haible  <bruno@clisp.org>
57797
57798         * lib/hash-pjw.c: Add comment about low quality of this function.
57799
57800 2003-01-13  Bruno Haible  <bruno@clisp.org>
57801
57802         * modules/stpcpy: Distribute lib/stpcpy.h.
57803         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
57804
57805 2003-01-13  Bruno Haible  <bruno@clisp.org>
57806
57807         * modules/*: Add a description.
57808         * modules/strpbrk: Fix Makefile.am snippet.
57809         * modules/strtoimax: Fix dependencies.
57810         * modules/strtoumax: Likewise.
57811
57812 2003-01-13  Bruno Haible  <bruno@clisp.org>
57813
57814         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
57815         * modules/alloca (Makefile.am): All object files depend on alloca.h.
57816         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
57817
57818 2003-01-13  Bruno Haible  <bruno@clisp.org>
57819
57820         * gnulib-tool (func_create_testdir): Store config/* files in the main
57821         directory.
57822         * config.rpath: Move to ...
57823         * config/config.rpath: ... here.
57824         * modules/gettext: Contains config/config.rpath, not config.rpath.
57825         * modules/iconv: Likewise.
57826
57827 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57828
57829         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57830         to avoid collisions with libcurses and libreadline.
57831
57832         * m4/getstr.m4: Remove.
57833         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
57834
57835 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57836
57837         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57838         to avoid collisions with libcurses and libreadline.
57839
57840         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
57841         * lib/getstr.h, getstr.c: Remove.
57842         * lib/getline.c: Include "getline.h", to check interface.
57843         Move body of old getstr.c here: this defines MIN_CHUNK and
57844         declares getdelim2, which is renamed from getstr.
57845         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
57846
57847         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
57848         All uses changed.
57849         * lib/linebuffer.h: Likewise.
57850         (readline): Remove backward-compatibility macro.
57851
57852 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57853
57854         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57855         to avoid collisions with libcurses and libreadline.
57856         * getstr: Remove.
57857         * MODULES.html.sh: Remove getstr.
57858         * modules/getline: Depend on unlocked-io, not getstr.
57859
57860 2003-01-12  Jim Meyering  <jim@meyering.net>
57861
57862         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
57863
57864 2003-01-10  Bruno Haible  <bruno@clisp.org>
57865
57866         * modules/alloca: Change Makefile.am requirements. Simplify Include
57867         requirements. Add lib/alloca_.h to file list.
57868
57869 2003-01-10  Bruno Haible  <bruno@clisp.org>
57870
57871         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
57872
57873 2003-01-10  Bruno Haible  <bruno@clisp.org>
57874
57875         * lib/alloca_.h: New file.
57876         * lib/getdate.y: Unconditionally include alloca.h.
57877         * lib/makepath.c: Likewise.
57878         * lib/setenv.c: Likewise.
57879         * lib/userspec.c: Likewise.
57880
57881 2003-01-09  Karl Berry  <karl@gnu.org>
57882
57883         * MODULES.html.sh: include `dirname $0` in PATH, to find
57884         gnulib-tool.
57885
57886 2003-01-09  Bruno Haible  <bruno@clisp.org>
57887
57888         * modules/stdbool: Change configure.ac, Makefile.am requirements.
57889         Simplify Include requirements. Add lib/stdbool.h.in to file list.
57890
57891 2003-01-09  Bruno Haible  <bruno@clisp.org>
57892
57893         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
57894
57895 2003-01-09  Bruno Haible  <bruno@clisp.org>
57896
57897         * lib/stdbool.h.in: New file.
57898
57899 2003-01-09  Bruno Haible  <bruno@clisp.org>
57900
57901         * gnulib-tool (func_all_modules): Ignore files ending in ~.
57902         * MODULES.html.sh: Likewise.
57903
57904 2003-01-08  Jim Meyering  <jim@meyering.net>
57905
57906         * lib/full-write.c: Undefine and define-away `const' after inclusion
57907         of errno.h, not before.  Suggestion from Bruno Haible.
57908
57909 2003-01-08  Bruno Haible  <bruno@clisp.org>
57910
57911         * modules/full-read: Depend on full-write.
57912
57913 2003-01-08  Bruno Haible  <bruno@clisp.org>
57914
57915         * lib/safe-read.c: Include specification header first, to ensure its
57916         selfcontainedness.
57917         * lib/full-write.c: Likewise.
57918
57919 2003-01-07  Jim Meyering  <jim@meyering.net>
57920
57921         * lib/full-write.c: Rework so that it may serve to define full_read,
57922         too.
57923         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
57924
57925 2003-01-07  Bruno Haible  <bruno@clisp.org>
57926
57927         * lib/strtoimax.c: Include <stdint.h> as an alternative to
57928         <inttypes.h>.
57929         * lib/xstrtol.h: Likewise.
57930         * lib/xstrtoimax.c: Likewise.
57931         * lib/xstrtoumax.c: Likewise.
57932         * lib/human.h: Likewise.
57933
57934         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
57935         on systems that have <inttypes.h> but not <stdint.h>.
57936
57937 2003-01-07  Bruno Haible  <bruno@clisp.org>
57938
57939         * MODULES.html.sh: Add copyright notice.
57940         (missed_files): Omit CVS directory entries.
57941         (func_module): Make it work with sed-3.02.
57942         * MODULES.txt: Remove file.
57943
57944 2003-01-06  Jim Meyering  <jim@meyering.net>
57945
57946         * lib/version-etc.c: Update year in translatable copyright string.
57947
57948 2003-01-03  Karl Berry  <karl@gnu.org>
57949
57950         * config/config.{guess,sub}: update from prep.
57951
57952 2003-01-02  Karl Berry  <karl@gnu.org>
57953
57954         * doc/COPYING.DOC: belatedly updated to 1.2.
57955
57956 2003-01-01  Karl Berry  <karl@gnu.org>
57957
57958         * gnulib-tool (func_verify_module): report module name $module in
57959         error message, not $1.
57960         * gnulib-tool (create-testdir): don't complain if destdir couldn't
57961         be created, only if it doesn't exist.
57962         * gnulib-tool (last_checkin_date): don't expand the $Date here.
57963
57964 2002-12-31  Paul Eggert  <eggert@twinsun.com>
57965
57966         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
57967
57968 2002-12-31  Paul Eggert  <eggert@twinsun.com>
57969
57970         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
57971         memcmp if strcoll doesn't work.
57972
57973 2002-12-31  Bruno Haible  <bruno@clisp.org>
57974
57975         * lib/utime.c (utime_null): No need to call ftruncate if the file was
57976         nonempty.
57977
57978 2002-12-31  Bruno Haible  <bruno@clisp.org>
57979
57980         * lib/memcoll.c (STRCOLL): New macro.
57981         (memcoll): Use it.
57982
57983 2002-12-31  Bruno Haible  <bruno@clisp.org>
57984
57985         * lib/localcharset.h: New file.
57986         * lib/localcharset.c: Include it.
57987         * lib/unicodeio.c: Likewise.
57988
57989 2002-12-31  Bruno Haible  <bruno@clisp.org>
57990
57991         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
57992         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
57993
57994 2002-12-31  Bruno Haible  <bruno@clisp.org>
57995
57996         * lib/getline.h: Include <stddef.h>, for size_t.
57997
57998         * lib/unicodeio.h: Include <stddef.h>, for size_t.
57999         * lib/unicodeio.c: Don't include <stddef.h>.
58000
58001 2002-12-31  Bruno Haible  <bruno@clisp.org>
58002
58003         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
58004         HAVE_TM_ZONE.
58005
58006 2002-12-24  Karl Berry  <karl@gnu.org>
58007
58008         * config/config.guess: update from prep.
58009
58010 2002-12-24  Bruno Haible  <bruno@clisp.org>
58011
58012         General infrasructure.
58013         * m4/README: Rewritten.
58014         * m4/onceonly.m4: New file.
58015         * m4/onceonly_2_57.m4: New file.
58016
58017         Module atexit.
58018         * m4/atexit.m4: New file.
58019
58020         Module strtod.
58021         * m4/strtod.m4: New file.
58022
58023         Module strtol.
58024         * m4/strtol.m4: New file.
58025
58026         Module strtoul.
58027         * m4/strtoul.m4: New file.
58028
58029         Module memchr.
58030         * m4/memchr.m4: New file.
58031
58032         Module memcmp.
58033         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
58034         (jm_FUNC_MEMCMP): Invoke it.
58035
58036         Module memcpy.
58037         * m4/memcpy.m4: New file.
58038
58039         Module memmove.
58040         * m4/memmove.m4: New file.
58041
58042         Module memset.
58043         * m4/memset.m4: New file.
58044
58045         Module strcspn.
58046         * m4/strcspn.m4: New file.
58047
58048         Module strpbrk.
58049         * m4/strpbrk.m4: New file.
58050
58051         Module strstr.
58052         * m4/strstr.m4: New file.
58053
58054         Module strerror.
58055         * m4/strerror.m4: New file.
58056
58057         Module mktime.
58058         * m4/mktime.m4: Renamed from jm-mktime.m4.
58059         (gl_PREREQ_MKTIME): New macro.
58060         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
58061
58062         Module malloc.
58063         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
58064         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
58065         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
58066
58067         Module realloc.
58068         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
58069         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
58070         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
58071
58072         Module strftime.
58073         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
58074         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
58075         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
58076         gl_TM_GMTOFF.
58077         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
58078
58079         Module xalloc.
58080         * m4/xalloc.m4: New file.
58081
58082         Module alloca.
58083         * m4/alloca.m4: New file.
58084
58085         Module putenv.
58086         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
58087         (jm_FUNC_PUTENV): Invoke it.
58088
58089         Module setenv.
58090         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
58091         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
58092         when invoked twice.
58093         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
58094         gt_FUNC_SETENV.
58095
58096         Module memrchr.
58097         * m4/memrchr.m4: New file.
58098
58099         Module stpcpy.
58100         * m4/stpcpy.m4: New file.
58101
58102         Module strcase.
58103         * m4/strcase.m4: New file.
58104
58105         Module strdup.
58106         * m4/strdup.m4: New file.
58107
58108         Module strnlen.
58109         * m4/strnlen.m4: New file.
58110
58111         Module strndup.
58112         * m4/strndup.m4: New file.
58113
58114         Module xstrtod.
58115         * m4/xstrtod.m4: New file.
58116
58117         Module xstrtol.
58118         * m4/xstrtol.m4: New file.
58119
58120         Module getdate.
58121         * m4/getdate.m4: New file.
58122
58123         Module unlocked-io.
58124         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
58125         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
58126         * m4/jm-glibc-io.m4n: Remove file.
58127
58128         Module long-options.
58129         * m4/long-options.m4: New file.
58130
58131         Module md5.
58132         * m4/md5.m4: New file.
58133
58134         Module sha.
58135         * m4/sha.m4: New file.
58136
58137         Module getstr.
58138         * m4/getstr.m4: New file.
58139
58140         Module getline.
58141         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
58142         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
58143         <sys/types.h>, for size_t. Use the function name gnu_getline, not
58144         simply getline. Infoke gl_PREREQ_GETLINE.
58145
58146         Module obstack.
58147         * m4/obstack.m4: New file.
58148
58149         Module hash.
58150         * m4/hash.m4: New file.
58151
58152         Module readtokens.
58153         * m4/readtokens.m4: New file.
58154
58155         Module strverscmp.
58156         * m4/strverscmp.m4: New file.
58157
58158         Module stdbool.
58159         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
58160         OSF/1.
58161
58162         Module strtoll.
58163         * m4/strtoll.m4: New file.
58164
58165         Module strtoull.
58166         * m4/strtoull.m4: New file.
58167
58168         Module strtoimax.
58169         * m4/strtoimax.m4: New file.
58170
58171         Module strtoumax.
58172         * m4/strtoumax.m4: New file.
58173
58174         Module xstrtoimax.
58175         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
58176         jm_AC_PREREQ_XSTRTOIMAX.
58177         Moved the strtol prerequisites to strtol.m4.
58178         Moved the strtoll prerequisites to strtoll.m4.
58179         Moved the strtoimax prerequisites to strtoimax.m4.
58180
58181         Module xstrtoumax.
58182         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
58183         jm_AC_PREREQ_XSTRTOUMAX.
58184         Moved the strtoul prerequisites to strtoul.m4.
58185         Moved the strtoull prerequisites to strtoull.m4.
58186         Moved the strtoumax prerequisites to strtoumax.m4.
58187
58188         Module chown.
58189         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
58190         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
58191
58192         Module dup2.
58193         * m4/dup2.m4: New file.
58194
58195         Module ftruncate.
58196         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
58197         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
58198
58199         Module getgroups.
58200         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
58201         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
58202
58203         Module gettimeofday.
58204         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
58205         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
58206         gl_PREREQ_GETTIMEOFDAY.
58207
58208         Module mkdir.
58209         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
58210         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
58211
58212         Module mkstemp.
58213         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
58214         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
58215         jm_AC_TYPE_UINTMAX_T.
58216         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
58217
58218         Module stat.
58219         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
58220         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
58221
58222         Module lstat.
58223         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
58224         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
58225
58226         Module timespec.
58227         * m4/timespec.m4 (gl_TIMESPEC): New macro.
58228         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
58229         * m4/st_mtim.m4: Indentation.
58230
58231         Module nanosleep.
58232         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
58233         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
58234         gl_PREREQ_NANOSLEEP.
58235
58236         Module regex.
58237         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
58238         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
58239         (gl_REGEX): New macro.
58240
58241         Module rename.
58242         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
58243         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
58244
58245         Module rmdir.
58246         * m4/rmdir.m4: New file.
58247
58248         Module utime.
58249         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
58250         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
58251         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
58252
58253         Module dirname.
58254         * m4/dirname.m4: New file.
58255
58256         Module getopt.
58257         * m4/getopt.m4: New file.
58258
58259         Module unistd-safer.
58260         * m4/unistd-safer.m4: New file.
58261
58262         Module fnmatch.
58263         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
58264         declaration.
58265         (gl_PREREQ_FNMATCH_EXTRA): New macro.
58266         (gl_FUNC_FNMATCH_POSIX): New macro.
58267         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
58268         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
58269         simply fnmatch.
58270
58271         Module exclude.
58272         * m4/exclude.m4: New file.
58273
58274         Module human.
58275         * m4/human.m4: New file.
58276
58277         Module acl.
58278         * m4/acl.m4: Nop.
58279
58280         Module backupfile.
58281         * m4/backupfile.m4: New file.
58282         * m4/d-ino.m4: Indentation.
58283
58284         Module fsusage.
58285         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
58286         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
58287         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
58288
58289         Module dirfd.
58290         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
58291         requirements.
58292
58293         Module euidaccess.
58294         * m4/euidaccess.m4: New file.
58295
58296         Module file-type.
58297         * m4/file-type.m4: New file.
58298
58299         Module fileblocks.
58300         * m4/fileblocks.m4: New file.
58301
58302         Module filemode.
58303         * m4/filemode.m4: New file.
58304
58305         Module isdir.
58306         * m4/isdir.m4: New file.
58307
58308         Module lchown.
58309         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
58310         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
58311
58312         Module makepath.
58313         * m4/makepath.m4: New file.
58314
58315         Module modechange.
58316         * m4/modechange.m4: New file.
58317
58318         Module mountlist.
58319         * m4/mountlist.m4: New file.
58320         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
58321         Indentation.
58322
58323         Module path-concat.
58324         * m4/path-concat.m4: New file.
58325
58326         Module pathmax.
58327         * m4/pathmax.m4: New file.
58328
58329         Module same.
58330         * m4/same.m4: New file.
58331
58332         Module save-cwd.
58333         * m4/save-cwd.m4: New file.
58334
58335         Module savedir.
58336         * m4/savedir.m4: New file.
58337
58338         Module xgetcwd.
58339         * m4/xgetcwd.m4: New file.
58340         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
58341
58342         Module xreadlink.
58343         * m4/xreadlink.m4: New file.
58344
58345         Module safe-read.
58346         * m4/safe-read.m4: New file.
58347
58348         Module safe-write.
58349         * m4/safe-write.m4: New file.
58350
58351         Module closeout.
58352         * m4/closeout.m4: New file.
58353
58354         Module stdio-safer.
58355         * m4/stdio-safer.m4: New file.
58356
58357         Module getpass.
58358         * m4/getpass.m4: New file.
58359
58360         Module getugroups.
58361         * m4/getugroups.m4: New file.
58362
58363         Module group-member.
58364         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
58365         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
58366
58367         Module idcache.
58368         * m4/idcache.m4: New file.
58369
58370         Module userspec.
58371         * m4/userspec.m4: New file.
58372
58373         Module gettime.
58374         * m4/clock_time.m4: New file.
58375         * m4/gettime.m4: New file.
58376
58377         Module settime.
58378         * m4/settime.m4: New file.
58379
58380         Module posixtm.
58381         * m4/posixtm.m4: New file.
58382
58383         Module gethostname.
58384         * m4/gethostname.m4: New file.
58385
58386         Module canon-host.
58387         * m4/canon-host.m4: New file.
58388
58389         Module gettext.
58390         * m4/codeset.m4: New file, from gettext-0.11.5.
58391         * m4/gettext.m4: New file, from gettext-0.11.5.
58392         * m4/glibc21.m4: New file, from gettext-0.11.5.
58393         * m4/iconv.m4: New file, from gettext-0.11.5.
58394         * m4/intdiv0.m4: New file, from gettext-0.11.5.
58395         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
58396         * m4/inttypes.m4: New file, from gettext-0.11.5.
58397         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
58398         * m4/isc-posix.m4: New file, from gettext-0.11.5.
58399         * m4/lcmessage.m4: New file, from gettext-0.11.5.
58400         * m4/lib-ld.m4: New file, from gettext-0.11.5.
58401         * m4/lib-link.m4: New file, from gettext-0.11.5.
58402         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
58403         * m4/progtest.m4: New file, from gettext-0.11.5.
58404         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
58405         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
58406         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
58407
58408         Module localcharset.
58409         * m4/localcharset.m4: New file.
58410
58411         Module hard-locale.
58412         * m4/hard-locale.m4: New file.
58413
58414         Module mbswidth.
58415         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
58416         onceonly macros.
58417         * m4/mbrtowc.m4: Add comment.
58418
58419         Module memcasecmp.
58420         * m4/memcasecmp.m4: New file.
58421
58422         Module memcoll.
58423         * m4/memcoll.m4: New file.
58424
58425         Module unicodeio.
58426         * m4/unicodeio.m4: New file.
58427
58428         Module rpmatch.
58429         * m4/rpmatch.m4: New file.
58430
58431         Module yesno.
58432         * m4/yesno.m4: New file.
58433
58434         Module exitfail.
58435         * m4/exitfail.m4: New file.
58436
58437         Module c-stack.
58438         * m4/c-stack.m4 (gl_C_STACK): New macro.
58439         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
58440
58441         Module error.
58442         * m4/error.m4 (gl_ERROR): New macro.
58443         (jm_PREREQ_ERROR): Use onceonly macros.
58444
58445         Module fatal.
58446         * m4/fatal.m4: New file.
58447
58448         Module getloadavg.
58449         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
58450         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
58451
58452         Module getpagesize.
58453         * m4/getpagesize.m4: New file.
58454
58455         Module getusershell.
58456         * m4/getusershell.m4: New file.
58457
58458         Module physmem.
58459         * m4/physmem.m4: New file.
58460
58461         Module posixver.
58462         * m4/posixver.m4: New file.
58463
58464         Module quotearg.
58465         * m4/quotearg.m4: New file.
58466
58467         Module quote.
58468         * m4/quote.m4: New file.
58469
58470         Module readutmp.
58471         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
58472
58473         Module sig2str.
58474         * m4/sig2str.m4: New file.
58475
58476         Other.
58477         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
58478         ulonglong.m4.
58479         * m4/intmax_t.m4: New file.
58480         * m4/d-type.m4: Indentation.
58481         * m4/jm-macros.m4: Update.
58482         * m4/prereq.m4 (jm_PREREQ): Update.
58483         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
58484         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
58485         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
58486         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
58487         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
58488         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
58489         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
58490         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
58491         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
58492         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
58493         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
58494         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
58495         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
58496         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
58497         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
58498         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
58499         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
58500         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
58501         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
58502
58503 2002-12-24  Bruno Haible  <bruno@clisp.org>
58504
58505         * MODULES.txt: Update according to m4/ changes.
58506
58507         Module gettext.
58508         * config.rpath: New file, from gettext-0.11.5.
58509
58510         * modules/*: New module descriptions.
58511         * gnulib-tool: New file.
58512         * MODULES.html.sh: New file.
58513
58514 2002-12-21  Karl Berry  <karl@gnu.org>
58515
58516         * doc/fdl.texi: update to version 1.2.
58517
58518 2002-12-19  Karl Berry  <karl@gnu.org>
58519
58520         * config/config.guess: update from prep.
58521
58522 2002-12-18  Bruno Haible  <bruno@clisp.org>
58523
58524         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
58525         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
58526
58527 2002-12-17  Bruno Haible  <bruno@clisp.org>
58528
58529         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
58530         stdlib.h, string.h.
58531
58532 2002-12-17  Bruno Haible  <bruno@clisp.org>
58533
58534         * lib/canon-host.c (strdup): Remove unused declaration.
58535
58536         * lib/fsusage.c: Include full_read.h.
58537         (get_fs_usage): Use full_read instead of safe_read.
58538
58539         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
58540
58541 2002-12-12  Karl Berry  <karl@gnu.org>
58542
58543         * config/config.guess: update from prep.
58544
58545 2002-12-11  Bruno Haible  <bruno@clisp.org>
58546
58547         * m4/setenv.m4: New file, from gettext-0.11.5.
58548
58549 2002-12-11  Bruno Haible  <bruno@clisp.org>
58550
58551         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
58552         not unsetenv().
58553         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
58554         modifications:
58555
58556         2002-12-11  Bruno Haible  <bruno@clisp.org>
58557
58558                 * setenv.c (alloca): Fall back to malloc.
58559                 (freea): New macro.
58560                 (setenv): Use freea() to free memory allocated with alloca().
58561
58562         2002-11-13  Bruno Haible  <bruno@clisp.org>
58563
58564                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
58565                 function declarations.
58566                 * unsetenv.c (unsetenv): Likewise.
58567
58568         2002-03-04  Bruno Haible  <bruno@clisp.org>
58569
58570                 Portability to AIX 4.3.3.
58571                 * unsetenv.c: New file, extracted from setenv.c.
58572                 * setenv.c: Move the unsetenv() function to unsetenv.c.
58573
58574         2001-12-20  Bruno Haible  <bruno@clisp.org>
58575
58576                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
58577                 use malloc instead. For SunOS 4.
58578
58579         2001-12-11  Bruno Haible  <bruno@clisp.org>
58580
58581                 * setenv.c: Declare alloca.
58582                 (compar_fn_t): New typedef.
58583                 (KNOWN_VALUE, STORE_VALUE): Use it.
58584
58585         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
58586         setenv.h.
58587
58588 2002-12-10  Paul Eggert  <eggert@twinsun.com>
58589
58590         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
58591         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
58592         Choose values that are less likely to collide with system fnmatch
58593         options.
58594         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
58595         defined (e.g., a pure POSIX system).
58596         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
58597         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
58598
58599 2002-12-06  Paul Eggert  <eggert@twinsun.com>
58600
58601         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
58602         a pain in practice to deal with generated m4 files.  This change
58603         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
58604
58605         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
58606         and jm-glibc-io.m4, as they are no longer a special case.
58607         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
58608         kludge and the auto-generation stuff.  Check only whether the
58609         functions are declared, not whether they exist, since older hosts
58610         that don't declare the functions can't use the optimization anyway.
58611
58612 2002-12-06  Jim Meyering  <jim@meyering.net>
58613
58614         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
58615
58616         Merge in changes from libc's misc/error.c, in preparation
58617         for the merge of gnulib's changes back into libc.
58618
58619         * lib/error.c (_): Define only if not already defined.
58620         Move definition to follow all #include directives.
58621         Include unlocked-io.h only if !_LIBC.
58622         [_LIBC]: Include <libio/libioP.h>.
58623         [USE_IN_LIBIO]: Include <libio/iolibio.h>
58624         (fflush): Tweak definition to use INTUSE.
58625         (putc): Define.
58626
58627 2002-12-05  Paul Eggert  <eggert@twinsun.com>
58628
58629         * lib/alloca.c [defined emacs]: Include "lisp.h".
58630         (xalloc_die) [defined emacs]: New macro.
58631         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
58632         [! defined emacs]: Include <xalloc.h>.
58633         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
58634         (pointer): Typedef to POINTER_TYPE *.
58635         (malloc): Remove decl; we now always use xmalloc.
58636         (alloca): Use old-style definition, since Emacs needs this.
58637         Check for arithmetic overflow when computing combined size.
58638
58639 2002-12-04  Paul Eggert  <eggert@twinsun.com>
58640
58641         Do not generate unlocked-io.h automatically, since it's easier to
58642         maintain it by hand.
58643
58644         * lib/unlocked-io.h: New file, from GNU diffutils,
58645         but with proper copyright notice and attribution.
58646         * lib/gen-uio: Remove.
58647         * lib/Makefile.am: Add copyright notice.
58648         (libfetish_a_SOURCES): Add unlocked-io.h.
58649         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
58650         (DISTCLEANFILES, io_functions): Remove macros.
58651         (EXTRA_DIST): Remove gen_uio.
58652         (unlocked-io.h): Remove rule.
58653
58654 2002-12-04  Jim Meyering  <jim@meyering.net>
58655
58656         Reflect the fact that stat.c and lstat.c are no longer generated.
58657         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
58658         (DISTCLEANFILES): Likewise.
58659         (EXTRA_DIST): Likewise.
58660         (all_local): Don't depend on stat.c or lstat.c.
58661         (stat.c, lstat.c): Remove rules.
58662         (EXTRA_DIST): Remove xstat.in.
58663
58664         * lib/xstat.in: Remove file.  Contents moved into stat.c.
58665         * lib/stat.c: New file.  Contents mostly from xstat.in.
58666         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
58667         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
58668
58669         * lib/safe-read.c: Rework so that it may serve to define safe_write,
58670         too.
58671         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
58672
58673 2002-12-03  Jim Meyering  <jim@meyering.net>
58674
58675         * lib/safe-read.c, safe-write.c: Change variable names and comments,
58676         but not semantics, to minimize the differences between these two files.
58677         (safe_read): Change comment to mention SAFE_READ_ERROR.
58678
58679         * lib/safe-read.c (IS_EINTR): Define.
58680         (safe_read): Use IS_EINTR in place of in-function cpp directives.
58681
58682 2002-12-02  Jim Meyering  <jim@meyering.net>
58683
58684         * lib/safe-read.c (EINTR): Define.
58685         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
58686         (INT_MAX): Provide fallback.
58687         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
58688
58689         * lib/safe-read.h (SAFE_READ_ERROR): Define.
58690
58691 2002-12-02  Bruno Haible  <bruno@clisp.org>
58692
58693         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
58694         Define, taken from safe-read.c.
58695         (INT_MAX): Provide fallback.
58696         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
58697         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
58698
58699         * lib/safe-read.c (EINTR): Remove definition.
58700         (safe_read): Don't use EINTR if it is absent.
58701
58702 2002-12-01  Jim Meyering  <jim@meyering.net>
58703
58704         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
58705         zero.
58706         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
58707
58708 2002-11-27  Paul Eggert  <eggert@twinsun.com>
58709
58710         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
58711         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
58712         with `if (! (value < limit)) abort ();', for readability.
58713
58714 2002-11-26  Karl Berry  <karl@gnu.org>
58715
58716         * lib/strdup.c: copy from libc again, with jim's ok.
58717         * lib/.cppi-disable: re-add strdup.c
58718
58719 2002-11-25  Karl Berry  <karl@gnu.org>
58720
58721         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
58722         instead of "strtol.c".
58723
58724 2002-11-25  Karl Berry  <karl@gnu.org>
58725
58726         * config/install-sh: update from automake for variable quoting, $0 in
58727         error msgs, etc.
58728
58729         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
58730         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
58731         entry.
58732
58733 2002-11-25  Jim Meyering  <jim@meyering.net>
58734
58735         * lib/mktime.c: Sync from libc, now that it has the latest fix.
58736
58737 2002-11-24  Karl Berry  <karl@gnu.org>
58738
58739         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
58740         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
58741
58742 2002-11-24  Jim Meyering  <jim@meyering.net>
58743
58744         Update from coreutils:
58745
58746         * lib/mktime.c: Merge in changes from libc.
58747
58748         Avoid a link-time failure on some Linux systems.
58749         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
58750         (otherwise).
58751         (__mon_yday): Declare with the STATIC attribute.
58752         (__mktime_internal): Likewise.
58753         Based on a report from Greg Schafer.
58754
58755 2002-11-23  Jim Meyering  <jim@meyering.net>
58756
58757         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
58758         Use `unsigned', not `int', as type of index.
58759
58760         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
58761
58762         * lib/fsusage.c: Remove unneeded parentheses around operands of
58763         `defined'.
58764
58765 2002-11-22  Paul Eggert  <eggert@twinsun.com>
58766
58767         * lib/quotearg.h: Allow multiple inclusion by surrounding with
58768         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
58769         so that we can be included first.
58770         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
58771         * lib/quotearg.c: Include quotearg.h immediately after config.h.
58772         No need to include stddef.h or sys/types.h any more.
58773         Surround local include files with "", not "<>".
58774         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
58775         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
58776         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
58777         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
58778         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
58779         (ISPRINT): Remove; no longer needed now that we assume C89.
58780
58781         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
58782         Preserve errno.
58783
58784         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
58785         quotearg_char): Use SIZE_MAX rather than
58786         (size_t) -1 when we are talking about "infinity".
58787
58788         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
58789
58790 2002-11-22  Paul Eggert  <eggert@twinsun.com>
58791
58792         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
58793         hint that one should use `if (! x) abort ();' rather than `assert
58794         (x);', and anyway it's one less thing to worry about configuring.
58795         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
58796         hash_rehash, hash_insert): Use abort rather than assert.
58797
58798 2002-11-22  Bruno Haible  <bruno@clisp.org>
58799
58800         * lib/safe-read.h: Assume C89. Add comments.
58801         (safe_read): Change return type to size_t.
58802         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
58803         byte counts > SSIZE_MAX correctly.
58804         * lib/safe-write.h: New file.
58805         * lib/safe-write.c: New file.
58806         * lib/full-read.h: New file.
58807         * lib/full-read.c: New file.
58808         * lib/full-write.h: Assume C89. Add comments.
58809         * lib/full-write.c: Include safe-write.h.
58810         (full_write): Rewritten to use safe_write.
58811         Suggested by Jim Meyering and Paul Eggert.
58812
58813 2002-11-21  Jim Meyering  <jim@meyering.net>
58814
58815         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
58816
58817         Merge in changes from the coreutils.
58818
58819         2002-09-25  Paul Eggert  <eggert@twinsun.com>
58820         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
58821         <stdint.h>.
58822         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
58823         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
58824         int.  Work more efficiently if X is the same width as uintmax_t.
58825         Do not compare X to -1, to avoid bogus compiler warning.
58826         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
58827         Don't assume that f_frsize and f_bsize are the same type.
58828
58829         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
58830         warning on FreeBSD.
58831
58832         * lib/makepath.c (make_path): Restore umask *before* creating the final
58833         component.
58834         (make_path): Minor reformatting.
58835
58836         * lib/xmalloc.c: Adjust to work with new autoconf macros,
58837         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
58838         HAVE_MALLOC/HAVE_REALLOC.
58839
58840         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
58841         dummy ones.  At least on GNU/Linux systems, `auto' means something
58842         else.
58843         From Michael Stone.
58844
58845 2002-11-21  Bruno Haible  <bruno@clisp.org>
58846
58847         Remove case insensitive option matching.
58848         * lib/argmatch.h (argcasematch): Remove declaration.
58849         (ARGCASEMATCH): Remove macro.
58850         (__xargmatch_internal): Remove case_sensitive argument.
58851         (XARGMATCH): Update.
58852         (XARGCASEMATCH): Remove macro.
58853         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
58854         case_sensitive argument.
58855         (argcasematch): Remove function.
58856         (__xargmatch_internal): Remove case_sensitive argument.
58857         (main): Use XARGMATCH instead of XARGCASEMATCH.
58858
58859         * lib/xmalloc.c: Change compile-time error message. Add comment about
58860         required autoconf version.
58861
58862 2002-11-20  Paul Eggert  <eggert@twinsun.com>
58863
58864         Merge argmatch cleanups from Bison.  Assume C89.
58865
58866         * lib/argmatch.c: Include config.h here, not in argmatch.h.
58867         Include stdlib.h, for EXIT_FAILURE.
58868         Always include <string.h>, since we assume C89.
58869         (EXIT_FAILURE): Remove pre-C89 bug workaround.
58870         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
58871         Include <stddef.h> instead, since it's all we need for size_t.
58872         (PARAMS): Remove.  All uses removed.
58873         (ARRAY_CARDINALITY): Do not bother to #undef.
58874         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
58875         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
58876         Remove unnecessary parentheses.
58877         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
58878         Insert necessary parentheses.
58879         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
58880         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
58881
58882 2002-11-19  Bruno Haible  <bruno@clisp.org>
58883
58884         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
58885         * lib/mbswidth.h: Include <stddef.h>, for size_t.
58886
58887         * lib/mbswidth.h (PARAMS): Remove macro.
58888         (mbswidth, mbsnwidth): Use ANSI C function declarations.
58889         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
58890
58891         * lib/gcd.h (PARAMS): Remove macro.
58892         (gcd): Use ANSI C function declarations.
58893         * lib/gcd.c (gcd): Likewise.
58894
58895 2002-11-15  Bruno Haible  <bruno@clisp.org>
58896
58897         * lib/strcspn.c: Include <stddef.h>.
58898         (strcspn): Use ANSI C function declaration. Change return type to
58899         size_t. Use NULL.
58900         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
58901         (strpbrk): Use NULL.
58902         * lib/strpbrk.h (PARAMS): Remove macro.
58903         (strpbrk): Use ANSI C function declaration.
58904         * lib/strstr.c: Don't include <sys/types.h>.
58905         * lib/strstr.h (PARAMS): Remove macro.
58906         (strstr): Use ANSI C function declarations.
58907
58908 2002-11-14  Karl Berry  <karl@gnu.org>
58909
58910         * config/mkinstalldirs: `do' on separate line, instead of
58911         `for var; do'.
58912
58913 2002-11-06  Bruno Haible  <bruno@clisp.org>
58914
58915         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
58916         * lib/gcd.c (gcd): Likewise.
58917
58918 2002-11-05  Bruno Haible  <bruno@clisp.org>
58919
58920         * lib/gcd.h: New file, from gettext-0.11.5.
58921         * lib/gcd.c: New file, from gettext-0.11.5.
58922
58923 2002-11-05  Bruno Haible  <bruno@clisp.org>
58924
58925         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58926         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58927         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58928         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58929
58930         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
58931         <libintl.h>.
58932         * lib/makepath.c: Include gettext.h instead of <locale.h> and
58933         <libintl.h>.
58934
58935         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
58936         * lib/human.c: Include gettext.h instead of <libintl.h>.
58937         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
58938         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
58939         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
58940         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
58941         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
58942         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
58943         (textdomain): Remove definition.
58944         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
58945
58946         * lib/long-options.c: Remove include of <libintl.h> and definition of
58947         _.
58948         * lib/same.c: Remove include of <libintl.h> and definition of _.
58949
58950 2002-11-04  Owen Taylor  <otaylor@redhat.com>
58951
58952         * lib/config.charset: A few additions for Solaris.
58953
58954 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
58955
58956         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
58957         * lib/localcharset.c (locale_charset): Declare as extern "C".
58958
58959 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
58960
58961         * lib/config.charset: msdos in uk_UA uses CP1125.
58962
58963 2002-11-04  Bruno Haible  <bruno@clisp.org>
58964
58965         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
58966         * lib/strcase.h: New file, from GNU gettext-0.11.5.
58967         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
58968         * lib/strstr.h: New file, from GNU gettext-0.11.5.
58969         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
58970
58971 2002-11-04  Bruno Haible  <bruno@clisp.org>
58972
58973         * lib/localcharset.c (locale_charset): Don't return an empty string.
58974
58975 2002-11-04  Bruno Haible  <bruno@clisp.org>
58976
58977         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
58978         aliases.
58979
58980 2002-11-04  Bruno Haible  <bruno@clisp.org>
58981
58982         * lib/config.charset: Update for newest glibc. Add canonical names
58983         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
58984
58985 2002-11-04  Bruno Haible  <bruno@clisp.org>
58986
58987         * lib/config.charset: Add support for NetBSD.
58988
58989 2002-11-04  Bruno Haible  <bruno@clisp.org>
58990
58991         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
58992
58993 2002-11-01  Bruno Haible  <bruno@clisp.org>
58994
58995         * configure.in: Add AC_CONFIG_AUX_DIR call.
58996         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
58997         test/Makefile.
58998         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
58999
59000 2002-09-28  Karl Berry  <karl@gnu.org>
59001
59002         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
59003         installed automake until the next release, since changes have been
59004         made.
59005
59006 2002-09-25  Karl Berry  <karl@gnu.org>
59007
59008         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
59009         * lib/getopt*: copy from libc/posix.
59010         * lib/gettext.h: copy from gettext.
59011         * lib/.cppi-disable: add strdup.c, gettext.h.
59012
59013 2002-09-25  Karl Berry  <karl@gnu.org>
59014
59015         * config/srclist.txt: enable gettext.h check.
59016         * config/config.{guess,sub}: update from prep.
59017         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
59018                 from automake 1.6.3.
59019         See srclist*.
59020
59021 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
59022
59023         * regex.c (PATFETCH): Remove the translating fetch.
59024         (PATFETCH_RAW): Rename to PATFETCH.
59025         (set_image_of_range): New fun.
59026         (SET_RANGE_TABLE_WORK_AREA): Use it.
59027         (regex_compile): Don't translate the pattern chars so eagerly.
59028         Only do it when inserting an `exactn' bytecode or when handling
59029         a char-range.
59030         (mutually_exclusive_p): Avoid empty statement.
59031
59032 2002-07-06  Jim Meyering  <meyering@lucent.com>
59033
59034         * m4/README: Don't mention Makefile.am.in.
59035         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
59036
59037 2002-07-01  Jim Meyering  <meyering@lucent.com>
59038
59039         * lib/c-stack.c: Include sys/time.h.
59040         From Volker Borchert.
59041
59042 2002-06-26  Paul Eggert  <eggert@twinsun.com>
59043
59044         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
59045
59046 2002-06-26  Paul Eggert  <eggert@twinsun.com>
59047
59048         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
59049         New macro.  Use it uniformly instead of
59050         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
59051         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
59052         reported by Vin Shelton.
59053
59054 2002-06-22  Paul Eggert  <eggert@twinsun.com>
59055
59056         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
59057         Do not assume SA_SIGINFO behavior.
59058         Bug reported by Jim Meyering on NetBSD 1.5.2.
59059
59060 2002-06-22  Jim Meyering  <meyering@lucent.com>
59061
59062         * m4/c-stack.m4: New file, from diffutils-2.8.2.
59063         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
59064
59065         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
59066         now that configure.ac uses AC_GNU_SOURCE.
59067         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
59068         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
59069
59070         Update to latest tools.  Suggestions from Paul Eggert.
59071         * m4/stdbool.m4: New file, from diffutils-2.8.2.
59072         * m4/gnu-source.m4: Update from diffutils-2.8.2.
59073         * m4/fnmatch.m4: Likewise.
59074         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
59075         to AC_HEADER_STDBOOL
59076
59077 2002-06-22  Jim Meyering  <meyering@lucent.com>
59078
59079         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
59080         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
59081
59082 2002-06-22  Jim Meyering  <meyering@lucent.com>
59083
59084         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
59085
59086         * lib/exitfail.c, exitfail.h: Likewise.
59087         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
59088
59089         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
59090         of fnmatch.h.
59091         (EXTRA_DIST): Add fnmatch_loop.c.
59092         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
59093
59094         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
59095         * lib/fnmatch.c: Update from diffutils-2.8.2.
59096         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
59097         * lib/fnmatch.h: Remove file.
59098
59099 2002-06-21  Jim Meyering  <meyering@lucent.com>
59100
59101         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
59102         * m4/mbrtowc.m4: Likewise.
59103
59104         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
59105         * m4/mbswidth.m4: Reflect name change:
59106         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
59107         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
59108
59109         * m4/lib-link.m4: Update from gettext-0.11.2.
59110         * m4/gettext.m4: Likewise.
59111
59112         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
59113         From Alfred M. Szmidt.
59114
59115 2002-06-18  Paul Eggert  <eggert@twinsun.com>
59116
59117         * lib/file-type.h: Report an error if neither S_ISREG nor
59118         S_IFREG is defined, instead of using a test specific to glibc
59119         2.2.  This should be safe, since POSIX requires S_ISREG and
59120         Unix Version 7 had S_IFREG.  We don't need to check for
59121         <sys/types.h> since we don't use any symbols that it defines.
59122
59123 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
59124
59125         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
59126         $@-t, so that each temporary file name is unique and valid in the first
59127         8 characters, for operation under DOS.
59128
59129 2002-06-15  Paul Eggert  <eggert@twinsun.com>
59130
59131         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
59132
59133 2002-06-15  Jim Meyering  <meyering@lucent.com>
59134
59135         Work even with DJGPP 2.03, which lacks support for symlinks.
59136         From Richard Dawe.
59137         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
59138         is defined.
59139         * lib/lchown.c (S_ISLNK): Likewise.
59140
59141 2002-06-15  Jim Meyering  <meyering@lucent.com>
59142
59143         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
59144         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
59145         have been included before this file.
59146
59147 2002-06-14  Jim Meyering  <meyering@lucent.com>
59148
59149         * lib/file-type.h: Use the version from diffutils-2.8.2.
59150         * lib/file-type.c: Likewise.
59151
59152 2002-06-07  Jim Meyering  <meyering@lucent.com>
59153
59154         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
59155         They're needed at least for NetBSD 1.5.2.
59156         ($statxfs_includes): Include those same headers.
59157         ($statxfs_includes): Include sys/vfs.h if available.
59158         ($statxfs_includes): Likewise for sys/statvfs.h.
59159         Check for the following members in both structs statfs and statvfs:
59160         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
59161
59162 2002-06-01  Jim Meyering  <meyering@lucent.com>
59163
59164         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
59165         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
59166
59167 2002-05-28  Jim Meyering  <meyering@lucent.com>
59168
59169         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
59170         Reported by Volker Borchert.
59171
59172 2002-05-27  Jim Meyering  <meyering@lucent.com>
59173
59174         Fix a problem seen only on nonconforming systems whereby ls.c's
59175         use of localtime, and then of gettimeofday would cause trouble:
59176         the localtime call used to initialize rpl_gettimeofday's save
59177         mechanism would clobber ls's current local time information so
59178         that in any long listing the first file would always be listed
59179         with date 1970-01-01.  Analysis by Volker Borchert.
59180
59181         * lib/gettimeofday.c (localtime): Undefine.
59182         (rpl_localtime): New function.
59183
59184 2002-05-27  Jim Meyering  <meyering@lucent.com>
59185
59186         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
59187         localtime.
59188
59189         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
59190         use the replacement function; it wouldn't resolve at link time.
59191         Reported by Volker Borchert.
59192
59193 2002-05-22  Jim Meyering  <meyering@lucent.com>
59194
59195         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
59196         file-type.h.
59197         * lib/file-type.h: New file.
59198         * lib/file-type.c (file_type): New file/function.  Extracted from
59199         diffutils.
59200
59201 2002-04-30  Jim Meyering  <meyering@lucent.com>
59202
59203         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
59204
59205 2002-04-29  Paul Eggert  <eggert@twinsun.com>
59206
59207         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
59208
59209 2002-04-29  Paul Eggert  <eggert@twinsun.com>
59210
59211         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
59212         Do not check for alloca.h (no longer used) or stdbool.h (was never
59213         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
59214
59215 2002-04-29  Paul Eggert  <eggert@twinsun.com>
59216
59217         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
59218
59219 2002-04-29  Jim Meyering  <meyering@lucent.com>
59220
59221         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
59222         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
59223         Use AC_FUNC_STRNLEN here instead.
59224
59225         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
59226         With autoconf-2.53a, it's part of AC_PROG_CC.
59227
59228 2002-04-28  Paul Eggert  <eggert@twinsun.com>
59229
59230         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
59231         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
59232
59233 2002-04-28  Paul Eggert  <eggert@twinsun.com>
59234
59235         * lib/sig2str.h, lib/sig2str.c: New files.
59236         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
59237
59238 2002-04-28  Paul Eggert  <eggert@twinsun.com>
59239
59240         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
59241         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
59242         of 127, since 64 is the largest conceivable number for ancient
59243         nonstandard hosts.
59244         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
59245
59246 2002-04-28  Jim Meyering  <meyering@lucent.com>
59247
59248         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
59249
59250 2002-04-24  Jim Meyering  <meyering@lucent.com>
59251
59252         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
59253         (jm_PREREQ): Use it.
59254
59255         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
59256         mach/mach.h fcntl.h.
59257         Check for this function: setlocale.
59258
59259 2002-04-24  Jim Meyering  <meyering@lucent.com>
59260
59261         * lib/gettext.h: New file, from Gettext.
59262         * lib/Makefile.am (INCLUDES): Remove -I../intl.
59263         (libfetish_a_SOURCES): Add gettext.h.
59264
59265 2002-04-16  Jim Meyering  <meyering@lucent.com>
59266
59267         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
59268         ut_pid, ut_id, ut_exit.
59269
59270 2002-04-16  Jim Meyering  <meyering@lucent.com>
59271
59272         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
59273         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
59274         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
59275
59276 2002-04-12  Jim Meyering  <meyering@lucent.com>
59277
59278         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
59279         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
59280         existence of the getmntinfo function.  Needed for Darwin 5.3.
59281
59282         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
59283         This is necessary at least on Darwin 5.3.
59284
59285         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
59286         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
59287         strnlen.o in the library, and that makes some versions of ranlib
59288         object.
59289
59290 2002-04-12  Jim Meyering  <meyering@lucent.com>
59291
59292         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
59293
59294 2002-04-09  Jim Meyering  <meyering@lucent.com>
59295
59296         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
59297         to be more precise.  Rather than saying we're checking whether the
59298         function `works', say what we're testing.
59299         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
59300         Reported by Bruno Haible.
59301
59302 2002-03-10  Jim Meyering  <meyering@lucent.com>
59303
59304         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
59305         Suggestion from Santiago Vila.
59306
59307 2002-03-08  Jim Meyering  <meyering@lucent.com>
59308
59309         * lib/rename.c: Mention that this wrapper is needed also on
59310         mips-dec-ultrix4.4 systems.
59311
59312 2002-03-02  Jim Meyering  <meyering@lucent.com>
59313
59314         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
59315         not HAVE_CLOCK_SETTIME.
59316
59317 2002-02-27  Paul Eggert  <eggert@twinsun.com>
59318
59319         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
59320         Check for clock_settime.
59321
59322 2002-02-27  Paul Eggert  <eggert@twinsun.com>
59323
59324         * lib/nanosleep.h: Rename to....
59325         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
59326
59327         * lib/gettime.c: New file.
59328         * lib/settime.c: New file.
59329         * lib/stime.c: Remove.
59330
59331         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
59332         timespec.h.  Remove nanosleep.h.
59333
59334 2002-02-25  Paul Eggert  <eggert@twinsun.com>
59335
59336         * m4/acl.m4: New file.
59337         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
59338         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
59339
59340 2002-02-25  Paul Eggert  <eggert@twinsun.com>
59341
59342         * lib/acl.c, lib/acl.h: New files.
59343         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
59344
59345 2002-02-24  Jim Meyering  <meyering@lucent.com>
59346
59347         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
59348         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
59349         cause trouble.  Reported by Nelson Beebe.
59350
59351 2002-02-23  Paul Eggert  <eggert@twinsun.com>
59352
59353         * lib/path-concat.c (xpath_concat): Reorder code to pacify
59354         compilers that don't know that xalloc_die never returns.
59355
59356 2002-02-20  Jim Meyering  <meyering@lucent.com>
59357
59358         * lib/getdate.c: Regenerate using bison-1.33.
59359
59360 2002-02-17  Jim Meyering  <meyering@lucent.com>
59361
59362         * config/config.guess (main): Don't use `head -1'; it's no longer
59363         portable. Use `sed 1q' instead.
59364
59365 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
59366
59367         * m4/codeset.m4: Upgrade to gettext-0.11.
59368         * m4/gettext.m4: Upgrade to gettext-0.11.
59369         * m4/glibc21.m4: Upgrade to gettext-0.11.
59370         * m4/iconv.m4: Upgrade to gettext-0.11.
59371         * m4/isc-posix.m4: Upgrade to gettext-0.11.
59372         * m4/lcmessage.m4: Upgrade to gettext-0.11.
59373         * m4/lib-ld.m4: New file, from gettext-0.11.
59374         * m4/lib-link.m4: New file, from gettext-0.11.
59375         * m4/lib-prefix.m4: New file, from gettext-0.11.
59376         * m4/progtest.m4: Upgrade to gettext-0.11.
59377
59378 2002-02-15  Paul Eggert  <eggert@twinsun.com>
59379
59380         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
59381         (jm_PREREQ): Use it.
59382
59383 2002-02-15  Paul Eggert  <eggert@twinsun.com>
59384
59385         * lib/posixver.c, lib/posixver.h: New files.
59386         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
59387
59388 2002-02-02  Paul Eggert  <eggert@twinsun.com>
59389             Bruno Haible  <bruno@clisp.org>
59390
59391         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
59392         (fwrite_success_callback): New declaration.
59393         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
59394         print_unicode_char. Call failure callback instead of error.
59395         (fwrite_success_callback): New function.
59396         (exit_failure_callback): New function.
59397         (fallback_failure_callback): New function.
59398         (print_unicode_char): Call unicode_to_mb.
59399
59400 2002-01-26  Jim Meyering  <meyering@lucent.com>
59401
59402         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
59403         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
59404
59405 2002-01-26  Jim Meyering  <meyering@lucent.com>
59406
59407         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
59408
59409 2002-01-22  Paul Eggert  <eggert@twinsun.com>
59410
59411         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
59412
59413 2002-01-22  Jim Meyering  <meyering@lucent.com>
59414
59415         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
59416         Otherwise, some versions of automake would omit the rule that makes
59417         Makefile from Makefile.in.
59418
59419 2002-01-21  Paul Eggert  <eggert@twinsun.com>
59420
59421         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
59422         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
59423         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
59424         (memcoll): Set errno to zero if there is no error.
59425
59426         * lib/quotearg.c (quotearg_buffer_restyled):
59427         Fix bug with quoting buffers containing NUL when backslashing escapes.
59428         This bug was exposed by the other changes in this patch.
59429         (quotearg_n_options): New arg ARGSIZE.
59430         All callers changed.
59431         (quoting_options_from_style): New function.
59432         (quotearg_n_style): Use it.
59433         (quotearg_n_style_mem): New function.
59434
59435         * lib/quotearg.h (quotearg_n_style_mem): New function.
59436
59437 2002-01-19  Jim Meyering  <meyering@lucent.com>
59438
59439         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
59440         Remove useless quotes: DF_PROG="df".
59441         * m4/strnlen.m4: New file.
59442
59443 2002-01-16  Paul Eggert  <eggert@twinsun.com>
59444
59445         * lib/backupfile.c (ISDIGIT): Comment fix.
59446         * lib/getdate.y (ISDIGIT): Likewise.
59447         * lib/posixtm.c (ISDIGIT, year): Likewise.
59448         * lib/strverscmp.c (ISDIGIT): Likewise.
59449         * lib/userspec.c (ISDIGIT): Likewise.
59450
59451 2002-01-16  Jim Meyering  <meyering@lucent.com>
59452
59453         * lib/getdate.y: Add three semicolons, each just before a closing
59454         brace. Bison (as of version 1.31) no longer papers over that mistake.
59455
59456 2002-01-05  Jim Meyering  <meyering@lucent.com>
59457
59458         * lib/version-etc.c (version_etc_copyright): Update copyright year.
59459
59460 2001-12-19  Paul Eggert  <eggert@twinsun.com>
59461
59462         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
59463         not silently exit merely because the output buffer happens to
59464         have nothing pending.
59465
59466 2001-12-18  Paul Eggert  <eggert@twinsun.com>
59467
59468         See the big note in ../ChangeLog.
59469         * lib/human.c (suffixes): Prefer K to k for 1024.
59470         (generate_suffix_backwards): New function.
59471         (human_readable_inexact): Use it.
59472         * lib/xstrtol.c (__xstrtol): If there is no number but there
59473         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
59474         Accept 'K' as well as 'k'.
59475
59476 2001-12-15  Jim Meyering  <meyering@lucent.com>
59477
59478         * lib/regex.h (__restrict_arr): Update from libc.
59479
59480         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
59481         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
59482         (STREQ): Define.
59483
59484 2001-12-14  Jim Meyering  <meyering@lucent.com>
59485
59486         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
59487         Suggestion from Bruno Haible.
59488
59489 2001-12-10  Jim Meyering  <meyering@lucent.com>
59490
59491         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
59492         xrealloc, Instead, include "xalloc.h".
59493         (initbuffer): Don't cast xmalloc return value to char*.
59494         (readline): Reword comment.
59495         Don't cast xrealloc return value to char*
59496         Return NULL, not 0.
59497
59498 2001-12-09  Jim Meyering  <meyering@lucent.com>
59499
59500         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
59501         about `signed and unsigned type in conditional expression'.
59502         * lib/posixtm.c (posix_time_parse): Likewise.
59503
59504         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
59505
59506         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
59507         to avoid a pedantic warning.
59508
59509         * lib/getstr.c: Don't include assert.h.
59510         (getstr): Remove warning-evoking assertions.
59511         Return -1 if offset parameter is out of bounds.
59512         Change the type of a local from int to size_t.
59513
59514         * lib/strftime.c (my_strftime_localtime_r): Include this function
59515         definition in the `#if ! HAVE_TM_GMTOFF' block.
59516
59517         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
59518         Include xalloc.h instead.
59519
59520 2001-12-02  Jim Meyering  <meyering@lucent.com>
59521
59522         * lib/tempname.c: Don't declare getenv, thus reverting the change of
59523         2001-11-18.  It's no longer necessary, now that stdlib.h is always
59524         included.
59525
59526         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
59527         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
59528
59529 2001-11-30  Akim Demaille  <akim@epita.fr>
59530
59531         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
59532         before being defined.
59533
59534 2001-11-27  Paul Eggert  <eggert@twinsun.com>
59535
59536         * lib/quotearg.h (quotearg_n, quotearg_n_style):
59537         First arg is int, not unsigned.
59538         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
59539         (SIZE_MAX, UINT_MAX): New macros.
59540         (quotearg_n_options): Abort if N is negative.
59541         Avoid overflow check on hosts where size_t is 64 bits and int
59542         is 32 bits, as overflow is impossible there.
59543         Fix off-by-one typo that caused unnecessary reallocation.
59544
59545 2001-11-27  Jim Meyering  <meyering@lucent.com>
59546
59547         * lib/tempname.c: Merge with version from libc.
59548         * lib/regex.c: Likewise.
59549
59550         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
59551         systems for which STDC_HEADERS is 0, it was not included, resulting in
59552         a warning about an integer-to-pointer conversion problem with getenv.
59553         Reported by Volker Borchert.
59554
59555 2001-11-26  Jim Meyering  <meyering@lucent.com>
59556
59557         * lib/gtod.h: Remove file.
59558         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
59559         * lib/gettimeofday.c: Don't include gtod.h.
59560         (GTOD_init): Remove function.
59561         (rpl_gettimeofday): Do its job here instead, rather than aborting.
59562         Suggestion from Volker Borchert.
59563
59564 2001-11-23  Jim Meyering  <meyering@lucent.com>
59565
59566         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
59567         it.
59568         * lib/hash.c (struct hash_table): Define it here instead.
59569
59570 2001-11-22  Jim Meyering  <meyering@lucent.com>
59571
59572         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
59573
59574 2001-11-20  Jim Meyering  <meyering@lucent.com>
59575
59576         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
59577         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
59578
59579 2001-11-19  Jim Meyering  <meyering@lucent.com>
59580
59581         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
59582         directory.  Use "conftestXXXXXX" as the template.
59583         Suggestion from Paul Eggert.
59584
59585         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
59586         immediately, so the test doesn't mistakenly hit the max-open-files
59587         limit.
59588
59589 2001-11-18  Paul Eggert  <eggert@twinsun.com>
59590
59591         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
59592         (TEMPORARIES): New macro.
59593         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
59594         removes an artificial limitation (e.g. HP-UX 10.20, where
59595         TMP_MAX is 17576).
59596
59597 2001-11-18  Jim Meyering  <meyering@lucent.com>
59598
59599         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
59600
59601 2001-11-18  Jim Meyering  <meyering@lucent.com>
59602
59603         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
59604         on SunOS 4.
59605
59606         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
59607         files will be created before anything else.
59608
59609 2001-11-17  Paul Eggert  <eggert@twinsun.com>
59610
59611         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
59612         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
59613
59614 2001-11-17  Jim Meyering  <meyering@lucent.com>
59615
59616         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
59617         Prompted by a report from Bob Proulx.
59618
59619         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
59620         Instead, require UTILS_FUNC_MKSTEMP.
59621
59622 2001-11-17  Jim Meyering  <meyering@lucent.com>
59623
59624         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
59625         Now, that's done as part of AC_FUNC_STRTOD.
59626
59627 2001-11-17  Jim Meyering  <meyering@lucent.com>
59628
59629         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
59630         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
59631         rather than group writable.  Patch by Juan F. Codagnone.
59632
59633         * lib/readtokens.c: Remove explicit declarations of xmalloc and
59634         xrealloc, Instead, include "xalloc.h".
59635
59636         * lib/mountlist.c: Include unlocked-io.h after all system headers.
59637         Remove explicit declarations of xmalloc, xrealloc,
59638         and xstrdup.  Instead, include "xalloc.h".
59639
59640         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
59641         unlocked-io.h.
59642         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
59643         Likewise.
59644         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
59645
59646         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
59647         Reported by Padraig Brady.
59648
59649         * lib/mkstemp.c: #undef mkstemp.
59650         Include config.h.
59651         (rpl_mkstemp): Rename from mkstemp.
59652         Protoize.
59653
59654 2001-11-16  Jim Meyering  <meyering@lucent.com>
59655
59656         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
59657         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
59658         determine the amount of total physical memory, use pstat_getstatic.
59659         HPUX-11 doesn't define _SC_PHYS_PAGES.
59660         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
59661         If sysconf couldn't be used to determine the amount of available
59662         physical memory, use both pstat_getstatic and pstat_getdynamic.
59663         Based on a patch from Bob Proulx.
59664
59665 2001-11-10  Jim Meyering  <meyering@lucent.com>
59666
59667         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
59668         (jm_PREREQ): Use it.
59669
59670 2001-11-09  Jim Meyering  <meyering@lucent.com>
59671
59672         * m4/jm-macros.m4: Require autoconf-2.52f.
59673         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
59674         Use these AC_-prefixed names, not the AM_-prefixed ones.
59675
59676         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
59677
59678 2001-11-05  Jim Meyering  <meyering@lucent.com>
59679
59680         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
59681
59682 2001-11-04  Jim Meyering  <meyering@lucent.com>
59683
59684         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
59685         $DEFS.
59686
59687 2001-11-03  Jim Meyering  <meyering@lucent.com>
59688
59689         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
59690         of AC_DEFUN.
59691
59692         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
59693         know the name of the variable in the macro definition.
59694
59695 2001-11-03  Jim Meyering  <meyering@lucent.com>
59696
59697         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
59698         in argmatch_to_argument call.
59699
59700         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
59701         argument.
59702
59703         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
59704         e.g., a fault due to an attempt to free a NULL pointer.
59705
59706 2001-11-01  Jim Meyering  <meyering@lucent.com>
59707
59708         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
59709         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
59710
59711 2001-11-01  Jim Meyering  <meyering@lucent.com>
59712
59713         * lib/dirfd.c, lib/dirfd.h: New files.
59714         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
59715
59716         * lib/hash.c (hash_print) [TESTING]: Clean up.
59717
59718 2001-10-22  Paul Eggert  <eggert@twinsun.com>
59719
59720         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
59721         to avoid a warning if -Wall.
59722
59723 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
59724
59725         * README: New file
59726         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
59727         (per RMS's instructions, this is now the canonical source)
59728         * lgpl/, gpl/: New directories.
59729
59730 2001-10-21  Paul Eggert  <eggert@twinsun.com>
59731
59732         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
59733
59734 2001-10-21  Jim Meyering  <meyering@lucent.com>
59735
59736         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
59737         this code would end up calling gettext even in packages built
59738         with --disable-nls.
59739         * lib/getopt.c (_): Likewise.
59740         * lib/regex.c (_): Likewise.
59741
59742 2001-10-20  Paul Eggert  <eggert@twinsun.com>
59743
59744         * m4/error.m4 (jm_PREREQ_ERROR):
59745         Do not invoke AC_CHECK_FUNCS with strerror_r, as
59746         AC_FUNC_STRERROR_R does that.
59747         Check for strerror declaration.
59748
59749         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
59750         are supposed to have them these days.
59751         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
59752         Merge changes from latest Autoconf CVS.
59753         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
59754         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
59755         POSIX decided to standardize on the int flavor of strerror_r.
59756
59757 2001-10-20  Paul Eggert  <eggert@twinsun.com>
59758
59759         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
59760         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
59761         Use strerror_r that is only a macro, even if it is not a function.
59762         (strerror): Check for HAVE_DECL_STRERROR before declaring.
59763         (private_strerror): Use prototypes, not old-style function definition.
59764         (print_errno_message): New function.
59765         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
59766         char*-flavored one.
59767         (error_tail, error, error_at_line): Use it.
59768
59769 2001-10-11  Jim Meyering  <meyering@lucent.com>
59770
59771         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
59772         and quote_n (1, ... to avoid clobbering a buffer.
59773
59774 2001-10-05  Jim Meyering  <meyering@lucent.com>
59775
59776         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
59777         hash-pjw.h.
59778         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
59779         * lib/hash-pjw.h: New file.
59780
59781 2001-09-30  Jim Meyering  <meyering@lucent.com>
59782
59783         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
59784         `struct fsstat' has the `f_fstypename' member.
59785         Use that to define FS_TYPE, which is now used to make
59786         the getfsstat link test tighter.
59787
59788 2001-09-30  Jim Meyering  <meyering@lucent.com>
59789
59790         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
59791         Include <sys/ucred.h>, for Apple Darwin.
59792         Include sys/mount.h and sys/fs_types.h only if available.
59793         (FS_TYPE): Define.
59794         (read_filesystem_list): Use FS_TYPE.
59795
59796 2001-09-29  Paul Eggert  <eggert@twinsun.com>
59797
59798         * lib/exclude.c (excluded_filename): 0 -> false, since it's
59799         a boolean context.
59800
59801 2001-09-29  Jim Meyering  <meyering@lucent.com>
59802
59803         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
59804         [one-argument getmntent function]): Include stdio.h before mntent.h.
59805         SunOS 4.1.x needs it for the declaration of `FILE'.
59806         Patch by Volker Borchert.
59807
59808         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
59809         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
59810         sys/fs_types.h, and make the link-test for getfsstat guard #include
59811         directives with appropriate #if HAVE_*_H tests so that we can
59812         detect getfsstat on Apple Darwin1.3.7 systems.
59813         Reported by Nelson Beebe.
59814         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
59815
59816 2001-09-28  Paul Eggert  <eggert@twinsun.com>
59817
59818         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
59819         #defines strtoimax.  Also treat the other strto* functions
59820         like strtoimax.
59821
59822         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
59823         Check for strtoul and strtoumax,
59824         as those declarations are made even in the signed case.
59825         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
59826         Likewise, for strtol and strtoimax.
59827
59828 2001-09-28  Paul Eggert  <eggert@twinsun.com>
59829
59830         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
59831         #defines strtoimax.  Also treat the other strto* functions
59832         like strtoimax.
59833
59834         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
59835         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
59836         (strtoimax, strtoumax): Do not declare if already defined as a macro.
59837
59838 2001-09-26  Jim Meyering  <meyering@lucent.com>
59839
59840         Most macros in unlocked-io.h had the wrong number of arguments.
59841         * lib/gen-uio: New script.
59842         (USE_UNLOCKED_IO): Define to 1 if not already defined.
59843         * lib/unlocked-io.hin: Remove file.
59844         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
59845         rather than trying to embed it here.
59846         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
59847         Reported by Padraig Brady.
59848
59849 2001-09-25  Volker Borchert  <bt@teknon.de>
59850
59851         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
59852         `result'.
59853
59854 2001-09-24  Jim Meyering  <meyering@lucent.com>
59855
59856         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
59857
59858 2001-09-23  Jim Meyering  <meyering@lucent.com>
59859
59860         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
59861         instead of the mere test for existence of mntent.h.  The latter
59862         would get a false-positive on AIX 3.4 systems.
59863         In the outer getmntent if-block, don't die if neither of the getmntent
59864         tests succeeds.  Instead, just fall through and continue with the
59865         remaining tests.
59866
59867 2001-09-23  Jim Meyering  <meyering@lucent.com>
59868
59869         * lib/mountlist.c: Remove useless parentheses in #if directives.
59870         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
59871         the deprecated MOUNTED symbol is no longer defined in mntent.h.
59872
59873 2001-09-22  Jim Meyering  <meyering@lucent.com>
59874
59875         * m4/gettext.m4: New file.  From gettext.
59876         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
59877         * m4/progtest.m4: Likewise
59878         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
59879         * m4/glibc21.m4: Likewise.
59880
59881         * m4/libintl.m4: Remove.  No longer used.
59882
59883 2001-09-22  Jim Meyering  <meyering@lucent.com>
59884
59885         * lib/localcharset.c: Update from latest gettext.
59886         * lib/config.charset: Likewise.
59887
59888 2001-09-20  Jim Meyering  <meyering@lucent.com>
59889
59890         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
59891         strtoimax.
59892         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
59893         strtoumax.
59894
59895 2001-09-20  Jim Meyering  <meyering@lucent.com>
59896
59897         * lib/xstrtol.c (strtoimax): Guard declaration with
59898         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
59899         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
59900         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
59901         (strtoumax): Likewise, for completeness (it wasn't necessary).
59902
59903 2001-09-17  Paul Eggert  <eggert@twinsun.com>
59904
59905         * lib/strtoimax.c (HAVE_LONG_LONG):
59906         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
59907         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
59908         to work around bug in IBM C compiler.
59909
59910 2001-09-17  Jim Meyering  <meyering@lucent.com>
59911
59912         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
59913         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
59914         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
59915         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
59916         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
59917         whenever the right hand side need not be expanded by the shell.
59918
59919 2001-09-16  Paul Eggert  <eggert@twinsun.com>
59920
59921         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
59922         library.  It's not correct, as some older glibcs are buggy.
59923         fnmatch wasn't fixed until glibc 2.2.
59924
59925         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
59926         special shell magic here.
59927
59928 2001-09-16  Jim Meyering  <meyering@lucent.com>
59929
59930         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
59931         * m4/jm-macros.m4: Require it.
59932
59933 2001-09-16  Jim Meyering  <meyering@lucent.com>
59934
59935         * lib/mkdir.c: New file.
59936
59937 2001-09-15  Jim Meyering  <meyering@lucent.com>
59938
59939         * m4/jm-macros.m4: Check for help2man.
59940
59941 2001-09-11  Jim Meyering  <meyering@lucent.com>
59942
59943         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
59944         The body, by Paul Eggert, was moved here from configure.in.
59945         * m4/jm-macros.m4: Require UTILS_HOST_OS.
59946
59947 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59948
59949         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
59950         (jm_PREREQ): Use it.
59951
59952 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59953
59954         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
59955         Use ssize_t, not int, to store result of readlink.
59956         Check for ssize_t overflow as well as size_t overflow,
59957         as POSIX says the result of readlink is implementation-defined
59958         when ssize_t overflows.
59959         Remove unnecessary cast to char*.
59960         Use free+malloc instead of realloc, as the storage doesn't need
59961         to be preserved and it's clearer and can be more efficient that way.
59962         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
59963         * lib/xreadlink.h (xreadlink): Update prototype.
59964
59965 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59966
59967         * lib/xgetcwd.c: Revert some of the previous change; intead,
59968         fix the HAVE_GETCWD_NULL code to behave more like the
59969         !HAVE_GETCWD_NULL code used to.
59970
59971         Include "xalloc.h".
59972         (xgetcwd): Do not return NULL when memory is exhausted; instead,
59973         invoke xalloc_die.
59974
59975 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59976
59977         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
59978         sys/param.h, as pathmax.h includes them.
59979
59980 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59981
59982         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
59983         (jm_PREREQ_XGETCWD): New macro.
59984
59985         * m4/getcwd.m4: New file.
59986
59987 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59988
59989         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
59990         like the HAVE_GETCWD_NULL code.
59991         Include pathmax.h if not HAVE_GETCWD.
59992         Do not include xalloc.h.
59993         (INITIAL_BUFFER_SIZE): New symbol.
59994         Do not use xmalloc / xrealloc, since the caller is responsible for
59995         handling errors.  Preserve errno around `free' during failure.
59996         Do not overrun buffer when using getwd.
59997
59998 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59999
60000         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
60001         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
60002         getcwd (NULL, 0).
60003
60004 2001-09-03  Paul Eggert  <eggert@twinsun.com>
60005
60006         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
60007         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
60008         spotted by Jim Meyering.
60009
60010 2001-09-03  Jim Meyering  <meyering@lucent.com>
60011
60012         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
60013         failure.
60014
60015 2001-09-02  Jim Meyering  <meyering@lucent.com>
60016
60017         * lib/error.c: Update from GNU libc.
60018
60019 2001-09-01  Jim Meyering  <meyering@lucent.com>
60020
60021         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
60022         Used by df.
60023
60024 2001-09-01  Jim Meyering  <meyering@lucent.com>
60025
60026         * lib/xreadlink.c: New file.
60027         * lib/xreadlink.h: New file.
60028         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
60029         xreadlink.h.
60030
60031         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
60032         doesn't conflict with sparc Solaris 7's definition in
60033         /usr/include/sys/int_types.h.
60034
60035         * lib/exclude.c: Use `""', not `<>' to #include non-system header
60036         files.
60037         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
60038         and strncasecmp as r-values.  Unixware didn't have declarations.
60039
60040 2001-08-31  Paul Eggert  <eggert@twinsun.com>
60041
60042         * lib/xstrtol.h: Add copyright notice.
60043         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
60044         LONGINT_INVALID_SUFFIX_CHAR.
60045
60046 2001-08-31  Paul Eggert  <eggert@twinsun.com>
60047
60048         * lib/xstrtol.c (strtoimax): New decl.
60049
60050 2001-08-31  Paul Eggert  <eggert@twinsun.com>
60051
60052         * lib/xgetcwd.c: Don't include pathmax.h.
60053         Include stdlib.h and unistd.h if available.
60054         Include xalloc.h.
60055         (xmalloc, xstrdup, free): Remove decls.
60056         (xgetcwd): Don't assume sizes fit in unsigned.
60057         Check for overflow when computing sizes.
60058         Simplify reallocation code.
60059
60060 2001-08-31  Paul Eggert  <eggert@twinsun.com>
60061
60062         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
60063         a directory's st_size can have an arbitrary value, so the old
60064         usage could waste an arbitrary amount of memory.  All uses
60065         changed.
60066         * lib/savedir.h: Update prototype.
60067
60068 2001-08-31  Paul Eggert  <eggert@twinsun.com>
60069
60070         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
60071
60072         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
60073         old strtoimax.c.
60074
60075         Also, make the following further changes to make this file's
60076         configuration more similar to that of strtol.c:
60077         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
60078         (strtoumax, uintmax_t, strtoull, strtol): Remove.
60079         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
60080         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
60081         changed to signed values.
60082
60083         And make the following changes as well:
60084         Fix copyright notice, as 1999 was missing.
60085         (verify): New macro.
60086         (strtoimax): Check sizes at compile-time, not run-time.
60087         Prefer strtol to strtoll if both work.
60088         (main): Remove; it was not that useful and was a pain to maintain.
60089
60090         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
60091
60092 2001-08-31  Jim Meyering  <meyering@lucent.com>
60093
60094         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
60095         Use an initial, malloc'd, buffer of length 128 rather than
60096         a statically allocated one of length 1024.
60097
60098 2001-08-30  Paul Eggert  <eggert@twinsun.com>
60099
60100         Simplify code, partly by assuming autoconf 2.52 semantics.
60101
60102         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
60103
60104         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
60105         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
60106         All uses removed.
60107         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
60108         Move AC_REQUIRE to next-to-top level, to avoid confusion.
60109         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
60110         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
60111         jm_AC_HEADER_INTTYPES_H.
60112         * m4/jm-macros.m4 (jm_MACROS): Likewise.
60113
60114         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
60115
60116         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
60117         Quote first arg of AC_DEFUN.
60118         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
60119         since they are needed to parse the include file even if we need
60120         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
60121         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
60122         but with opposite signedness.
60123
60124 2001-08-30  Paul Eggert  <eggert@twinsun.com>
60125
60126         Merge 'exclude' changes from tar 1.13.22.
60127         This fixes one or two unlikely storage allocation overflow bugs,
60128         but doesn't change user-visible behavior otherwise.
60129
60130 2001-08-30  Paul Eggert  <eggert@twinsun.com>
60131
60132         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
60133         (jm_PREREQ_EXCLUDE): New macro.
60134
60135 2001-08-30  Paul Eggert  <eggert@twinsun.com>
60136
60137         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
60138         tm to be declared.
60139
60140 2001-08-30  Paul Eggert  <eggert@twinsun.com>
60141
60142         * lib/hash.c: Remove '2001' from copyright notice.
60143
60144 2001-08-30  Paul Eggert  <eggert@twinsun.com>
60145
60146         * lib/full-write.h: New file.
60147         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
60148         * lib/full-write.c: Correct credits, as cccp.c no longer
60149         exists and anyway it was so heavily changed from the old cccp
60150         code as to be unrecognizable.  Include full-write.h.
60151         (full_write) Return size_t, with short writes meaning failure.
60152         All callers changed.  This fixes a bug with large buffers
60153         on 64-bit hosts.
60154         * lib/utime.c: Include full-write.h.
60155
60156 2001-08-30  Paul Eggert  <eggert@twinsun.com>
60157
60158         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
60159         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
60160         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
60161         Include if available.
60162         (<xalloc.h>): Include
60163         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
60164         (verify): New macro.  Use it to verify that EXCLUDE macros do not
60165         collide with FNM macros.
60166         (struct patopts): New struct.
60167         (struct exclude): Use it, as exclude patterns now come with options.
60168         (new_exclude): Support above changes.
60169         (new_exclude, add_exclude_file):
60170         Initial size must now be a power of two to simplify overflow checking.
60171         (free_exclude, fnmatch_no_wildcards): New function.
60172         (excluded_filename): No longer requires options arg, as the options
60173         are determined by add_exclude.  Now returns bool, not int.
60174         (excluded_filename, add_exclude):
60175         Add support for the fancy new exclusion options.
60176         (add_exclude, add_exclude_file): Now takes int options arg.
60177         Check for arithmetic overflow when computing sizes.
60178         (add_exclude_file): xrealloc might modify errno, so don't
60179         realloc until after errno might be used.
60180
60181         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
60182         New macros.
60183         (free_exclude): New decl.
60184         (add_exclude, add_exclude_file): Now takes int options arg.
60185         (excluded_filename): No longer requires options arg, as the options
60186         are determined by add_exclude.  Now returns bool, not int.
60187
60188 2001-08-30  Paul Eggert  <eggert@twinsun.com>
60189
60190         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
60191
60192 2001-08-27  Jim Meyering  <meyering@lucent.com>
60193
60194         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
60195
60196         * lib/version-etc.c (N_): Remove definition.
60197         Revert most of last change.
60198         Instead, simply don't mark the `Copyright...' string for translation.
60199         Based on advice from Paul Eggert.
60200
60201         * lib/strtoxmax.c: Tweak comment.
60202
60203 2001-08-26  Jim Meyering  <meyering@lucent.com>
60204
60205         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
60206
60207         * m4/xstrtoimax.m4: New file.
60208         * m4/xstrtoumax.m4: Add comments explaining why we
60209         AC_REPLACE_FUNCS(strtol).
60210
60211 2001-08-26  Jim Meyering  <meyering@lucent.com>
60212
60213         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
60214         of copyright with `%s' so translators don't get an untranslated
60215         message in 2002.
60216         (COPYRIGHT_YEAR): Define.
60217         (version_etc): Use fprintf rather than fputs.
60218         Suggestion from Ulrich Drepper.
60219
60220         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
60221
60222         * lib/strtoll.c: New file, from GNU libc.
60223         * lib/xstrtoimax.c: New file.
60224
60225         * lib/xstrtol.h: Add xstrtoimax.
60226         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
60227         * lib/strtoimax.c: New file.  Likewise, but first define
60228         STRTOUXMAX_SIGNED.
60229
60230         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
60231         ...
60232         * lib/strtoxmax.c: ... then renamed to this.
60233
60234 2001-08-18  Paul Eggert  <eggert@twinsun.com>
60235
60236         * m4/inttypes.m4: Add AC_PREREQ(2.13).
60237         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
60238         (jm_AC_TYPE_INTMAX_T): New macro.
60239         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
60240
60241         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
60242
60243         * m4/longlong.m4: Renamed from ulonglong.m4.
60244         * m4/inttypes.m4: Renamed from inttypes_h.m4.
60245         * m4/uintmax_t.m4: Removed.
60246
60247 2001-08-13  Paul Eggert  <eggert@twinsun.com>
60248
60249         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
60250         Port to Solaris 8, where 'sed' requires a space after the 'r'
60251         command, and where sh dislikes "$/".  Clean up the spacing a bit.
60252         Redirect output to $tmp just once.
60253
60254 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
60255
60256         * lib/addext.c (<errno.h>): Include.
60257         (errno): Declare if not defined.
60258         (addext): Work correctly when pathconf returns -1 and leaves
60259         errno alone because there is no limit.  Also, work even if
60260         pathconf returns a value greater than SIZE_MAX.
60261
60262 2001-08-12  Jim Meyering  <meyering@lucent.com>
60263
60264         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
60265         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
60266         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
60267         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
60268         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
60269         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
60270         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
60271         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
60272         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
60273         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
60274         utime.m4, utimes.m4, xstrtoumax.m4:
60275         Quote the first argument in each use of AC_DEFUN.
60276
60277 2001-08-12  Jim Meyering  <meyering@lucent.com>
60278
60279         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
60280         Simply `return getcwd (NULL, 0);'.
60281         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
60282         Use 1300 as initial value for length, not PATH_MAX.
60283
60284         * lib/pathmax.h: Clean up cpp syntax.
60285
60286 2001-08-12  Jim Meyering  <meyering@lucent.com>
60287
60288         * lib/gettimeofday.c: New file.
60289         * lib/gtod.h: New file.
60290         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
60291
60292 2001-08-05  Jim Meyering  <meyering@lucent.com>
60293
60294         * m4/jm-macros.m4: Require autoconf-2.52.
60295
60296 2001-08-04  Jim Meyering  <meyering@lucent.com>
60297
60298         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
60299         stmt, to get in sync with glibc.
60300
60301 2001-08-03  Paul Eggert  <eggert@twinsun.com>
60302
60303         The following changes are from gettext 0.10.39 as maintained by
60304         Bruno Haible.
60305
60306         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
60307         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
60308         with inverted sense.  All uses changed.
60309
60310         * lib/mbswidth.c: Don't include <limits.h>.
60311         Include <stdlib.h> and <string.h> unconditionally.
60312         (iswcntrl, mbsinit, ISCNTRL): New macros.
60313         (mbsnwidth): Use K&R style function declarations.
60314         Don't bother checking for MB_LEN_MAX == 1, since the compiler
60315         can optimize it when MB_CUR_MAX == 1.
60316         The width of control characters is zero, not 1.
60317
60318 2001-08-03  Paul Eggert  <eggert@twinsun.com>
60319
60320         The following changes are from gettext 0.10.39 as maintained by
60321         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
60322
60323         * m4/codeset.m4: Upgrade to serial AM1.
60324         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
60325         all uses changed.  Quote first arg of AC_DEFUN.
60326         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
60327
60328         * m4/iconv.m4: Upgrade to serial AM2.
60329         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
60330         Add --with-libconv-prefix.
60331         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
60332         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
60333         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
60334         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
60335         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
60336
60337         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
60338         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
60339         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
60340         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
60341         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
60342         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
60343         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
60344         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
60345         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
60346
60347         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
60348         string.h any more.
60349
60350         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
60351         not the default value.
60352
60353         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
60354         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
60355         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
60356         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
60357         Also check for iswcntrl, used for wcwidth fallback.
60358         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
60359         to Autoconf 2.13.
60360
60361 2001-08-03  Jim Meyering  <meyering@lucent.com>
60362
60363         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
60364         as it was in the original.  Reported by Paul Eggert.
60365
60366 2001-07-16  Jim Meyering  <meyering@lucent.com>
60367
60368         * m4/gettimeofday.m4: New file.
60369         Prompted by a report from Bernhard Baehr.
60370
60371 2001-07-15  Jim Meyering  <meyering@lucent.com>
60372
60373         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
60374         stuff. Now it's in ../Makefile.cfg.
60375
60376 2001-07-15  Jim Meyering  <meyering@lucent.com>
60377
60378         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
60379         (BUILT_SOURCES): Add unlocked-io.h.
60380         (io_functions): Define.
60381         (unlocked-io.h): New rule.
60382         (DISTCLEANFILES): Add unlocked-io.h.
60383         (all-local): Depend on unlocked-io.h, to ensure it is created.
60384
60385         * lib/unlocked-io.hin: New file
60386
60387         * lib/regex.c: Update from glibc.
60388
60389 2001-07-05  Jim Meyering  <meyering@lucent.com>
60390
60391         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
60392         recommendation.
60393         (libfetish_a_SOURCES): Put all .h files here instead.
60394         Remove a thus-exposed (better checks in automake) duplicate and
60395         two unnecessary .h files.
60396
60397 2001-07-04  Jim Meyering  <meyering@lucent.com>
60398
60399         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
60400         that generates jm-glibc-io.m4 so that it doesn't trigger any make
60401         distcheck failure.
60402
60403 2001-07-02  Jim Meyering  <meyering@lucent.com>
60404
60405         The following changes were prompted by suggestions from Bruno Haible.
60406
60407         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
60408         is now generated.
60409         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
60410         definition of EXTRA_DIST.
60411         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
60412         ensure that the generated file is created/updated whenever the list
60413         of $(unlocked_functions) is changed.
60414         (jm-glibc-io.m4): New rule.
60415         (unlocked-io.h): New rule -- currently unused.
60416
60417 2001-06-24  Jim Meyering  <meyering@lucent.com>
60418
60419         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
60420         unmatched right bracket, rather than kludging it with an extra,
60421         falsely-matching quote in a comment.  Patch by Akim Demaille.
60422
60423 2001-06-11  Jim Meyering  <meyering@lucent.com>
60424
60425         * lib/regex.c: Update from GNU libc.
60426
60427 2001-05-27  Jim Meyering  <meyering@lucent.com>
60428
60429         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
60430         Check for ut_type in struct utmp.
60431
60432 2001-05-27  Jim Meyering  <meyering@lucent.com>
60433
60434         * lib/readutmp.h (UT_TYPE): Define.
60435
60436 2001-05-24  Jim Meyering  <meyering@lucent.com>
60437
60438         * lib/argmatch.c: Include "quote.h".
60439         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
60440         quote function.  Reported by Göran Uddeborg.
60441
60442 2001-05-22  Jim Meyering  <meyering@lucent.com>
60443
60444         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
60445         now that we use the package-supplied version unconditionally.
60446         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
60447
60448 2001-05-21  Jim Meyering  <meyering@lucent.com>
60449
60450         * m4/regex.m4: Change a couple backticks to single quotes to avoid
60451         shell syntax errors.
60452
60453 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
60454
60455         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
60456
60457 2001-05-20  Paul Eggert  <eggert@twinsun.com>
60458
60459         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
60460         Don't bother to check library strftime, since
60461         we'll be using our own my_strftime function anyway.
60462         Define my_strftime instead of strftime.
60463
60464 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
60465
60466         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
60467         which is not yet declared.
60468
60469 2001-05-15  Jim Meyering  <meyering@lucent.com>
60470
60471         * m4/regex.m4: Use proper quoting so brackets appear in the test
60472         program.
60473         Reported by, and with help from, Bruno Haible.
60474
60475 2001-05-13  Jim Meyering  <meyering@lucent.com>
60476
60477         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
60478         undefined.
60479
60480 2001-05-11  Paul Eggert  <eggert@twinsun.com>
60481
60482         dirname code cleanup.  base_name now behaves more compatibly
60483         with POSIX basename when given file names that have trailing
60484         slashes, and similarly for dir_name.  Add new primitives
60485         base_len and dir_len.  Put the directory-name-related decls
60486         into dirname.h.
60487
60488         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
60489         * lib/backupfile.c (base_name): Likewise.
60490         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
60491         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
60492         * lib/makepath.c (strip_trailing_slashes): Likewise.
60493         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
60494         ISSLASH): Likewise.
60495         * lib/rename.c (strip_trailing_slashes): Likewise.
60496         * lib/same.c (base_name): Likewise.
60497         * lib/stripslash.c (ISSLASH): Likewise.
60498
60499         * lib/addext.c: Include <dirname.h> after size_t is defined.
60500         * lib/backupfile.c: Likewise.
60501
60502         * lib/addext.c (addext): Use base_len to trim redundant
60503         trailing slashes instead of doing it ourselves.
60504         But do not trim the last slash if it is not redundant.
60505
60506         * lib/backupfile.c (find_backup_file_name,
60507         max_backup_version): Use base_len instead of rolling it ourselves.
60508         Handle the case of "" and (on DOS) "C:" correctly.
60509
60510         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
60511         needed. Include <string.h>, <dirname.h>.
60512         (base_name): Allow file names ending in slashes, other than names
60513         that are all slashes.  In this case, return the basename followed
60514         by the slashes.  This is more general, and can be used in places
60515         where the original base_name purposely had an assertion failure.
60516         (base_len): New function.
60517
60518         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
60519         Do not include <assert.h>; no longer needed.
60520         Include xalloc.h.
60521         (memrchr): Remove decl.
60522         (dir_name_r): Remove.
60523         (dir_len): Renamed from dirlen.  All callers changed.
60524         Rewrite in terms of base_name, for simplicity and consistency.
60525         (dir_name): Never return NULL.  All callers changed.
60526         Do not include <stdlib.h> in test program; no longer needed.
60527         return 0; is fine for test program.
60528
60529         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
60530         New macros.
60531         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
60532
60533         * lib/path-concat.c (path_concat): Use base_len to compute
60534         base length, not strlen; this means we cannot rely on memcpy
60535         to null-terminate.
60536
60537         * lib/same.c (STREQ): Remove.
60538         (same_name): Handle the case where the basename ends in trailing '/'.
60539
60540         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
60541         a slash was stripped.  Do not strip the last slash after a
60542         file system prefix.
60543
60544 2001-05-11  Paul Eggert  <eggert@twinsun.com>
60545
60546         * lib/Makefile.am (libfetish_a_SOURCES):
60547         Add strftime.c, since we now compile it on all hosts.
60548
60549         * lib/strftime.c (my_strftime):
60550         Define to nstrftime if emacs, but only if my_strftime is not defined.
60551         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
60552         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
60553         Add one more extra argument: a nanoseconds value.
60554         All uses changed.
60555         (ns): New macro.
60556         (my_strftime function): Add %N format.
60557         (emacs_strftimeu): Renamed from emacs_strftime,
60558         with extra ut argument.
60559
60560 2001-05-09  Paul Eggert  <eggert@twinsun.com>
60561
60562         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
60563
60564 2001-04-21  Jim Meyering  <meyering@lucent.com>
60565
60566         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
60567         doesn't interfere.
60568
60569 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
60570
60571         * m4/ftruncate.m4: Check for chsize.
60572         Link with ftruncate.o unconditionally if ftruncate is missing.
60573         This was required when cross-compiling to i586-mingw32msvc.
60574
60575 2001-04-08  Jim Meyering  <meyering@lucent.com>
60576
60577         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
60578         recomputed; that's necessary when the offset spans a DST transition.
60579         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
60580
60581 2001-04-02  Jim Meyering  <meyering@lucent.com>
60582
60583         * lib/regex.h, regex.c: Update from GNU libc.
60584
60585 2001-03-24  Jim Meyering  <meyering@lucent.com>
60586
60587         * m4/jm-macros.m4: Require autoconf-2.49d.
60588
60589 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
60590
60591         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
60592
60593 2001-03-19  Paul Eggert  <eggert@twinsun.com>
60594
60595         * lib/version-etc.c (version_etc_copyright): Update to 2001.
60596
60597 2001-03-17  Jim Meyering  <meyering@lucent.com>
60598
60599         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
60600         now that the version in autoconf is equivalent.
60601         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
60602
60603         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
60604         Suggestion from Akim Demaille.
60605
60606         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
60607         (jm_PREREQ_TEMPNAME): New function.
60608
60609 2001-03-16  Paul Eggert  <eggert@twinsun.com>
60610
60611         * lib/tempname.c (uint64_t): Define to uintmax_t if
60612         not defined, and if UINT64_MAX is not defined.
60613         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
60614         Reported by John David Anglin.
60615
60616 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
60617
60618         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
60619         resolve alias if codeset is empty.
60620         * lib/config.charset (BeOS): Use wildcard syntax.
60621
60622 2001-03-13  Jim Meyering  <meyering@lucent.com>
60623
60624         * lib/path-concat.c (path_concat)
60625         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
60626         concatenating e.g., `C:' and `foo'.
60627         From Bruno Haible.
60628
60629 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
60630
60631         * lib/localcharset.c (locale_charset): Don't use
60632         setlocale(LC_CTYPE,NULL). Don't return NULL.
60633         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
60634
60635 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
60636
60637         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
60638         support for DOS/DJGPP.
60639
60640 2001-03-01  Paul Eggert  <eggert@twinsun.com>
60641
60642         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
60643         lacks mkstemp.  Compile our own tempname.c if we compile our own
60644         mkstemp.c, as mkstemp relies on tempname.
60645
60646 2001-03-01  Jim Meyering  <meyering@lucent.com>
60647
60648         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
60649         AH_VERBATIM really does output its argument verbatim.
60650
60651 2001-02-28  Paul Eggert  <eggert@twinsun.com>
60652
60653         * lib/Makefile.am (libfetish_a_SOURCES):
60654         Add dup-safer.c, fopen-safer.c.
60655         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
60656
60657         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
60658         * lib/unistd-safer.h: New files.
60659
60660 2001-02-25  Paul Eggert  <eggert@twinsun.com>
60661
60662         The mkstemp replacement is taken from glibc 2.2.2, with some
60663         portability fixes for use outside glibc, as follows:
60664
60665         * lib/tempname.c (struct_stat64): New macro.
60666         (direxists, __gen_tempname): Use it.
60667         This avoids a portability problem with Solaris 8.
60668
60669         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
60670         (<stddef.h>, <stdint.h>, <string.h>):
60671         Include only if STDC_HEADERS || _LIBC.
60672         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
60673         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
60674         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
60675         (__set_errno): Define this macro if <errno.h> doesn't.
60676         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
60677         Define these macros if <stdio.h> doesn't.
60678         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
60679         Define these macros if <sys/stat.h>
60680         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
60681         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
60682         __xstat64): Define if not _LIBC.
60683         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
60684         (__gen_tempname): Invoke gettimeofday only if
60685         HAVE_GETTIMEOFDAY || _LIBC;
60686         otherwise, fall back on plain "time".
60687         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
60688
60689         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
60690
60691         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
60692
60693 2001-02-18  Paul Eggert  <eggert@twinsun.com>
60694
60695         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
60696
60697 2001-02-17  Paul Eggert  <eggert@twinsun.com>
60698
60699         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
60700         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
60701         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
60702         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
60703
60704 2001-02-17  Paul Eggert  <eggert@twinsun.com>
60705
60706         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
60707         Remove workaround macros for hosts that have mbrtowc but not
60708         mbstate_t, as we now insist on proper declarations for both
60709         before using mbrtowc.
60710
60711 2001-02-17  Jim Meyering  <meyering@lucent.com>
60712
60713         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
60714         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
60715         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
60716         UnixWare 7.1.1.
60717
60718         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
60719         rather than AC_CACHE_VAL.
60720
60721 2001-02-17  Jim Meyering  <meyering@lucent.com>
60722
60723         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
60724         around included file name.
60725
60726         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
60727
60728         * lib/strftime.c: Update from GNU libc (the only changes were to
60729         comments).
60730
60731 2001-02-17  Jim Meyering  <meyering@lucent.com>
60732
60733         * lib/regex.c: Update from libc.
60734
60735 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
60736
60737         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
60738         clash.
60739
60740 2001-02-16  Paul Eggert  <eggert@twinsun.com>
60741
60742         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
60743         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
60744         Reported by Mark Hounschell via Paul Eggert.
60745
60746 2001-02-07  Jim Meyering  <meyering@lucent.com>
60747
60748         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
60749
60750 2001-02-05  Jim Meyering  <meyering@lucent.com>
60751
60752         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
60753         it includes the patch required for `large file' support with at least
60754         HP-UX's 10.20 /bin/cc.
60755
60756 2001-02-03  Jim Meyering  <meyering@lucent.com>
60757
60758         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
60759         AS_IF, now that it works once again (mysteriously).
60760         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
60761
60762 2001-01-30  Jim Meyering  <meyering@lucent.com>
60763
60764         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
60765         * m4/chown.m4: Rename conftestchown to conftest.chown.
60766         * m4/rename.m4: s/conftestdir/conftest.d1/ and
60767         s/conftestdir2/conftest.d2/.
60768         * m4/utimes.m4: s/conftestdata/conftest.data/
60769         Inspired by Pavel Roskin's change in autoconf.
60770
60771 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
60772
60773         * lib/config.charset: Update for FreeBSD 4.2.
60774
60775 2001-01-27  Jim Meyering  <meyering@lucent.com>
60776
60777         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
60778         a use of AS_IF.
60779         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
60780
60781 2001-01-26  Jim Meyering  <meyering@lucent.com>
60782
60783         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
60784         quotearg.c includes it.
60785
60786 2001-01-26  Jim Meyering  <meyering@lucent.com>
60787
60788         * lib/quotearg.c: Include stddef.h.
60789         * lib/quote.c: Include stddef.h.
60790         Reported by Axel Kittenberger.
60791
60792         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
60793         line in double quotes so that it evokes a better diagnostic.
60794         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
60795         Reported by Axel Kittenberger.
60796
60797 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
60798
60799         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
60800         as if it was a `charset'.
60801
60802 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
60803
60804         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
60805         has const.
60806
60807 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
60808
60809         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
60810         to avoid a warning.  Add back 'const' to inptr.
60811
60812 2001-01-20  Jim Meyering  <meyering@lucent.com>
60813
60814         Be sure that headers are checked before used in code compiled
60815         for the type checks.
60816         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
60817         In place of that, invoke jm_CHECK_ALL_TYPES.
60818         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
60819         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
60820         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
60821         The check for ssize_t was mistakenly run before the test for unistd.h.
60822
60823         The configure-time check for stdbool.h was missing.
60824         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
60825         (jm_PREREQ_HASH): New function.
60826
60827 2001-01-17  Jim Meyering  <meyering@lucent.com>
60828
60829         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
60830         for autoconf-2.49c.
60831         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
60832
60833 2001-01-16  Jim Meyering  <meyering@lucent.com>
60834
60835         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
60836         From Bruno Haible.
60837
60838 2001-01-14  Jim Meyering  <meyering@lucent.com>
60839
60840         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
60841         foo and bar.  Create conftestdir/ in the script, not in the C code.
60842         Remove directories in the script, not in the C code.
60843         Remove conftestdir{,2} before trying to create the directory.
60844         Make the entire configure script fail if the mkdir fails.
60845
60846 2001-01-14  Jim Meyering  <meyering@lucent.com>
60847
60848         * lib/rename.c: New file.  From Volker Borchert.
60849         Include stdlib.h, string.h or strings.h, and xalloc.h.
60850         Use strip_trailing_slashes rather than open-coding it.
60851
60852 2001-01-03  Paul Eggert  <eggert@twinsun.com>
60853
60854         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
60855
60856 2001-01-03  Jim Meyering  <meyering@lucent.com>
60857
60858         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
60859         of local `inptr' to avoid warning with some system declarations of
60860         iconv.
60861
60862 2001-01-02  Volker Borchert  <bt@teknon.de>
60863
60864         * m4/rename.m4: New file.
60865         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
60866
60867 2001-01-01  Jim Meyering  <meyering@lucent.com>
60868
60869         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
60870         even on systems with utmpx.h.  It's necessary for the declaration of
60871         utmp's ut_user member.  Reported by Andreas Jaeger.
60872
60873         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
60874         available. They are required for the declarations of getgrgid and
60875         getpwuid resp.
60876         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
60877         Reported by Andreas Jaeger.
60878
60879 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
60880
60881         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
60882         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
60883         so `make install' also works in VPATH builds.
60884
60885 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
60886
60887         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
60888         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
60889         can be used in subdirectories.
60890
60891 2000-12-29  Paul Eggert  <eggert@twinsun.com>
60892
60893         * lib/modechange.c: Do not assume that mode_t uses the
60894         traditional octal encoding.  E.g. "chmod 1 FOO" should set
60895         the other-execute bit of FOO even if S_IXOTH != 1.
60896
60897         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
60898         WOTH, XOTH, ALLM): New macros.
60899         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
60900          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
60901         Use them.
60902         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
60903         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
60904         (mode_compile):
60905         No need to use uintmax_t; unsigned long is long enough.
60906         Don't bother to get suffix since we don't use it.
60907
60908 2000-12-26  Jim Meyering  <meyering@lucent.com>
60909
60910         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
60911         better with autoheader.
60912
60913 2000-12-24  Jim Meyering  <meyering@lucent.com>
60914
60915         * lib/hash.c (is_prime): Return explicit boolean values.
60916         (hash_get_first): Return NULL to appease Irix5.6's 89.
60917         Reported by Nelson Beebe.
60918
60919 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
60920
60921         * lib/localcharset.c (locale_charset): Add support for Win32.
60922
60923 2000-12-18  Paul Eggert  <eggert@twinsun.com>
60924
60925         * lib/physmem.h, lib/physmem.c: New files.
60926
60927         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
60928         (noinst_HEADERS): Add physmem.h.
60929
60930         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
60931         't' for compatibility with Solaris 8 sort.
60932
60933 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
60934
60935         * lib/config.charset: Add support for BeOS.
60936
60937 2000-12-17  Jim Meyering  <meyering@lucent.com>
60938
60939         * m4/dos.m4 (jm_AC_DOS): New file and macro.
60940         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
60941
60942 2000-12-16  Jim Meyering  <meyering@lucent.com>
60943
60944         This bug had a serious impact on chown: `chown N:M FILE' (for integer
60945         N and M) would have treated it like `chown N:N FILE'.
60946
60947         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
60948
60949 2000-12-16  Jim Meyering  <meyering@lucent.com>
60950
60951         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
60952         SHELLS_FILE to a file name that's useful on djgpp systems.
60953         Include stdlib.h.
60954         (ADDITIONAL_DEFAULT_SHELLS): Define.
60955         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
60956         Based mostly on a patch from Prashant TR.
60957
60958 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
60959
60960         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
60961         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
60962         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
60963
60964 2000-12-08  Andreas Schwab  <schwab@suse.de>
60965
60966         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
60967         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
60968
60969 2000-12-07  Jim Meyering  <meyering@lucent.com>
60970
60971         * lib/stripslash.c (ISSLASH): Define.
60972         (strip_trailing_slashes): Use ISSLASH rather than comparing against
60973         `/'.
60974         From Prashant TR.
60975
60976         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
60977         (dir_name_r): Declare this function as static.
60978         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
60979         manifest itself on a name containing a mix of slashes and
60980         backslashes.
60981         Make this function work with names starting with a DOS-style
60982         drive letter and colon prefix.
60983         (dir_name): Append `.' if necessary.
60984         Based mostly on patches from Prashant TR and Eli Zaretskii.
60985
60986         * lib/dirname.h (dir_name_r): Remove prototype.
60987
60988 2000-12-06  Paul Eggert  <eggert@twinsun.com>
60989
60990         * m4/off_t-format.m4: Remove this file.
60991         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
60992
60993 2000-12-06  Jim Meyering  <meyering@lucent.com>
60994
60995         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
60996         replacement strtoull, we may well need the replacement strtoul, too.
60997         Check for declarations of strtoul and strtoull.
60998         Check for strtol.  Mainly as a cue to cause automake to include
60999         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
61000         Check for limits.h -- strtol.c needs it.
61001
61002 2000-12-05  Jim Meyering  <meyering@lucent.com>
61003
61004         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
61005
61006 2000-12-04  Jim Meyering  <meyering@lucent.com>
61007
61008         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
61009         Also include memory.h, stdlib.h, unistd.h if appropriate.
61010         Reported by Andreas Jaeger (conflicting declaration of malloc).
61011
61012 2000-12-02  Jim Meyering  <meyering@lucent.com>
61013
61014         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
61015         * m4/jm-macros.m4 (jm_MACROS): require it.
61016
61017 2000-12-02  Jim Meyering  <meyering@lucent.com>
61018
61019         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
61020
61021 2000-12-01  Paul Eggert  <eggert@twinsun.com>
61022
61023         * lib/memrchr.c: Include <config.h> before any system include file.
61024
61025 2000-11-30  Jim Meyering  <meyering@lucent.com>
61026
61027         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
61028
61029 2000-11-30  Jim Meyering  <meyering@lucent.com>
61030
61031         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
61032
61033 2000-11-29  Paul Eggert  <eggert@twinsun.com>
61034
61035         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
61036
61037 2000-11-26  Jim Meyering  <meyering@lucent.com>
61038
61039         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
61040
61041 2000-11-22  Paul Eggert  <eggert@twinsun.com>
61042
61043         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
61044         size of (size_t) -1; it's not portable.
61045
61046 2000-11-17  Jim Meyering  <meyering@lucent.com>
61047
61048         * lib/strstr.c: Update from GNU libc.
61049
61050 2000-11-17  Akim Demaille  <akim@epita.fr>
61051
61052         * lib/obstack.h: Formatting changes.
61053         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
61054         prevent type checking.
61055         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
61056         cast the value to (void *): assigning a `foo *' to a `void *'
61057         variable is valid.
61058         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
61059
61060 2000-11-16  Jim Meyering  <meyering@lucent.com>
61061
61062         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
61063
61064 2000-11-11  Jim Meyering  <meyering@lucent.com>
61065
61066         * lib/error.c: Add a couple #includes, merging from GNU libc version.
61067
61068 2000-11-10  Jim Meyering  <meyering@lucent.com>
61069
61070         * lib/obstack.h: Update from GNU libc.
61071         * lib/obstack.c: Likewise.
61072
61073 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
61074
61075         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
61076
61077 2000-11-06  Paul Eggert  <eggert@twinsun.com>
61078
61079         * lib/getusershell.c (setusershell): Use rewind rather than
61080         fseek/fseeko, to avoid configuration hassles with fseeko.
61081         Don't bother opening SHELLS_FILE if shellstream is NULL;
61082         it's not necessary.
61083
61084 2000-11-05  Jim Meyering  <meyering@lucent.com>
61085
61086         * lib/makepath.h (make_dir): Declare.
61087         * lib/makepath.c (make_dir): Remove `static' attribute.
61088         Tweak a comment.
61089
61090 2000-11-04  Jim Meyering  <meyering@lucent.com>
61091
61092         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
61093
61094 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
61095
61096         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
61097         last one in a bucket, advance to the next bucket.
61098
61099 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
61100
61101         * lib/fnmatch.c: Do not comment out all the code if we are using
61102         the GNU C library, because in some cases we are replacing buggy
61103         code in the GNU C library itself.
61104
61105 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
61106
61107         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
61108         (regex_compile): Catch bogus \(\1\).
61109
61110 2000-10-30  Paul Eggert  <eggert@twinsun.com>
61111
61112         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
61113         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
61114         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
61115
61116 2000-10-30  Paul Eggert  <eggert@twinsun.com>
61117
61118         * lib/error.h, getline.h, modechange.h:
61119         Remove "2000" from Copyright line, as the file hasn't been
61120         changed this year other than in the copyright notice.
61121
61122         * lib/xalloc.h: Add "2000" to Copyright line, as this file
61123         was changed this year.
61124
61125 2000-10-29  Jim Meyering  <meyering@lucent.com>
61126
61127         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
61128         renaming.
61129         * m4/ls-mntd-fs.m4: Likewise
61130
61131 2000-10-29  Jim Meyering  <meyering@lucent.com>
61132
61133         * lib/xstat.in: Fix grammar in comment.
61134
61135 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
61136
61137         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
61138         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
61139         doesn't define __restrict_arr.
61140
61141 2000-10-28  Jim Meyering  <meyering@lucent.com>
61142
61143         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
61144         (jm_PREREQ_MEMCHR): New function.
61145
61146 2000-10-28  Jim Meyering  <meyering@lucent.com>
61147
61148         * lib/memchr.c: Update from libc.
61149         Adjust for portability:
61150         [HAVE_STDLIB_H]: Include stdlib.h.
61151         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
61152         Undef __memchr, too.
61153         [!weak_alias]: Define __memchr to memchr.
61154
61155         * lib/regex.c: Update from libc.
61156         * lib/regex.h: Likewise.
61157         * lib/getopt1.c: Likewise.
61158         * lib/memcmp.c: Likewise.
61159
61160         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
61161         Avoid using fseek, when possible -- it's broken by design.
61162         Patch by Ulrich Drepper.
61163
61164 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
61165
61166         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
61167         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
61168         Giving in to popular pressure to shut up the compiler with casts.
61169
61170 2000-10-26  Jim Meyering  <meyering@lucent.com>
61171
61172         * lib/strftime.c: Update from libc.
61173
61174 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
61175
61176         * regex.c: More `unsigned char' -> `re_char' changes.
61177         Also change several `int' into `re_wchar_t'.
61178         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
61179         (PUSH_FAILURE_POINTER): Don't cast any more.
61180         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
61181         We want GCC to complain, since this piece of code makes
61182         re_match non-reentrant, which *should* be fixed.
61183         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
61184         (EXTEND_BUFFER): Use RETALLOC.
61185         (SET_LIST_BIT): Don't cast.
61186         (re_wchar_t): New type.
61187         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
61188         that those two functions will always properly return.
61189         (IMMEDIATE_QUIT_CHECK): Cast to void.
61190         (analyse_first): Use recursion rather than an explicit stack.
61191         (re_compile_fastmap): Can't fail anymore.
61192         (re_search_2): Don't check re_compile_fastmap for failure.
61193         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
61194         Now also sets the new value (passed in a new argument).
61195         (re_match_2_internal): Use it.
61196         Also, use a new var `reg' of type size_t when looping through regs
61197         rather than reuse the inappropriate `mcnt'.
61198
61199 2000-10-25  Jim Meyering  <meyering@lucent.com>
61200
61201         * lib/obstack.c: Update from libc.
61202
61203 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
61204
61205         * regex.c (regex_compile): Change the way of handling a range from
61206         a char less than 256 to a char not less than 256.
61207
61208 2000-10-24  Andrew Innes  <andrewi@gnu.org>
61209
61210         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
61211         NT-Emacs only.
61212         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
61213         so that re_search functions only quit when callers expect them to.
61214
61215 2000-10-23  Jim Meyering  <meyering@lucent.com>
61216
61217         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
61218         wrong.  That set_locale call must not have any side effects.
61219         From Paul Eggert.
61220
61221 2000-10-22  Jim Meyering  <meyering@lucent.com>
61222
61223         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
61224         [CYCLIC]: Remove now-unused definition.
61225
61226         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
61227         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
61228         Suggestion from Ulrich Drepper.
61229
61230 2000-10-21  Jim Meyering  <meyering@lucent.com>
61231
61232         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
61233         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
61234         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
61235
61236 2000-10-21  Jim Meyering  <meyering@lucent.com>
61237
61238         * lib/dirname.c (memrchr): Declare if necessary.
61239         (dir_name): Remove the restriction that there be no
61240         trailing slashes.  Now, this code skips past them, effectively
61241         ignoring them.
61242         [TEST_DIRNAME] (main): New unit tests.
61243
61244         * lib/memrchr.c: New file from GNU libc.
61245         Undef __memrchr, too.
61246         [!weak_alias]: Define __memrchr to memrchr.
61247         Guard weak_alias use with `#ifdef weak_alias'.
61248
61249 2000-10-21  Jim Meyering  <meyering@lucent.com>
61250
61251         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
61252         (dir_name): Use dir_name_r.
61253         * lib/dirname.h (dir_name_r): Declare it.
61254
61255 2000-10-17  Jim Meyering  <meyering@lucent.com>
61256
61257         * lib/quote.h (PARAMS): Define and use.
61258         Reported by Akim Demaille.
61259
61260         * lib/getopt.c: Update from libc.
61261
61262 2000-10-16  Jim Meyering  <meyering@lucent.com>
61263
61264         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
61265         setlocale.
61266         From Jan Fedak.
61267
61268 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
61269
61270         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
61271
61272 2000-09-25  Jim Meyering  <meyering@lucent.com>
61273
61274         * lib/md5.h (rol): Define (from GnuPG).
61275
61276         * lib/sha.c: Give credit (GnuPG) where due.
61277         (M): Use rol rather than open-coding it.
61278         Add a FIXME comment.
61279
61280 2000-09-21  Jim Meyering  <meyering@lucent.com>
61281
61282         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
61283         Reported by Michael Stone.
61284
61285 2000-09-20  Jim Meyering  <meyering@lucent.com>
61286
61287         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
61288         (noinst_HEADERS): Add sha.h.
61289         Based on code from Scott G. Miller and from GnuPG.
61290
61291 2000-09-18  Jim Meyering  <meyering@lucent.com>
61292
61293         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
61294         LIBS. Otherwise, everyone ends up linking with -lelf for some
61295         configurations.
61296         Reported by Mike Stone.
61297
61298 2000-09-15  Jim Meyering  <meyering@lucent.com>
61299
61300         * lib/regex.c: Update from libc.
61301
61302 2000-09-10  Jim Meyering  <meyering@lucent.com>
61303
61304         * lib/getopt.c (_getopt_internal): Update from glibc.
61305
61306 2000-09-09  Jim Meyering  <meyering@lucent.com>
61307
61308         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
61309         think it should be used as a general replacement for isascii.
61310         * lib/fnmatch.c: Likewise.
61311         * lib/mbswidth.c: Likewise
61312         * lib/regex.c: Likewise.
61313
61314         Don't use atoi.
61315         * lib/userspec.c: Include sys/param.h and limits.h.
61316         Include xstrtol.h.
61317         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
61318         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
61319         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
61320         UID, GID.  Check range.
61321
61322 2000-09-06  Jim Meyering  <meyering@lucent.com>
61323
61324         * lib/getopt.c (_getopt_internal): Update from glibc.
61325
61326 2000-08-30  Jim Meyering  <meyering@lucent.com>
61327
61328         * lib/strftime.c: Merge in changes from GNU libc.
61329
61330 2000-08-26  Jim Meyering  <meyering@lucent.com>
61331
61332         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
61333         * m4/fpending.m4: New file.
61334
61335 2000-08-26  Jim Meyering  <meyering@lucent.com>
61336
61337         * lib/closeout.c: Include "__fpending.h".
61338         (close_stdout_status): Return right away if there's nothing to flush.
61339
61340         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
61341         * lib/__fpending.c: New file.
61342         * lib/__fpending.h: New file.
61343
61344 2000-08-20  Jim Meyering  <meyering@lucent.com>
61345
61346         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
61347         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
61348         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
61349
61350 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
61351
61352         Improve fileutils installation on systems where running
61353         programs (like install) can't be unlinked.
61354         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
61355         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
61356
61357 2000-08-07  Paul Eggert  <eggert@twinsun.com>
61358
61359         Standardize on "memory exhausted" instead of "Memory exhausted"
61360         or "virtual memory exhausted".
61361         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
61362         "virtual memory exhausted".
61363         * lib/same.c (same_name): Invoke xalloc_die instead of printing
61364         our own message.
61365         * lib/userspec.c (parse_user_spec): Likewise.
61366         * lib/bumpalloc.h: comment fix
61367         * lib/same.c, userspec.c: Include xalloc.h.
61368
61369         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
61370         not char *const and pointing to a constant array.
61371         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
61372         (xrealloc): Comment fix.
61373
61374         * lib/userspec.c (parse_user_spec):
61375         Don't translate a message until just before returning,
61376         to avoid unnecessary translation.
61377
61378 2000-08-07  Jim Meyering  <meyering@lucent.com>
61379
61380         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
61381         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
61382         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
61383         getgroups.c, gethostname.c, getopt.h, group-member.c,
61384         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
61385         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
61386         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
61387         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
61388         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
61389         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
61390         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
61391         yesno.c: Back out Copyright date changes for each file with no change
61392         this year.  This eases coordination with other programs using the same
61393         source code modules.  From Paul Eggert.
61394
61395 2000-08-06  Paul Eggert  <eggert@twinsun.com>
61396
61397         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
61398         not char, for compatibility with glibc 2.1.3 strftime.c.
61399
61400 2000-08-03  Greg McGary  <greg@mcgary.org>
61401
61402         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
61403         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
61404         (EXTEND_BUFFER): Use them.
61405
61406 2000-08-01  Jim Meyering  <meyering@lucent.com>
61407
61408         * lib/dirname.c (ISSLASH): Define.
61409         (BACKSLASH_IS_PATH_SEPARATOR): Define.
61410         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
61411         both `\' and `/' may be use as path separators.
61412         Based on a patch from Prashant TR.
61413
61414 2000-07-31  Paul Eggert  <eggert@twinsun.com>
61415
61416         * lib/quotearg.c (quotearg_n_options): Don't make the initial
61417         slot vector a constant, since it might get modified.
61418
61419 2000-07-31  Jim Meyering  <meyering@lucent.com>
61420
61421         * lib/xmalloc.c: Use `virtual memory exhausted', not
61422         `Memory exhausted'.
61423         * lib/obstack.c (print_and_abort): Likewise.
61424
61425 2000-07-30  Paul Eggert  <eggert@twinsun.com>
61426
61427         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
61428         buffer, so that the caller can always quote one small
61429         component of a "memory exhausted" message in slot 0.
61430         From a suggestion by Jim Meyering.
61431
61432 2000-07-30  Jim Meyering  <meyering@lucent.com>
61433
61434         * lib/makepath.c (make_path): Quote the other instance, too.
61435
61436         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
61437         (STATIC_BUF_SIZE): Define.
61438         (quotearg_n_options): Use only statically allocated storage when
61439         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
61440         than STATIC_BUF_SIZE.
61441
61442 2000-07-29  Jim Meyering  <meyering@lucent.com>
61443
61444         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
61445         * lib/dirname.c (dir_name): Likewise.
61446
61447         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
61448         `/'.
61449
61450         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
61451         (dir_name): Assert that there are no trailing slashes.
61452
61453 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
61454
61455         * lib/mbswidth.h (mbswidth): Add a flags argument.
61456         (mbswidth): New declaration.
61457         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
61458         * lib/mbswidth.c (mbswidth): Add a flags argument.
61459         (mbsnwidth): New function.
61460
61461 2000-07-24  Jim Meyering  <meyering@lucent.com>
61462
61463         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
61464
61465 2000-07-23  Paul Eggert  <eggert@twinsun.com>
61466
61467         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
61468
61469 2000-07-23  Paul Eggert  <eggert@twinsun.com>
61470
61471         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
61472         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
61473         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
61474         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
61475         invoke multibyte primitives.
61476
61477 2000-07-23  Paul Eggert  <eggert@twinsun.com>
61478
61479         * lib/quotearg.c:
61480         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
61481         so that mbstate_t is always defined.
61482
61483         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
61484         be 1 in at least one GCC installation, and this configuration
61485         error is likely to be common.  Ignoring MB_LEN_MAX hurts
61486         performance on hosts that have mbrtowc but have only unibyte
61487         locales, but I assume these hosts are rare.
61488
61489 2000-07-23  Paul Eggert  <eggert@twinsun.com>
61490
61491         * lib/mbswidth.c (_XOPEN_SOURCE):
61492         Don't define; this causes problems on Solaris 7.
61493         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
61494
61495 2000-07-23  Jim Meyering  <meyering@lucent.com>
61496
61497         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
61498         too: getgrgid, getpwuid, getuid.
61499
61500 2000-07-23  Jim Meyering  <meyering@lucent.com>
61501
61502         * lib/basename.c (base_name): Add an assertion.
61503
61504 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
61505
61506         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
61507         shadow its mbsinit function.
61508
61509 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
61510
61511         * lib/mbswidth.h: New file.
61512         * lib/mbswidth.c: New file.
61513         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
61514         (noinst_HEADERS): Add mbswidth.h.
61515
61516 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
61517
61518         * lib/config.charset: Add support for FreeBSD. Improve support for
61519         HP-UX and IRIX 6.
61520
61521 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
61522
61523         * m4/mbswidth.m4: New file.
61524         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
61525
61526 2000-07-15  Jim Meyering  <meyering@lucent.com>
61527
61528         * lib/makepath.c: Include quote.h.
61529         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
61530         corresponding argument in a `quote (...)' call.
61531         Give better diagnostics.
61532
61533         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
61534         (noinst_HEADERS): Add quote.h.
61535
61536         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
61537         from tar's src/misc.c.
61538         * lib/quote.h: New file.  Prototypes for same.
61539
61540 2000-07-14  Paul Eggert  <eggert@twinsun.com>
61541
61542         From a suggestion by Bruno Haible.
61543         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
61544         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
61545         to decide whether to define the BeOS workaround macro;
61546         this adjusts to the change to AC_MBSTATE_T.
61547
61548 2000-07-14  Jim Meyering  <meyering@lucent.com>
61549
61550         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
61551         jm_AC_TYPE_UINTMAX_T.
61552
61553 2000-07-13  Paul Eggert  <eggert@twinsun.com>
61554
61555         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
61556
61557         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
61558         quotearg_buffer_restyled): Add support for
61559         clocale_quoting_style.  Undo previous change to
61560         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
61561         and "{RIGHT QUOTATION MARK}" msgids.
61562
61563 2000-07-10  Paul Eggert  <eggert@twinsun.com>
61564
61565         From a suggestion by Bruno Haible.
61566         * m4/mbstate_t.m4 (AC_MBSTATE_T):
61567         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
61568         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
61569         and mbstate_t, to a single-part test that simply defines mbstate_t.
61570         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
61571         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
61572
61573 2000-07-10  Jim Meyering  <meyering@lucent.com>
61574
61575         * m4/strerror_r.m4: Mirror the correction made in autoconf.
61576
61577         * m4/gnu-source.m4: Output to confdefs.h directly.
61578         Suggestion from Akim Demaille.
61579
61580 2000-07-09  Paul Eggert  <eggert@twinsun.com>
61581
61582         The old behavior of quoting `like this' doesn't look good with
61583         newer, ISO-style fonts.  See:
61584         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
61585
61586         Instead, quote "like this" by default.  Let the translator
61587         tailor the locale-specific quoting behavior by providing
61588         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
61589
61590         * lib/quotearg.c (N_): New macro.
61591         (gettext_default): New function.
61592         (quotearg_buffer_restyled): Use
61593         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
61594         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
61595
61596 2000-07-09  Jim Meyering  <meyering@lucent.com>
61597
61598         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
61599         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
61600
61601         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
61602         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
61603
61604 2000-07-09  Jim Meyering  <meyering@lucent.com>
61605
61606         * lib/Most files: Update copyright dates to include 2000.
61607
61608 2000-07-08  Jim Meyering  <meyering@lucent.com>
61609
61610         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
61611         if not defined.
61612         (xgethostname): Remove now-unnecessary #ifdef.
61613         Move declaration of `err' into loop where it's used.
61614
61615 2000-07-05  Paul Eggert  <eggert@twinsun.com>
61616         and Bruno Haible  <haible@clisp.cons.org>
61617
61618         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
61619         only if the test for an object-type mbstate_t fails.  This
61620         prevents us from mistakenly reporting that mbstate_t is a
61621         system object type after we "#define mbstate_t int" to work
61622         around its lack.
61623
61624 2000-07-05  Paul Eggert  <eggert@twinsun.com>
61625         and Bruno Haible  <haible@clisp.cons.org>
61626
61627         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
61628
61629 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
61630
61631         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
61632         to strerror_r.
61633         Include <ctype.h> for use of isalpha.
61634
61635 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
61636
61637         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
61638         by allocating a larger buffer. Test the gethostname return value for
61639         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
61640         returns an error and ENAMETOOLONG isn't defined.
61641
61642 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
61643
61644         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
61645         dimension.
61646
61647 2000-07-04  Jim Meyering  <meyering@lucent.com>
61648
61649         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
61650         of the deprecated AC_CHECKING.
61651
61652 2000-07-04  Jim Meyering  <meyering@lucent.com>
61653
61654         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
61655         Reported by Bruno Haible.
61656
61657 2000-07-04  Jim Meyering  <meyering@lucent.com>
61658
61659         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
61660         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
61661         lacks mbrtowc.
61662
61663 2000-07-03  Paul Eggert  <eggert@twinsun.com>
61664
61665         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
61666         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
61667
61668 2000-07-03  Paul Eggert  <eggert@twinsun.com>
61669         and Bruno Haible  <haible@clisp.cons.org>
61670
61671         * lib/quotearg.c (mbrtowc):
61672         Assign to *pwc, and return 1 only if result is nonzero.
61673         (iswprint): Use ISPRINT when substituting our own mbrtowc.
61674
61675 2000-07-03  Jim Meyering  <meyering@lucent.com>
61676
61677         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
61678
61679 2000-07-03  Jim Meyering  <meyering@lucent.com>
61680
61681         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
61682         This is necessary to get a definition of e.g., UTMP_FILE on
61683         HP-UX 10.20.
61684         From Bob Proulx.
61685
61686 2000-07-02  Jim Meyering  <meyering@lucent.com>
61687
61688         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
61689
61690         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
61691         AC_LIBOBJ(function_name).
61692         * m4/chown.m4: Likewise.
61693         * m4/fnmatch.m4: Likewise.
61694         * m4/ftruncate.m4: Likewise.
61695         * m4/getgroups.m4: Likewise.
61696         * m4/getline.m4: Likewise.
61697         * m4/group-member.m4: Likewise.
61698         * m4/jm-macros.m4: Likewise.
61699         * m4/lstat.m4: Likewise.
61700         * m4/malloc.m4: Likewise.
61701         * m4/memcmp.m4: Likewise.
61702         * m4/nanosleep.m4: Likewise.
61703         * m4/putenv.m4: Likewise.
61704         * m4/realloc.m4: Likewise.
61705         * m4/regex.m4: Likewise.
61706         * m4/stat.m4: Likewise.
61707         * m4/strftime.m4: Likewise.
61708
61709 2000-07-02  Jim Meyering  <meyering@lucent.com>
61710
61711         * lib/quotearg.c (mbstate_t): Don't define here.
61712
61713 2000-07-02  Jim Meyering  <meyering@lucent.com>
61714
61715         * lib/nanosleep.c (SIGCONT): Define if not already defined.
61716
61717 2000-07-01  Jim Meyering  <meyering@lucent.com>
61718
61719         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
61720
61721 2000-07-01  Jim Meyering  <meyering@lucent.com>
61722
61723         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
61724         problem.
61725
61726 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
61727
61728         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
61729         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
61730
61731 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
61732
61733         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
61734         per change in ../m4/ls-mntd-fs.m4.
61735         (read_filesystem_list): Ignore symbolic links.
61736
61737 2000-06-29  Jim Meyering  <meyering@lucent.com>
61738
61739         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
61740         for declaration of strcmp.
61741
61742         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
61743
61744         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
61745         Avoid warning by casting result to `char *' to remove `const'.
61746
61747 2000-06-28  Jim Meyering  <meyering@lucent.com>
61748
61749         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
61750         included by quotearg.c, for which we perform this test.  From
61751         Bruno Haible.
61752
61753 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
61754
61755         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
61756         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
61757         <utmpx.h> exists, put readutmp.o into LIBOBJS.
61758
61759 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
61760
61761         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
61762
61763 2000-06-26  Paul Eggert  <eggert@twinsun.com>
61764
61765         savedir now sets errno on failure and invokes xmalloc to get memory.
61766         Fix a couple of other minor bugs while we're at it.
61767
61768         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
61769         (NAMLEN): Remove macro.
61770         (malloc, realloc): Remove decls.
61771         (stpcpy): Likewise.
61772         ("xalloc.h"): Include.
61773         (NAME_SIZE_DEFAULT): New macro.
61774         (savedir): Use xmalloc / xrealloc to allocate memory.
61775         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
61776         Skip "" directory entries.
61777         Use strlen to calculate directory entry length, since the old method
61778         is rarely used these days and isn't worth supporting.
61779         Don't use a pointer after freeing it.
61780         Check for integer overflow when calculating allocation size.
61781         Use memcpy to copy entries, instead of stpcpy.
61782         Set errno properly when returning NULL.
61783         Check for readdir error.
61784
61785 2000-06-26  Jim Meyering  <meyering@lucent.com>
61786
61787         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
61788
61789 2000-06-25  Jim Meyering  <meyering@lucent.com>
61790
61791         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
61792         Linux header bug when _XOPEN_SOURCE is defined to 500.
61793
61794 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
61795
61796         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
61797         deficiency.
61798
61799 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
61800
61801         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
61802         Include xalloc.h.
61803         Don't include <stdlib.h>.  Don't declare malloc, realloc.
61804
61805 2000-06-24  Jim Meyering  <meyering@lucent.com>
61806
61807         * m4/strerror_r.m4: Revive this file -- to try out an experimental
61808         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
61809         for which strerror does return char*, but which lacks a conveniently
61810         accessible declaration of the function.  If the compile-test says
61811         strerror_r doesn't work, then resort to a `run'-test that works on
61812         BeOS and segfaults on DEC Unix.
61813
61814 2000-06-24  Jim Meyering  <meyering@lucent.com>
61815
61816         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
61817
61818 2000-06-23  Paul Eggert  <eggert@twinsun.com>
61819
61820         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
61821         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
61822
61823 2000-06-23  Paul Eggert  <eggert@twinsun.com>
61824
61825         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
61826         (mbrtowc, mbstate_t): Define substitutes if
61827         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
61828         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
61829         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
61830
61831 2000-06-23  Jim Meyering  <meyering@lucent.com>
61832
61833         * m4/afs.m4: Add missing AC_MSG_RESULT.
61834         Reported by Bruno Haible.
61835
61836         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
61837         Suggestion from Bruno Haible.
61838
61839 2000-06-23  Jim Meyering  <meyering@lucent.com>
61840
61841         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
61842
61843 2000-06-21  Jim Meyering  <meyering@lucent.com>
61844
61845         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
61846
61847 2000-06-21  Jim Meyering  <meyering@lucent.com>
61848
61849         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
61850         (noinst_HEADERS): Add getstr.h.
61851
61852         * lib/getline.c (getstr): Move into a separate file.
61853         * lib/getstr.c (getstr): New file, extracted from getline.c, with
61854         the following changes: new parameter, delim2; both delim[12]
61855         parameters have type `int', not `char'.  The latter would lose
61856         with 8-bit delimiters.
61857         * lib/getstr.h: New file.
61858
61859 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61860
61861         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
61862         than 1024, return a memory chunk of least possible size, instead
61863         of size PATH_MAX + 2. In the loop, increment the size proportionally.
61864         Use free/xmalloc instead of xrealloc to avoid copying for very long
61865         paths.
61866
61867 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61868
61869         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
61870         the empty string.
61871
61872 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61873
61874         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
61875         address, not strdup.  Include <stdlib.h> and don't declare free().
61876
61877 2000-06-19  Jim Meyering  <meyering@lucent.com>
61878
61879         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
61880
61881 2000-06-18  Jim Meyering  <meyering@lucent.com>
61882
61883         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
61884
61885         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
61886         `checking whether...' message to be consistent with that of the
61887         lstat test.
61888
61889 2000-06-18  Jim Meyering  <meyering@lucent.com>
61890
61891         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
61892         Besides, these days every porting target provides a mkdir function.
61893
61894         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
61895         needed. (this snippet comes from src/system.h).
61896
61897 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
61898
61899         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
61900
61901 2000-06-15  Paul Eggert  <eggert@twinsun.com>
61902
61903         * lib/human.c (adjust_value): New function.
61904         (human_readable_inexact): Apply rounding style even when
61905         printing approximate values.
61906
61907 2000-06-14  Paul Eggert  <eggert@twinsun.com>
61908
61909         * lib/human.c (human_readable_inexact): Allow an input block
61910         size that is not a multiple of the output block size, and vice versa.
61911         Reported by Piergiorgio Sartor.
61912
61913 2000-06-14  Paul Eggert  <eggert@twinsun.com>
61914
61915         * lib/getdate.y (get_date): Apply relative times after time
61916         zone indicator, not before.  Reported by Todd A. Jacobs.
61917
61918 2000-06-13  Jim Meyering  <meyering@lucent.com>
61919
61920         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
61921
61922         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
61923
61924 2000-06-12  Paul Eggert  <eggert@twinsun.com>
61925
61926         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
61927
61928 2000-06-12  Jim Meyering  <meyering@lucent.com>
61929
61930         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
61931         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
61932         optional argument.
61933         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
61934         the optional argument, `lib'.
61935
61936 2000-06-08  Jim Meyering  <meyering@lucent.com>
61937
61938         * m4/largefile.m4: Remove file (now that it's part of autoconf).
61939
61940 2000-06-04  Paul Eggert  <eggert@twinsun.com>
61941
61942         Rewrite largefile configuration so that we don't need to run
61943         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
61944         AC_CANONICAL_HOST in configure.in -- jmm]
61945
61946         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
61947         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
61948         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
61949         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
61950         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
61951         All uses changed.
61952         Instead of inspecting the output of getconf, try to compile the
61953         test program without and with the macro definition.
61954         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
61955         for getconf.  Instead, check for the needed flags by compiling
61956         test programs.
61957
61958 2000-06-04  Paul Eggert  <eggert@twinsun.com>
61959
61960         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
61961
61962 2000-06-04  Jim Meyering  <meyering@lucent.com>
61963
61964         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
61965         SunOS 4.1.4 for which gid_t is an unsigned type.
61966
61967 2000-06-03  Jim Meyering  <meyering@lucent.com>
61968
61969         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
61970         now that autoconf requires that.
61971
61972         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
61973         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
61974         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
61975
61976 2000-06-03  Jim Meyering  <meyering@lucent.com>
61977
61978         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
61979
61980 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
61981
61982         * m4/glibc21.m4: New file.
61983         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
61984
61985 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
61986
61987         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
61988         newer, don't install charset.alias.
61989         * lib/config.charset: Change the Linux/glibc rules so they become empty
61990         on glibc-2.1 or newer.
61991
61992 2000-06-02  Jim Meyering  <meyering@lucent.com>
61993
61994         * lib/mountlist.c: Back out last change.  Instead, do this...
61995         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
61996         me_dummy member using the same `ignore'-testing code.
61997         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
61998         fs_type strings.
61999         From Mark D. Roth.
62000
62001 2000-05-29  Jim Meyering  <meyering@lucent.com>
62002
62003         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
62004         mounts with the `ignore' attribute.  Based on a patch from
62005         Mark D. Roth.
62006
62007 2000-05-28  Jim Meyering  <meyering@lucent.com>
62008
62009         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
62010         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
62011         * m4/stat.m4: Likewise.
62012         * m4/lstat.m4: Likewise.
62013         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
62014
62015         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
62016         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
62017
62018 2000-05-26  Jim Meyering  <meyering@lucent.com>
62019
62020         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
62021
62022 2000-05-24  Jim Meyering  <meyering@lucent.com>
62023
62024         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
62025         autoconf requires that.
62026         * m4/lib-check.m4: Likewise.
62027         * m4/jm-macros.m4: Likewise.
62028         * m4/strftime.m4: Likewise.
62029
62030         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
62031         AC_CHECK_DECLS, now that autoconf requires that.
62032
62033 2000-05-22  Jim Meyering  <meyering@lucent.com>
62034
62035         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
62036         * m4/lstat.m4: Likewise.
62037
62038 2000-05-22  Jim Meyering  <meyering@lucent.com>
62039
62040         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
62041
62042 2000-05-20  Jim Meyering  <meyering@lucent.com>
62043
62044         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
62045         (jm_PREREQ): Use it.
62046
62047 2000-05-18  Jim Meyering  <meyering@lucent.com>
62048
62049         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
62050         back, too, since it may have been modified by allocate_entry.
62051         (hash_delete): Rewrite to use neither the assignment operator
62052         nor the comma operator in an if-expression.
62053
62054 2000-05-15  Paul Eggert  <eggert@twinsun.com>
62055
62056         * lib/closeout.c:
62057         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
62058         Remove; no longer needed.
62059         "quotearg.h": Add include.
62060         (file_name): Do not bother to explicitly initialize to NULL; it's less
62061         efficient on some hosts.
62062         (close_stdout_status): Remove test as to whether stdout was already
62063         closed; it breaks for the case "echo x | sort >&-".
62064         Quote file name colons.
62065         Do not assume that _("write error") lacks format strings.
62066
62067 2000-05-15  Jim Meyering  <meyering@lucent.com>
62068
62069         * lib/version-etc.c (version_etc_copyright): Update the copyright
62070         string used in all --version output.
62071
62072 2000-05-14  Jim Meyering  <meyering@lucent.com>
62073
62074         * lib/closeout.c (close_stdout_set_file_name): New function.
62075         (close_stdout_status): Use new file-scoped global.
62076         Return right away if fstat says the stdout file descriptor is invalid.
62077         * lib/closeout.h (close_stdout_set_file_name): Declare.
62078
62079 2000-05-10  Jim Meyering  <meyering@lucent.com>
62080
62081         * lib/closeout.c [default_exit_status]: New file-scoped variable.
62082         (close_stdout_set_status): New function.
62083         * lib/closeout.h (close_stdout_set_status): Declare.
62084
62085 2000-05-09  Jim Meyering  <meyering@lucent.com>
62086
62087         * m4/gettext.m4: Rename this...
62088         * m4/libintl.m4: ...to this.
62089
62090 2000-05-08  Jim Meyering  <meyering@lucent.com>
62091
62092         * lib/long-options.c: Don't include closeout.h.
62093         (parse_long_options): Don't call close_stdout for --version.
62094
62095 2000-05-06  Paul Eggert  <eggert@twinsun.com>
62096
62097         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
62098         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
62099         2.1.3 bug.  This avoids a clash when files like regex.c define
62100         _GNU_SOURCE.
62101
62102 2000-05-06  Jim Meyering  <meyering@lucent.com>
62103
62104         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
62105         (AC_REPLACE_FUNCS): Add strnlen.
62106
62107         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
62108         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
62109
62110         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
62111         AC_SEARCH_LIBS call for nanosleep.
62112         (LIB_NANOSLEEP): Set and AC_SUBST.
62113
62114 2000-05-06  Jim Meyering  <meyering@lucent.com>
62115
62116         * lib/strnlen.c: Undefine __strnlen and strnlen.
62117         [!weak_alias]: Define __strnlen to strnlen.
62118
62119         * lib/atexit.c: New file, from libiberty.
62120
62121 2000-05-06  Jim Meyering  <meyering@lucent.com>
62122
62123         * lib/closeout.c (close_stdout_status): Also check for errors on the
62124         stderr stream.
62125
62126 2000-05-05  Jim Meyering  <meyering@lucent.com>
62127
62128         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
62129         AC_SEARCH_LIBS call for clock_gettime.
62130         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
62131
62132         * m4/search-libs.m4: Update from autoconf.
62133
62134         su doesn't work on Solaris 2.6.
62135         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
62136         <shadow.h>.  Reported by Dragos Harabor.
62137
62138 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
62139
62140         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
62141         memcpy instead of xmalloc, xrealloc, path_concat.
62142         (locale_charset): Treat empty environment variables as absent.
62143         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
62144
62145 2000-05-04  Jim Meyering  <meyering@lucent.com>
62146
62147         * lib/getopt.c: Update from glibc.
62148         * lib/obstack.c: Likewise.
62149         * lib/obstack.h: Likewise.
62150         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
62151         file
62152
62153         * lib/regex.h: Likewise.
62154         * lib/strndup.c: Likewise.
62155         * lib/strnlen.c: New file, from glibc.
62156
62157 2000-05-03  Jim Meyering  <meyering@lucent.com>
62158
62159         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
62160
62161 2000-05-02  Paul Eggert  <eggert@twinsun.com>
62162
62163         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
62164         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
62165         compile-time test, rather than inspecting host and OS, to
62166         decide whether to define _LARGEFILE_SOURCE.
62167
62168 2000-05-01  Jim Meyering  <meyering@lucent.com>
62169
62170         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
62171
62172         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
62173         Based on a patch from Bruno Haible.
62174
62175 2000-05-01  Jim Meyering  <meyering@lucent.com>
62176
62177         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
62178
62179 2000-04-29  Jim Meyering  <meyering@lucent.com>
62180
62181         * lib/path-concat.c: Declare strdup only if it's not defined.
62182         * lib/canon-host.c: Likewise.
62183
62184 2000-04-28  Jim Meyering  <meyering@lucent.com>
62185
62186         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
62187         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
62188         is included first, then limits.h is included by locale.h by libintl.h.
62189         From John David Anglin.
62190
62191 2000-04-25  Jim Meyering  <meyering@lucent.com>
62192
62193         * lib/makepath.c (S_IRWXUGO): Define.
62194         (make_path): Always perform explicit chmod if MODE specifies any
62195         of the `special' permission bits.  Prompted by a bug report against
62196         install from Mate Wierdl and Joost van Baal.
62197
62198 2000-04-18  Jim Meyering  <meyering@lucent.com>
62199
62200         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
62201         (jm_PREREQ): Use it.
62202
62203 2000-04-18  Jim Meyering  <meyering@lucent.com>
62204
62205         * lib/README: New file.
62206
62207         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
62208         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
62209
62210 2000-04-17  Jim Meyering  <meyering@lucent.com>
62211
62212         Get it right :-)
62213         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
62214         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
62215         Suggestion from Akim Demaille.
62216
62217 2000-04-17  Jim Meyering  <meyering@lucent.com>
62218
62219         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
62220         the definition of it to rpl_strftime also defined-away the system's
62221         declaration.
62222
62223 2000-04-15  Jim Meyering  <meyering@lucent.com>
62224
62225         Use `C' to denote so-called `contiguous' files, the same way
62226         that tar does.
62227         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
62228         (ftypelet): Use S_ISCTG.
62229         From Michael Deutschmann.
62230
62231 2000-04-14  Jim Meyering  <meyering@lucent.com>
62232
62233         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
62234         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
62235         clobbered.
62236
62237 2000-04-14  Jim Meyering  <meyering@lucent.com>
62238
62239         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
62240
62241 2000-04-13  Jim Meyering  <meyering@lucent.com>
62242
62243         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
62244         AH_VERBATIM to insert required #ifndef into config.h.in.
62245         Suggestion from Akim Demaille.
62246
62247 2000-04-12  Jim Meyering  <meyering@lucent.com>
62248
62249         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
62250         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
62251         Christian Krackowizer.
62252
62253         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
62254         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
62255         (AC_SYS_LARGEFILE): Require.
62256         (AM_C_PROTOTYPES): Require.
62257
62258 2000-04-08  Jim Meyering  <meyering@lucent.com>
62259
62260         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
62261         names don't conflict.  Reported by Eli Zaretskii.
62262
62263 2000-04-07  Jim Meyering  <meyering@lucent.com>
62264
62265         * lib/putenv.c: Move inclusion of errno.h so it follows that of
62266         sys/types.h, to work around system header problems on AIX 3.2.5.
62267         From Bruno Haible.
62268
62269 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
62270
62271         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
62272         bug.  Deal with the different error behavior of Irix iconv.
62273
62274 2000-04-05  Paul Eggert  <eggert@twinsun.com>
62275
62276         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
62277         IRIX if the installer said otherwise.
62278
62279 2000-04-05  Jim Meyering  <meyering@lucent.com>
62280
62281         Portability tweaks required for ultrix4.3.
62282         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
62283         (jm_CHECK_DECLS): Add getutent to the list of functions.
62284         (_jm_DECL_HEADERS): Add utmpx.h.
62285         From John David Anglin.
62286
62287         * m4/strftime.m4: Back out the 2000-04-02 change.
62288         Instead of that change, simply undefine putenv in the test program.
62289
62290 2000-04-05  Jim Meyering  <meyering@lucent.com>
62291
62292         Portability tweaks required for ultrix4.3.
62293         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
62294         getutent.
62295         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
62296         * lib/canon-host.c: Declare strdup.
62297         * lib/path-concat.c: Likewise.
62298         From John David Anglin.
62299
62300 2000-04-04  Jim Meyering  <meyering@lucent.com>
62301
62302         Be more DOS 8.3-friendly.
62303         * lib/ref-add.sin: Renamed from ref-add.sed.in.
62304         * lib/ref-del.sin: Renamed from ref-del.sed.in.
62305         * lib/Makefile.am: Reflect renaming.
62306         Reported by Eli Zaretskii.
62307
62308         Use a temporary file name that won't clash with `charset.alias'
62309         in the DOS 8.3 name space.
62310         * lib/Makefile.am (charset_tmp): Define.
62311         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
62312         (uninstall-local): Likewise.
62313         Reported by Eli Zaretskii.
62314
62315 2000-04-03  Jim Meyering  <meyering@lucent.com>
62316
62317         * m4/gettext.m4: Fix typo in comment.
62318
62319         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
62320         textutils/configure.in).  Suggestion from Paul Eggert.
62321         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
62322
62323 2000-04-02  Paul Eggert  <eggert@twinsun.com>
62324
62325         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
62326         variable in the shell rather than using putenv, which isn't
62327         portable.  This avoids the configure-time inter-test dependency
62328         on the potentially-renamed putenv function.
62329
62330 2000-03-30  Paul Eggert  <eggert@twinsun.com>
62331
62332         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
62333         before checking struct stat.st_blksize, so that
62334         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
62335
62336 2000-03-29  Paul Eggert  <eggert@twinsun.com>
62337
62338         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
62339         since strftime.c uses HAVE_STRFTIME to decide whether to use
62340         the underlying strftime.
62341
62342 2000-03-29  Paul Eggert  <eggert@twinsun.com>
62343
62344         * lib/time/strftime.c (my_strftime): Make sure we call the system
62345         strftime, not ourselves, when invoking the underlying strftime.
62346
62347 2000-03-24  Jim Meyering  <meyering@lucent.com>
62348
62349         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
62350         (charset_alias): Define.
62351         (install-exec-local): Factor out common code.
62352         (uninstall-local): Split lines longer than 80.
62353         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
62354         (SUFFIXES): Define.
62355         (.sed.in.sed): New rule.  Don't redirect directly to $@.
62356         (CLEANFILES): Add ref-add.sed and ref-del.sed.
62357
62358 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
62359
62360         * lib/config.charset: Output a line containing "Packages using this
62361         file".
62362         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
62363         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
62364         ref-del.sed): New rules.
62365
62366 2000-03-17  Jim Meyering  <meyering@lucent.com>
62367
62368         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
62369         Otherwise, include <strings.h>
62370
62371 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
62372
62373         * lib/unicodeio.c (utf8_wctomb): New function.
62374         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
62375         format instead of in UCS-4 with platform dependent endianness.
62376
62377 2000-03-10  Jim Meyering  <meyering@lucent.com>
62378
62379         * m4/lib-check.m4: Look for getspnam in -lgen, too.
62380         From Marco Franzen.
62381
62382 2000-03-07  Paul Eggert  <eggert@twinsun.com>
62383
62384         * lib/savedir.c (savedir): Work even if directory size is
62385         negative; this can happen with some screwy NFS configurations.
62386
62387 2000-03-06  Jim Meyering  <meyering@lucent.com>
62388
62389         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
62390         if it's NULL (because we ran out of memory).  From Bruno Haible.
62391
62392 2000-03-05  Jim Meyering  <meyering@lucent.com>
62393
62394         * lib/localcharset.c ("path-concat.h"): Include.
62395         (get_charset_aliases): Use path_concat instead of ANSI string
62396         concatenation.
62397
62398         * lib/unicodeio.h (PARAMS): Define.
62399         Use it to guard prototype.
62400
62401 2000-03-04  Jim Meyering  <meyering@lucent.com>
62402
62403         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
62404         for lib/localcharset.c.
62405
62406 2000-03-04  Jim Meyering  <meyering@lucent.com>
62407
62408         * lib/Makefile.am (install-exec-local): Create $(libdir) before
62409         installing into it.
62410         (uninstall-local): Uncomment this rule so `make distcheck' works
62411         once again.
62412
62413         * lib/unicodeio.c (<errno.h>): Include it.
62414         (errno): Declare if not defined.
62415
62416         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
62417
62418         * lib/config.charset: New version, incorporating remarks from a linux
62419         i18n mailing list.  From Bruno Haible.
62420
62421 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
62422
62423         * m4/codeset.m4: New file.
62424         * m4/iconv.m4: New file.
62425         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
62426
62427 2000-03-03  Jim Meyering  <meyering@lucent.com>
62428
62429         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
62430
62431 2000-03-02  Jim Meyering  <meyering@lucent.com>
62432
62433         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
62434         the messages come out on separate lines.
62435
62436         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
62437         rather than jm_CHECK_DECLARATIONS.
62438         * m4/decl.m4: Remove now-unused file.
62439
62440         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
62441         geteuid.
62442
62443 2000-03-02  Jim Meyering  <meyering@lucent.com>
62444
62445         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
62446
62447 2000-03-01  Jim Meyering  <meyering@lucent.com>
62448
62449         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
62450         * lib/unicodeio.c: Likewise.
62451
62452 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
62453
62454         * lib/config.charset: New file.
62455         * lib/localcharset.c: New file.
62456         * lib/unicodeio.h, lib/unicodeio.c: New files.
62457         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
62458         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
62459         (noinst_HEADERS): Add unicodeio.h.
62460         (all-local, install-exec-local, charset.alias): New targets.
62461
62462 2000-02-28  Paul Eggert  <eggert@twinsun.com>
62463
62464         * lib/quotearg.c (ALERT_CHAR): New macro.
62465         (quotearg_buffer_restyled): Use it.
62466
62467 2000-02-27  Jim Meyering  <meyering@lucent.com>
62468
62469         * m4/check-decl.m4: Add getenv to the list.
62470
62471 2000-02-27  Jim Meyering  <meyering@lucent.com>
62472
62473         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
62474         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
62475
62476         * lib/backupfile.c: Guard inclusion of stdlib.h with
62477         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
62478         Declare malloc if needed.
62479
62480         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
62481         `#ifndef HAVE_DECL..'
62482         now that autoconf always defines the HAVE_DECL_ symbols.
62483         * lib/human.c: Likewise.
62484         * lib/same.c: Likewise.
62485         * lib/strtoumax.c: Likewise.
62486
62487         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
62488         declaration check was not run.
62489         * lib/hash.c: Likewise.
62490         * lib/human.c: Likewise.
62491         * lib/same.c: Likewise.
62492         * lib/strtoumax.c: Likewise.
62493
62494         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
62495         `.', then first look up the entire `.'-containing string as a login
62496         name.
62497
62498 2000-02-23  Jim Meyering  <meyering@lucent.com>
62499
62500         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
62501         in place of my hack.
62502
62503 2000-02-18  Paul Eggert  <eggert@twinsun.com>
62504
62505         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
62506         (textint): New typedef.
62507         (parser_control): Member year changed from int to textint.
62508         All uses changed.
62509         (YYSTYPE): Removed; replaced by %union with int and textint members.
62510         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
62511         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
62512         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
62513         (tSNUMBER, tUNUMBER): Now of type <textintval>.
62514         (date, number, to_year): Use width of number in digits, not its value,
62515         to determine whether it's a 2-digit year, or a 2-digit time.
62516         (yylex): Store number of digits of numeric tokens.
62517         Reported by John Kendall.
62518
62519         (parser_control): Changed from struct parser_control to typedef (for
62520         consistency).  All uses changed.
62521
62522         (tID): Removed; not used.
62523         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
62524
62525 2000-02-14  Paul Eggert  <eggert@twinsun.com>
62526
62527         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
62528         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
62529
62530 2000-02-12  Jim Meyering  <meyering@lucent.com>
62531
62532         * lib/userspec.c (ISDIGIT): Define it.
62533         (isdigit): Remove definition.
62534         (is_number): Use ISDIGIT, not isdigit.
62535         <libintl.h>: Include.
62536         (_ and N_): Define.
62537         (parse_user_spec): Mark translatable strings.
62538
62539 2000-02-10  Jim Meyering  <meyering@lucent.com>
62540
62541         With these changes, nanosleep.[ch] are finally enough like the other
62542         lib/* replacement files to compile on a few more losing systems.
62543
62544         * lib/nanosleep.h: Don't include config.h.
62545         Remove prototype from declaration of nanosleep.
62546         (PARAMS): Remove now-unneeded definition.
62547         * lib/nanosleep.c: #undef nanosleep.
62548         (rpl_nanosleep): Rename from nanosleep.
62549
62550 2000-02-10  Jim Meyering  <meyering@lucent.com>
62551
62552         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
62553         gnu_nanosleep to rpl_nanosleep.
62554
62555 2000-02-09  Jim Meyering  <meyering@lucent.com>
62556
62557         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
62558         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
62559
62560 2000-02-08  Akim Demaille  <akim@epita.fr>
62561
62562         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
62563         `[' and `]' and remove uses of `changequote'.
62564         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
62565         (AC_SYS_LARGEFILE): Likewise.
62566         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
62567         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
62568         of changequote.
62569         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
62570         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
62571         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
62572         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
62573
62574 2000-02-05  Jim Meyering  <meyering@lucent.com>
62575
62576         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
62577         Remove explicit use of AC_HEADER_TIME.  It is required by
62578         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
62579         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
62580         in autoconf whereby the expansion of the latter ended up preceding
62581         the expansion of its prerequisite, AC_HEADER_TIME.
62582         Reported by Volker Borchert.
62583
62584 2000-02-03  Jim Meyering  <meyering@lucent.com>
62585
62586         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
62587
62588 2000-02-03  Jim Meyering  <meyering@lucent.com>
62589
62590         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
62591         rather than with `#if HAVE_UTMPNAME'.
62592
62593 2000-02-02  Jim Meyering  <meyering@lucent.com>
62594
62595         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
62596         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
62597         Reported by Eli Zaretskii.
62598
62599 2000-02-01  Jim Meyering  <meyering@lucent.com>
62600
62601         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
62602
62603 2000-01-31  Jim Meyering  <meyering@lucent.com>
62604
62605         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
62606         functions.  Add the time.h and sys/time.h headers along with the
62607         AC_REQUIRE'ment of AC_HEADER_TIME.
62608
62609 2000-01-31  Jim Meyering  <meyering@lucent.com>
62610
62611         * lib/nanosleep.h (nanosleep): Guard declaration with
62612         `#if ! HAVE_DECL_NANOSLEEP'.
62613         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
62614         the declaration in that vendor's sys/timers.h.
62615         Reported by Christian Krackowizer.
62616
62617         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
62618         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
62619         (ISPRINT): Likewise.
62620         Reported by Tom Tromey.
62621
62622 2000-01-30  Jim Meyering  <meyering@lucent.com>
62623
62624         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
62625
62626         * m4/prereq.m4 (utmp_includes): Define.
62627         Check for ut_user and ut_name members in both struct utmpx
62628         and struct utmp.
62629
62630 2000-01-30  Jim Meyering  <meyering@lucent.com>
62631
62632         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
62633         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
62634         header files where only utmpx.ut_user is declared.
62635
62636         * lib/readutmp.h (UT_USER): Define.
62637
62638 2000-01-29  Jim Meyering  <meyering@lucent.com>
62639
62640         * m4/lib-check.m4: New file containing library-related checks from
62641         fileutils and sh-utils (textutils had none).
62642
62643 2000-01-28  Jim Meyering  <meyering@lucent.com>
62644
62645         * m4/perl.m4: Change format of warning message to look more like that
62646         from the missing script.  Suggestion from François Pinard.
62647
62648 2000-01-25  Jim Meyering  <meyering@lucent.com>
62649
62650         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
62651         well as time.h in the compile check.
62652         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
62653         Fix typo in cross-compiling case: s/yes/no/.
62654
62655 2000-01-23  Jim Meyering  <meyering@lucent.com>
62656
62657         * m4/jm-macros.m4: Move df-related tests here from
62658         fileutils/configure.in
62659
62660         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
62661         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
62662
62663         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
62664         s/space/ac_fsusage_space/.
62665         (jm_FILE_SYSTEM_USAGE): Take two parameters.
62666
62667         * m4/ftruncate.m4: New file (derived from part of
62668         fileutils/configure.in).
62669         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
62670         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
62671
62672         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
62673         AC_SUBST these here, rather than just in sh-util/configure.in, so
62674         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
62675         all the same.
62676         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
62677         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
62678         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
62679         (AC_SUBST(POW_LIBM)): Likewise.
62680         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
62681
62682 2000-01-23  Jim Meyering  <meyering@lucent.com>
62683
62684         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
62685         obstack.c.
62686
62687 2000-01-22  Jim Meyering  <meyering@lucent.com>
62688
62689         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
62690
62691         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
62692
62693         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
62694         configure.in
62695         (AC_CHECK_HEADERS): Likewise for sh-utils.
62696         (AC_CHECK_HEADERS): Likewise for textutils.
62697         Merge the three lists of headers.
62698
62699         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
62700         from fileutils' configure.in.
62701
62702         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
62703         code. Moved tests into their own function (_jm_DECL_HEADERS) in
62704         check-decl.m4.
62705
62706         * m4/check-decl.m4: Use #if rather than #ifdef.
62707         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
62708         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
62709         (_jm_DECL_HEADERS): Define new function.
62710         (jm_CHECK_DECLARATIONS): Require it.
62711
62712 2000-01-22  Jim Meyering  <meyering@lucent.com>
62713
62714         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
62715         [! HAVE_DECL_STRTOULL]: Declare strtoull.
62716         Required for some AIX systems.  Reported by Christian Krackowizer.
62717         [TESTING] (main): New function.
62718
62719         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
62720         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
62721         letters.
62722
62723         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
62724         iswprint.
62725
62726         * lib/strverscmp.c (ISDIGIT): Define.
62727         (strverscmp): Use ISDIGIT, not isdigit.
62728
62729 2000-01-19  Jim Meyering  <meyering@lucent.com>
62730
62731         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
62732         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
62733         defines `struct timespec' in <sys/time.h>
62734
62735         * m4/c-bs-a.m4: Remove uses of changequote altogether.
62736         Thanks to Akim for explaining.
62737
62738 2000-01-17  Paul Eggert  <eggert@twinsun.com>
62739
62740         * lib/nanosleep.c (nanosleep):
62741         Don't use SA_INTERRUPT to decide whether to call sigaction, as
62742         POSIX.1 doesn't require SA_INTERRUPT and some systems
62743         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
62744         it's been part of POSIX.1 since day 1 (in 1988).
62745
62746 2000-01-17  Jim Meyering  <meyering@lucent.com>
62747
62748         * lib/interlock: Remove unused file.  Reported by François Pinard.
62749
62750 2000-01-16  Paul Eggert  <eggert@twinsun.com>
62751
62752         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
62753         alert, backslash, formfeed, and vertical tab unnecessarily in
62754         shell quoting style.
62755
62756 2000-01-16  Jim Meyering  <meyering@lucent.com>
62757
62758         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
62759         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
62760         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
62761         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
62762
62763 2000-01-16  Jim Meyering  <meyering@lucent.com>
62764
62765         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
62766         because the latter didn't work.
62767
62768 2000-01-15  Jim Meyering  <meyering@lucent.com>
62769
62770         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
62771         (AC_REPLACE_FUNCS): Add memcpy and memset.
62772         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
62773         Add strpbrk.
62774         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
62775
62776 2000-01-12  Jim Meyering  <meyering@lucent.com>
62777
62778         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
62779         (jm_PREREQ): Use it.
62780         (jm_PREREQ_READUTMP): New macro.
62781         (jm_PREREQ): Use it.
62782
62783 2000-01-11  Paul Eggert  <eggert@twinsun.com>
62784
62785         Quote multibyte characters correctly.
62786         * m4/c-bs-a.m4: New file.
62787         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
62788         (jm_PREREQ): Use it.
62789
62790 2000-01-11  Paul Eggert  <eggert@twinsun.com>
62791
62792         * m4/uintmax_t.m4: Port to autoconf 2.13.
62793
62794 2000-01-08  Jim Meyering  <meyering@ascend.com>
62795
62796         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
62797         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
62798
62799 2000-01-04  Jim Meyering  <meyering@ascend.com>
62800
62801         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
62802         jm_STRUCT_DIRENT_D_TYPE.
62803         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
62804         jm_STRUCT_DIRENT_D_INO.
62805         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
62806         jm_STRUCT_UTIMBUF.
62807         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
62808         renamings.
62809         * m4/utime.m4: Likewise.
62810
62811         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
62812         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
62813
62814 2000-01-03  Paul Eggert  <eggert@twinsun.com>
62815
62816         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
62817         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
62818
62819 2000-01-02  Jim Meyering  <meyering@ascend.com>
62820
62821         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
62822         remember if this is necessary.
62823
62824 1999-12-26  Jim Meyering  <meyering@ascend.com>
62825
62826         * m4/jm-macros.m4: Use it here.
62827         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
62828
62829 1999-12-23  Jim Meyering  <meyering@ascend.com>
62830
62831         * m4/jm-macros.m4: Check for clock_gettime (moved from
62832         fileutils/configure.in)
62833         Check for gettimeofday.
62834
62835 1999-12-20  Jim Meyering  <meyering@ascend.com>
62836
62837         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
62838         autoconf-2.14a-1999-12-20.
62839
62840 1999-12-19  Jim Meyering  <meyering@ascend.com>
62841
62842         * m4/lstat-slash.m4: New file.
62843         * m4/jm-macros.m4: Use the new macro:
62844         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
62845
62846 1999-12-07  Jim Meyering  <meyering@ascend.com>
62847
62848         * m4/perl.m4: Require that File::Compare be available, too.
62849         Too many systems seem to lack it.
62850
62851         * m4/strftime.m4: Add checks for most of the cpp macros tested in
62852         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
62853
62854 1999-11-18  Paul Eggert  <eggert@twinsun.com>
62855
62856         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
62857         problem with the QNX 4.25 shell, which doesn't propagate exit
62858         status of failed commands inside shell assignments.
62859
62860 1999-11-17  Jim Meyering  <meyering@ascend.com>
62861
62862         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
62863
62864 1999-11-07  Jim Meyering  <meyering@ascend.com>
62865
62866         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
62867
62868 1999-11-06  Jim Meyering  <meyering@ascend.com>
62869
62870         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
62871         * m4/jm-macros.m4 (jm_MACROS): Use it here.
62872
62873 1999-11-05  Jim Meyering  <meyering@ascend.com>
62874
62875         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
62876         configure.in of textutils, fileutils, and sh-utils into this one
62877         (shared between those packages) file.
62878         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
62879         AC_STRUCT_ST_BLKSIZE.
62880
62881 1999-11-03  Jim Meyering  <meyering@ascend.com>
62882
62883         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
62884         of AC_CHECK_TYPE checks includes unistd.h.
62885         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
62886         Suggestion from Akim Demaille.
62887
62888 1999-10-30  Jim Meyering  <meyering@ascend.com>
62889
62890         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
62891         m4-quoted string.
62892         * m4/ls-mntd-fs.m4: Likewise.
62893         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
62894         * m4/jm-winsz1.m4: Likewise.
62895
62896         * m4/const.m4: Remove file, since the fix made it into the experimental
62897         version of autoconf.
62898         * m4/mktime.m4: Likewise.
62899
62900         * m4/check-type.m4: Remove file, now that the latest version of
62901         AC_CHECK_TYPE takes a third arg to specify additional #includes.
62902
62903         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
62904         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
62905         AC_CHECK_TYPE.
62906
62907 1999-10-04  Jim Meyering  <meyering@ascend.com>
62908
62909         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
62910
62911 1999-09-22  Paul Eggert  <eggert@twinsun.com>
62912
62913         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
62914         2.95.1 bug with HP-UX 10.20.
62915
62916 1999-09-17  Jim Meyering  <meyering@ascend.com>
62917
62918         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
62919         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
62920         due to missing strdup (against sh-utils-2.0).
62921
62922 1999-08-29  Jim Meyering  <meyering@ascend.com>
62923
62924         * m4/jm-macros.m4: Require jm_BISON.
62925         * m4/bison.m4: New file.
62926
62927 1999-08-17  Paul Eggert  <eggert@twinsun.com>
62928
62929         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
62930         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
62931
62932 1999-08-05  Jim Meyering  <meyering@ascend.com>
62933
62934         * m4/getline.m4: Rename test file from conftestdata to conftest.data
62935         to avoid conflicts with `conftest' on 8+3 filesystems.
62936         Suggestion from Eli Zaretskii.
62937
62938 1999-08-04  Jim Meyering  <meyering@ascend.com>
62939
62940         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
62941         fileutils and sh-utils (textutils's getline test was inadequate).
62942         (AM_FUNC_GETLINE): Run this test.
62943         (AC_CHECK_FUNCS): Check for getdelim.
62944         Reported by Bob Proulx.
62945
62946 1999-08-02  Jim Meyering  <meyering@ascend.com>
62947
62948         * m4/jm-macros.m4: Add a comment.
62949
62950 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62951
62952         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
62953         <inttypes.h> defines strtoumax as a macro (and not as a
62954         function).
62955
62956 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62957
62958         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
62959         that we can shift, multiply and divide unsigned long long
62960         values; Ultrix cc can't do it.
62961
62962 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62963
62964         * m4/mktime.m4: New file, which is a preview of what should appear
62965         in the next public autoconf release.
62966
62967 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62968
62969         * m4/lfs.m4: Remove this file.
62970         * m4/largefile.m4: New file.  It contains the old contents of
62971         lfs.m4, except that all names with prefix AC_LFS have been
62972         changed to use the prefix AC_SYS_LARGEFILE instead, to be
62973         compatible with future autoconf versions.  Also, some minor m4
62974         quoting problems have been fixed.
62975
62976 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62977
62978         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
62979         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
62980         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
62981         and simplify the shell code.
62982
62983 1999-08-01  Jim Meyering  <meyering@ascend.com>
62984
62985         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
62986         m4.
62987
62988 1999-07-20  Jim Meyering  <meyering@ascend.com>
62989
62990         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
62991
62992 1999-07-15  Jim Meyering  <meyering@ascend.com>
62993
62994         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
62995
62996 1999-05-22  Jim Meyering  <meyering@ascend.com>
62997
62998         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
62999
63000 1999-05-20  Jim Meyering  <meyering@ascend.com>
63001
63002         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
63003         Add a colon after each `then' in case $4 is empty.
63004
63005 1999-05-16  Jim Meyering  <meyering@ascend.com>
63006
63007         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
63008
63009 1999-05-10  Jim Meyering  <meyering@ascend.com>
63010
63011         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
63012
63013         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
63014         AC_FUNC_MKTIME.
63015
63016 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
63017
63018         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
63019
63020 1999-05-04  Paul Eggert  <eggert@twinsun.com>
63021
63022         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
63023         not CPPFLAGS, so that linking works correctly in IRIX.
63024
63025 1999-04-30  Paul Eggert  <eggert@twinsun.com>
63026
63027         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
63028
63029 1999-04-20  Paul Eggert  <eggert@twinsun.com>
63030
63031         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
63032         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
63033         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
63034         jm_AC_TYPE_UNSIGNED_LONG_LONG.
63035         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
63036
63037         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
63038
63039 1999-04-20  Jim Meyering  <meyering@ascend.com>
63040
63041         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
63042         AC_REPLACE xstroull if necessary.  From Paul Eggert.
63043         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
63044
63045 1999-04-18  Jim Meyering  <meyering@ascend.com>
63046
63047         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
63048         * m4/jm-macros.m4: Use it.
63049
63050 1999-04-06  Jim Meyering  <meyering@ascend.com>
63051
63052         * m4/strftime.m4: Remove test for %f.
63053
63054 1999-03-29  Jim Meyering  <meyering@ascend.com>
63055
63056         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
63057         superset of the AC_TYPE_* checks in the textutils, fileutils,
63058         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
63059         AC_TYPE_PID_T.
63060
63061 1999-03-28  Jim Meyering  <meyering@ascend.com>
63062
63063         * m4/jm-macros.m4: Define GNU_PACKAGE here.
63064         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
63065         replaced e.g., in the *.sh files of the sh-utils.
63066
63067 1999-03-20  Jim Meyering  <meyering@ascend.com>
63068
63069         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
63070         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
63071         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
63072
63073 1999-03-19  Jim Meyering  <meyering@ascend.com>
63074
63075         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
63076
63077 1999-03-12  Jim Meyering  <meyering@ascend.com>
63078
63079         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
63080
63081 1999-03-07  Jim Meyering  <meyering@ascend.com>
63082
63083         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
63084         declared.
63085
63086 1999-02-17  Jim Meyering  <meyering@ascend.com>
63087
63088         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
63089         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
63090
63091 1999-02-07  Jim Meyering  <meyering@ascend.com>
63092
63093         * m4/group-member.m4: New file -- extracted from sh-utils'
63094         configure.in.
63095
63096         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
63097         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
63098
63099 1999-02-06  Jim Meyering  <meyering@ascend.com>
63100
63101         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
63102         * m4/fnmatch.m4: Likewise.
63103         * m4/getgroups.m4: Likewise.
63104         * m4/lstat.m4: Likewise.
63105         * m4/malloc.m4: Likewise.
63106         * m4/putenv.m4: Likewise.
63107         * m4/realloc.m4: Likewise.
63108         * m4/regex.m4: Likewise.
63109         * m4/stat.m4: Likewise.
63110         * m4/strftime.m4: Likewise.
63111         Suggestion from Alain Magloire.
63112
63113         * m4/chown.m4: Use `.$ac_objext', not `.o'.
63114         * m4/fnmatch.m4: Likewise.
63115         * m4/getgroups.m4: Likewise.
63116         * m4/getline.m4: Likewise.
63117         * m4/lstat.m4: Likewise.
63118         * m4/malloc.m4: Likewise.
63119         * m4/memcmp.m4: Likewise.
63120         * m4/putenv.m4: Likewise.
63121         * m4/realloc.m4: Likewise.
63122         * m4/regex.m4: Likewise.
63123         * m4/stat.m4: Likewise.
63124         * m4/strftime.m4: Likewise.
63125         Suggestion from Alain Magloire.
63126
63127         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
63128         an argument.
63129
63130         * m4/regex.m4: Add a run-time Test for proper operation of
63131         re_compile_pattern.
63132
63133 1999-01-31  Jim Meyering  <meyering@ascend.com>
63134
63135         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
63136
63137 1999-01-30  Jim Meyering  <meyering@ascend.com>
63138
63139         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
63140
63141         * m4/jm-mktime.m4: Make this a wrapper around the official
63142         AM_FUNC_MKTIME rather than my private copy, now that the official one
63143         is up to date.
63144         * m4/mktime.m4: Remove file.
63145
63146         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
63147         * m4/uptime.m4: Likewise.
63148         * m4/uintmax_t.m4: Likewise.
63149
63150 1999-01-28  Jim Meyering  <meyering@ascend.com>
63151
63152         * m4/jm-macros.m4: Use jm_AFS.
63153         * m4/afs.m4: New file (from fileutils' configure.in).
63154
63155         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
63156         * m4/chown.m4: Likewise.
63157         * m4/d-ino.m4: Likewise.
63158         * m4/d-type.m4: Likewise.
63159         * m4/fnmatch.m4: Likewise.
63160         * m4/getgroups.m4: Likewise.
63161         * m4/gettext.m4: Likewise.
63162         * m4/jm-mktime.m4: Likewise.
63163         * m4/jm-winsz2.m4: Likewise.
63164         * m4/lcmessage.m4: Likewise.
63165         * m4/ls-mntd-fs.m4: Likewise.
63166         * m4/malloc.m4: Likewise.
63167         * m4/memcmp.m4: Likewise.
63168         * m4/putenv.m4: Likewise.
63169         * m4/realloc.m4: Likewise.
63170         * m4/st_mtim.m4: Likewise.
63171         * m4/strftime.m4: Likewise.
63172
63173 1999-01-16  Jim Meyering  <meyering@ascend.com>
63174
63175         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
63176         (ARGMATCH_DIE_DECL): Define.
63177
63178 1999-01-12  Jim Meyering  <meyering@ascend.com>
63179
63180         * m4/Makefile.am.in: Rewrite to avoid using fmt.
63181         Reported by Lars Hecking.
63182
63183 1999-01-10  Jim Meyering  <meyering@ascend.com>
63184
63185         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
63186         gross kludge.
63187         * m4/inttypes_h.m4: Likewise.
63188         * m4/lstat.m4: Likewise.
63189         * m4/malloc.m4: Likewise.
63190         * m4/readdir.m4: Likewise.
63191         * m4/realloc.m4: Likewise.
63192         * m4/st_dm_mode.m4: Likewise.
63193         * m4/stat.m4: Likewise.
63194         * m4/utimbuf.m4: Likewise.
63195         * m4/utimes.m4: Likewise.
63196
63197         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
63198         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
63199         comments in config.h.in are meaningful.
63200
63201         * m4/jm-macros.m4: Require autoconf-2.13 here.
63202
63203         * m4/regex.m4: By default, don't use the included regex.c on systems
63204         with glibc 2.  Suggestion from Uli Drepper.
63205
63206 1999-01-02  Jim Meyering  <meyering@ascend.com>
63207
63208         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
63209
63210 1998-12-18  Jim Meyering  <meyering@ascend.com>
63211
63212         * m4/Makefile.am.in (Makefile.am): Simplify rule.
63213         Based on a suggestion from Lars Hecking.
63214
63215 1998-11-16  Paul Eggert  <eggert@twinsun.com>
63216
63217         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
63218
63219 1998-11-16  Jim Meyering  <meyering@ascend.com>
63220
63221         * m4/lfs.m4: Double-quote the `uname...` expression.
63222
63223 1998-11-14  Jim Meyering  <meyering@ascend.com>
63224
63225         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
63226         * m4/stat.m4: Likewise.
63227
63228 1998-11-03  Jim Meyering  <meyering@ascend.com>
63229
63230         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
63231         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
63232
63233 1998-10-18  Jim Meyering  <meyering@ascend.com>
63234
63235         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
63236
63237 1998-10-17  Jim Meyering  <meyering@ascend.com>
63238
63239         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
63240         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
63241         calls for those previously hard-coded headers.  Instead, take a new
63242         parameter.
63243         (jm_CHECK_DECLARATIONS): Reflect interface change.
63244         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
63245         (jm_CHECK_DECL_LOCALTIME_R): New macro.
63246
63247         * m4/mktime.m4: Test for spring-forward gap before long-running test.
63248
63249 1998-10-14  Jim Meyering  <meyering@ascend.com>
63250
63251         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
63252         instead of "TZ=America/Vancouver".  From Paul Eggert.
63253
63254 1998-10-11  Jim Meyering  <meyering@ascend.com>
63255
63256         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
63257         This adds a test for a recently added compatibility fix for mktime.c.
63258         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
63259
63260 1998-09-27  Jim Meyering  <meyering@ascend.com>
63261
63262         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
63263
63264         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
63265         ../configure.in, including a change from Gordon Matzigkeit to allow
63266         cross-compiling for the Hurd.
63267
63268         * m4/glibc.m4: New file/macro to test for the GNU C Library
63269         versions 1 and 2.  From Gordon Matzigkeit.
63270         Indent.
63271
63272 1998-09-21  Jim Meyering  <meyering@ascend.com>
63273
63274         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
63275
63276 1998-08-18  Paul Eggert  <eggert@twinsun.com>
63277
63278         Port nanosecond-resolution times to UnixWare 2.1.2 and
63279         pedantic Solaris 2.6.
63280
63281         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
63282         AC_STRUCT_ST_MTIM.
63283         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
63284         Generate name of ns member, instead of just 1 or undef.
63285         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
63286
63287 1998-08-15  Jim Meyering  <meyering@ascend.com>
63288
63289         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
63290         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
63291         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
63292         instead of jm_TYPE_SSIZE_T.
63293
63294 1998-08-12  Jim Meyering  <meyering@ascend.com>
63295
63296         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
63297
63298 1998-08-02  Jim Meyering  <meyering@ascend.com>
63299
63300         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
63301         in acconfig.h manually.
63302
63303 1998-07-31  Paul Eggert  <eggert@twinsun.com>
63304
63305         * m4/st_mtim.m4: New file.
63306
63307 1998-07-28  Jim Meyering  <meyering@ascend.com>
63308
63309         * m4/utimes.m4: Undef stat.
63310
63311 1998-07-25  Jim Meyering  <meyering@ascend.com>
63312
63313         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
63314         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
63315
63316 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
63317
63318         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
63319         uid and gid actually remain unchanged.
63320
63321 1998-07-07  Jim Meyering  <meyering@ascend.com>
63322
63323         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
63324
63325 1998-07-04  Jim Meyering  <meyering@ascend.com>
63326
63327         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
63328         to prove that this macro can be used in packages without regex.c.
63329
63330 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
63331
63332         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
63333         is to be used.
63334
63335 1998-07-03  Jim Meyering  <meyering@ascend.com>
63336
63337         * m4/gettext.m4: Add -lintl if it's found to be necessary.
63338
63339         * m4/gettext.m4: New file -- from gettext-0.10.35.
63340         * m4/lcmessage.m4: Likewise.
63341         * m4/progtest.m4: Likewise.
63342
63343         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
63344         * m4/jm-macros.m4: Require the new macro.
63345
63346 1998-06-29  Jim Meyering  <meyering@ascend.com>
63347
63348         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
63349         for the definition of NGROUPS (used in a system header included
63350         by sys/mount.h).
63351
63352 1998-06-28  Jim Meyering  <meyering@ascend.com>
63353
63354         * m4/ls-mntd-fs.m4: New file.
63355         * m4/fstypename.m4: New file.
63356
63357         * m4/jm-macros.m4: Require the new macro.
63358         * m4/jm-glibc-io.m4: New file.
63359
63360 1998-05-19  Jim Meyering  <meyering@ascend.com>
63361
63362         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
63363         * m4/lchown.m4: New file.
63364
63365         * m4/Makefile.am.in: New file.
63366         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
63367
63368 1998-05-14  Jim Meyering  <meyering@ascend.com>
63369
63370         * m4/Makefile.am (EXTRA_DIST): Add them.
63371         * m4/jm-macros.m4: New file.
63372         * m4/utimbuf.m4: New file.
63373
63374 1998-05-12  Jim Meyering  <meyering@ascend.com>
63375
63376         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
63377
63378 1998-05-11  Jim Meyering  <meyering@ascend.com>
63379
63380         * m4/isc-posix.m4: New file.
63381
63382 1998-05-10  Jim Meyering  <meyering@ascend.com>
63383
63384         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
63385
63386 1998-05-09  Jim Meyering  <meyering@ascend.com>
63387
63388         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
63389         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
63390         with automake.
63391
63392         * m4/ssize_t.m4: New file.
63393         * m4/mktime.m4: Remove file -- the new automake has this now.
63394
63395 1998-04-26  Jim Meyering  <meyering@ascend.com>
63396
63397         * m4/assert.m4: New file.
63398         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
63399
63400 1998-04-05  Jim Meyering  <meyering@ascend.com>
63401
63402         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
63403         (jm_PREREQ): Use it here.
63404
63405 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
63406
63407         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
63408         in acconfig.h.
63409
63410 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
63411
63412         * m4/prereq.m4: New file.
63413         * m4/error.m4: New file.
63414         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
63415
63416 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
63417
63418         * m4/getline.m4: Don't set am_cv_func_working_getline before the
63419         cache-check for the same variable -- that defeated the purpose of
63420         the test; the test program was never run.  This was a problem only
63421         on systems with losing getline functions -- HP-UX 10.20 is one.
63422         Reported by Bjorn Helgaas.
63423
63424 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
63425
63426         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
63427
63428 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
63429
63430         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
63431
63432         * m4/const.m4: New file.  Use an initializer in this declaration
63433         typedef int charset[2]; const charset x;
63434         Reported by Bob Glickstein.
63435
63436 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
63437
63438         * m4/chown.m4: Fix reversed types on -1 args to chown.
63439         From Kaveh Ghazi.
63440
63441 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
63442
63443         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
63444         Add lseek and memchr.
63445
63446         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
63447         T.E.Dickey <dickey@clark.net> said that some older preprocessors
63448         have a 20-character limit on names.
63449
63450 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
63451
63452         * m4/inttypes_h.m4: New file.
63453         * m4/uintmax_t.m4: New file.
63454         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
63455
63456
63457         -----
63458
63459         Local Variables:
63460         coding: utf-8
63461         End:
63462
63463         Copyright (C) 1997-2010 Free Software Foundation, Inc.
63464
63465         Copying and distribution of this file, with or without
63466         modification, are permitted provided the copyright notice
63467         and this notice are preserved.