4bd2a539fd1501e05f95c64b3dc961275d1ec585
[gnulib.git] / ChangeLog
1 2010-03-06  Bruno Haible  <bruno@clisp.org>
2
3         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
4         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
5         (Makefile.am): Augment lib_SOURCES instead.
6
7 2010-03-04  Jim Meyering  <meyering@redhat.com>
8
9         utime: remove obsolete module
10         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
11         unnecessary for years, and has been marked as obsolete for 10 months.
12         * modules/utime: Remove file.
13         * lib/utime.c: Remove file.
14         * m4/utime.m4: Remove file.
15         * m4/utimes-null.m4: Remove file.
16         * doc/posix-functions/utime.texi (utime): Remove reference to
17         the module.  Move the sole "fixed by gnulib" item into the
18         "problems not fixed by Gnulib" list.
19         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
20
21 2010-03-05  Simon Josefsson  <simon@josefsson.org>
22
23         * modules/exit (License): Relax license to LGPLv2+.
24         (Status): Mark as obsolete.
25         * NEWS: Mention deprecated 'exit' module.
26         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
27         of now obsolete 'exit'.
28
29 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30
31         fts-lgpl: remove unused module
32         * modules/fts-lgpl: Remove.
33         * MODULES.html.sh (func_all_modules): Adjust.
34         * check-module (find_included_lib_files): Adjust.
35         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
36
37 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
38
39         copy-acl: enhance Solaris ACL error handling
40         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
41         * lib/set-mode-acl.c (qset_acl): Likewise.
42
43 2010-03-02  Bruno Haible  <bruno@clisp.org>
44
45         spawn: Don't override the system defined values on FreeBSD 8.
46         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
47         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
48         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
49         if HAVE_POSIX_SPAWN is 1.
50         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
51
52 2010-03-01  Bruno Haible  <bruno@clisp.org>
53
54         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
55         regarding Automake.
56
57 2010-02-25  Bruno Haible  <bruno@clisp.org>
58
59         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
60         * gnulib-tool: Define 'echo' as a function only before the ksh alias
61         setting, not afterwards.
62         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
63
64 2010-02-24  Eric Blake  <eblake@redhat.com>
65
66         bootstrap, git-version-gen: use timestamp
67         * build-aux/git-version-gen (scriptversion): Force UTC.
68         * build-aux/bootstrap (scriptversion): New variable.
69
70         bootstrap: allow older git
71         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
72         older than 1.6.4.  Requested by the libvirt project.
73
74 2010-02-23  Eric Blake  <eblake@redhat.com>
75
76         warn-on-use: work with old autoconf
77         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
78         AS_VAR semantics of autoconf 2.60.
79         Reported by Bruno Haible.
80
81         bootstrap: improve some comments
82         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
83         clarification comments.
84
85         gettimeofday: provide correct function
86         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
87         when replacement is declared, otherwise provide gettimeofday.
88         Reported by Michael Goffioul.
89
90 2010-02-23  Jim Meyering  <meyering@redhat.com>
91
92         lib-ignore: relax license to "unlimited", not LGPLv2+
93         * modules/lib-ignore (License): Relax to "unlimited".
94
95 2010-02-23  Jim Meyering  <meyering@redhat.com>
96
97         lib-ignore: relax license to LGPLv2+
98         * modules/lib-ignore (License): Relax to LGPLv2+.
99
100 2010-02-22  Eric Blake  <eblake@redhat.com>
101
102         lseek: avoid bash 3.2 broken pipe bug
103         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
104         warning from bash 3.2.
105         Reported by Ben Pfaff, with analysis from Bruno Haible.
106
107         bootstrap: support non-FSF copyright holder
108         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
109         bootstrap.conf override of COPYRIGHT_HOLDER.
110         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
111
112         bootstrap: interoperate with gettext 0.14.1
113         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
114
115         bootstrap: allow for alternate submodule location
116         * build-aux/bootstrap (gnulib_path): New variable; use instead of
117         hardcoding submodule location.
118         (gnulib_mk): Allow direct use of Makefile.am.
119
120         bootstrap: use GNULIB_SRCDIR to reduce disk usage
121         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
122         rather than reconfiguring where the submodule points.
123
124         gettimeofday: restore support for platforms that lack function
125         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
126         replacement if function is missing.
127         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
128         * modules/sys_time (Makefile.am): Substitute it.
129         * lib/sys_time.in.h (gettimeofday): Check it.
130         Reported by Michael Goffioul.
131
132 2010-02-21  Bruno Haible  <bruno@clisp.org>
133
134         * lib/stdio.in.h (obstack_printf): Fix typo.
135
136 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
137
138         vc-list-files: use bzr ls's -R option
139         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
140         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
141
142 2010-02-21  Jim Meyering  <meyering@redhat.com>
143
144         init.sh: fix EXEEXT shims to work also for names like test-prog
145         * tests/init.sh: Re-exec a better shell, when needed.
146         If the current shell lacks support for posix $(...), an init.sh-using
147         test will now try to find a shell that supports that.  If EXEEXT is
148         nonempty, we also require support for hyphen-in-alias-name and shell
149         substitutions like ${var#glob}.  Failure to find such a shell results
150         in a skipped test.
151
152 2010-02-21  Bruno Haible  <bruno@clisp.org>
153
154         Really work around around "broken pipe" error message from bash 3.2.
155         * gnulib-tool (func_reset_sigpipe): Remove function.
156         (echo): In bash 3.2, define to a function that uses printf.
157         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
158
159 2010-02-20  Bruno Haible  <bruno@clisp.org>
160
161         Restore support for automake 1.9.6 with autoconf 2.61.
162         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
163         Reported by James Youngman <jay@gnu.org>.
164
165 2010-02-20  Bruno Haible  <bruno@clisp.org>
166
167         Improve *printf warning condition.
168         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
169         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
170         and the function is overridden due to SIGPIPE emulation.
171
172 2010-02-20  Bruno Haible  <bruno@clisp.org>
173
174         * lib/stdio.in.h: Tweak comments.
175
176 2010-02-19  Bruno Haible  <bruno@clisp.org>
177
178         Make it easier to find modules. New gnulib-tool option '--find'.
179         * gnulib-tool: New option --find.
180         (func_usage): Document it.
181         (func_sanitize_modulelist): New function, extracted from
182         func_all_modules.
183         (func_all_modules): Invoke it.
184         * doc/gnulib-tool.texi (Which modules?): New node.
185
186 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
187
188         * lib/sys_select.in.h: Provide select replacement even if
189         sys/select.h exists on a system, for Interix.
190
191 2010-02-18  Jim Meyering  <meyering@redhat.com>
192
193         init.sh: don't use $(...) just yet
194         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
195         to accommodate e.g., Solaris' /bin/sh.
196
197 2010-02-17  Bruno Haible  <bruno@clisp.org>
198
199         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
200         Reported by Ludovic Courtès <ludo@gnu.org>.
201
202 2010-02-16  Simon Josefsson  <simon@josefsson.org>
203
204         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
205         linking with -lintl.
206
207 2010-02-17  Simon Josefsson  <simon@josefsson.org>
208
209         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
210         if not provided by the system's netdb.h.  Reported by
211         ludo@gnu.org (Ludovic Courtès).
212
213 2010-02-15  Jim Meyering  <meyering@redhat.com>
214
215         init.sh: improve portability and efficiency
216         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
217         "dummy" in a for loop.
218         Use '!', not '^' to select the complement of a character set used
219         in a "case" statement.
220         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
221         Suggestions from Eric Blake.
222
223         init.sh: automatically accommodate programs with the .exe suffix
224         Automatically arrange for an invocation of "prog" to execute the
225         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
226         may use the simpler "prog", yet still work when built on a system
227         that requires specifying the added suffix.
228         Do this by constructing a function named "prog" that invokes
229         "prog.exe" for each .exe file in selected directories.
230         * tests/init.sh (find_exe_basenames_): New function.
231         (create_exe_shim_functions_): New function.
232         (path_prepend_): Use it.
233
234         maint.mk: mark syntax-check sc_*.m rules as .PHONY
235         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
236         "make -t syntax-check" doesn't create a ton of sc_*.m files.
237
238 2010-02-14  Jim Meyering  <meyering@redhat.com>
239
240         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
241         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
242         (sc_prohibit_hash_pjw_without_use): New rule.
243
244         maint.mk: allow the default upload destination dir to be overridden
245         * top/maint.mk (upload_dest_dir_): Define with a default that
246         preserves the status quo.
247         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
248         Reported by Peter Simons.
249
250         maint.mk: prohibit inclusion of "hash.h" without_use
251         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
252
253 2010-02-10  Jim Meyering  <meyering@redhat.com>
254
255         maint.mk: prohibit inclusion of "ignore-value.h" without_use
256         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
257
258 2010-02-09  Eric Blake  <ebb9@byu.net>
259         and Bruno Haible  <bruno@clisp.org>
260
261         obstack-printf-posix: ensure declaration
262         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
263         extracted from gl_FUNC_OBSTACK_PRINTF.
264         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
265         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
266         Likewise.
267         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
268         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
269         0.
270
271 2010-02-08  Bruno Haible  <bruno@clisp.org>
272
273         gnulib-tool: Fix typo in 2010-02-07 commit.
274         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
275         Reported by Eric Blake.
276
277 2010-02-07  Bruno Haible  <bruno@clisp.org>
278
279         gnulib-tool: Fix up caching patches.
280         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
281         option --no-cache. Use associative arrays when supported by the shell.
282         (sed_comments): New variable.
283         (modcache): Renamed from do_cache.
284         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
285         abbreviate unnecessarily.
286         (have_associative): New variable.
287         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
288         way also for ksh and zsh.
289         (func_init_sed_convert_to_cache_statements): New function, extracted
290         from func_cache_lookup_module. Add support for associative arrays.
291         Don't set the c_MODULE_cached variable here. Ignore all lines before
292         the first field header. Remove only the final newline, not all trailing
293         newlines. Support empty fields correctly. Limit the use of 'eval' to
294         assignments.
295         (func_get_description, func_get_status, func_get_notice,
296         func_get_applicability, func_get_filelist, func_get_dependencies,
297         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
298         func_get_automake_snippet, func_get_include_directive,
299         func_get_link_directive, func_get_license, func_get_maintainer):
300         Update documentation. List the unoptimized code first. Add support for
301         associative arrays. Limit the use of 'eval' to assignments.
302         (func_get_applicability): Undo stylistic pessimisations.
303         (func_get_automake_snippet, func_get_include_directive): Reduce code
304         duplication.
305         (func_modules_transitive_closure, func_modules_add_dummy,
306         func_modules_notice, func_modules_to_filelist, func_add_file,
307         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
308         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
309         func_create_testdir, func_create_megatestdir): Update documentation.
310
311 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
312
313         * gnulib-tool (func_cache_lookup_module): Store the module name
314         belonging to the cache variable; error out if two different
315         module names map to the same cache variable name.
316
317 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
318
319         gnulib-tool: Make caching optional.
320         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
321         Update matching short versions of --no-changelog.
322         (func_usage): Update.
323         (sed_extract_cache_prog): Renamed from ...
324         (sed_extract_prog): ... this; revert to old extraction script.
325         (func_get_description, func_get_status)
326         (func_get_notice, func_get_applicability, func_get_filelist)
327         (func_get_dependencies, func_get_autoconf_early_snippet)
328         (func_get_autoconf_snippet, func_get_automake_snippet)
329         (func_get_include_directive, func_get_link_directive)
330         (func_get_license, func_get_maintainer): If $do_cache is false,
331         use old, non-caching extraction scripts.
332         Suggestion by Bruno Haible.
333
334 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
335
336         gnulib-tool: cache module metainformation.
337         * gnulib-tool (sed_extract_prog): Match newline before each
338         header, and rewrite header to a shell variable suffix.
339         (func_cache_var, func_cache_lookup_module): New functions,
340         to turn a module name into a cache variable prefix, and to
341         look up and cache module metainformation.
342         (func_get_description, func_get_status)
343         (func_get_notice, func_get_applicability, func_get_filelist)
344         (func_get_dependencies, func_get_autoconf_early_snippet)
345         (func_get_autoconf_snippet, func_get_automake_snippet)
346         (func_get_include_directive, func_get_link_directive)
347         (func_get_license, func_get_maintainer): Use
348         func_cache_lookup_module.
349
350 2010-02-07  Bruno Haible  <bruno@clisp.org>
351
352         fnctl: Fix missing dependency.
353         * modules/fcntl (Depends-on): Add getdtablesize.
354         Reported by John W. Eaton <jwe@gnu.org>.
355
356 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
357
358         Argp: fix recognition of short alias options.
359
360         * lib/argp-parse.c (convert_options): Fix improper use of
361         `|' between character values.
362         * tests/test-argp.c (group1_option): New alias option
363         --read (-r).
364         (group1_parser): Special handling for 'r'.
365         (test15): New test case.
366         (test_fun): Add test15.
367         * tests/test-argp-2.sh: Update expected --help and --usage
368         outputs.
369
370 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
371
372         * tests/test-argp.c: Fix indentation.
373
374 2010-02-04  Eric Blake  <ebb9@byu.net>
375
376         gettimeofday: expose type of second argument
377         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
378         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
379         * tests/test-gettimeofday.c: Use it to silence warning.
380         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
381         the issue.
382
383 2010-02-03  Jim Meyering  <meyering@redhat.com>
384
385         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
386         * lib/regcomp.c (TYPE_SIGNED): Define.
387         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
388
389         regcomp.c: avoid a new -Wshadow warning
390         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
391
392 2010-02-01  Jim Meyering  <meyering@redhat.com>
393
394         removing useless parentheses in cpp #define directives
395         For motivation, see commit c0221df4, "define STREQ(a,b)
396         consistently, removing useless parentheses"
397         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
398         * lib/mountlist.c (MNT_IGNORE): Likewise.
399         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
400
401 2010-02-01  Eric Blake  <ebb9@byu.net>
402
403         sys_time: use link-warning
404         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
405         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
406         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
407         * modules/sys_time (Depends-on): Add warn-on-use.
408         (Makefile.am): Always build replacement.
409         (configure.ac): Update substitutions.
410         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
411         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
412         bother with SYS_TIME_H.
413         * modules/gettimeofday (configure.ac): Declare indicator.
414         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
415         in use.
416
417         closein-tests: silence compiler warning
418         * tests/test-closein.c (main): Ignore fread result.
419         * modules/closein-tests (Depends-on): Add ignore-value.
420
421         tests: silence warning about system return
422         * tests/test-areadlink-with-size.c (main): Ignore system result.
423         * tests/test-areadlink.c (main): Likewise.
424         * tests/test-areadlinkat-with-size.c (main): Likewise.
425         * tests/test-areadlinkat.c (main): Likewise.
426         * tests/test-canonicalize-lgpl.c (main): Likewise.
427         * tests/test-canonicalize.c (main): Likewise.
428         * tests/test-chown.c (main): Likewise.
429         * tests/test-fchownat.c (main): Likewise.
430         * tests/test-fdutimensat.c (main): Likewise.
431         * tests/test-fstatat.c (main): Likewise.
432         * tests/test-futimens.c (main): Likewise.
433         * tests/test-lchown.c (main): Likewise.
434         * tests/test-link.c (main): Likewise.
435         * tests/test-linkat.c (main): Likewise.
436         * tests/test-lstat.c (main): Likewise.
437         * tests/test-mkdir.c (main): Likewise.
438         * tests/test-mkdirat.c (main): Likewise.
439         * tests/test-mkfifo.c (main): Likewise.
440         * tests/test-mkfifoat.c (main): Likewise.
441         * tests/test-mknod.c (main): Likewise.
442         * tests/test-readlink.c (main): Likewise.
443         * tests/test-remove.c (main): Likewise.
444         * tests/test-rename.c (main): Likewise.
445         * tests/test-renameat.c (main): Likewise.
446         * tests/test-rmdir.c (main): Likewise.
447         * tests/test-symlink.c (main): Likewise.
448         * tests/test-symlinkat.c (main): Likewise.
449         * tests/test-unlink.c (main): Likewise.
450         * tests/test-unlinkat.c (main): Likewise.
451         * tests/test-utimens.c (main): Likewise.
452         * tests/test-utimensat.c (main): Likewise.
453         * modules/areadlink-tests (Depends-on): Add ignore-value.
454         * modules/areadlink-with-size-tests (Depends-on): Likewise.
455         * modules/areadlinkat-tests (Depends-on): Likewise.
456         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
457         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
458         * modules/canonicalize-tests (Depends-on): Likewise.
459         * modules/chown-tests (Depends-on): Likewise.
460         * modules/fdutimensat-tests (Depends-on): Likewise.
461         * modules/futimens-tests (Depends-on): Likewise.
462         * modules/lchown-tests (Depends-on): Likewise.
463         * modules/link-tests (Depends-on): Likewise.
464         * modules/linkat-tests (Depends-on): Likewise.
465         * modules/lstat-tests (Depends-on): Likewise.
466         * modules/mkdir-tests (Depends-on): Likewise.
467         * modules/mkfifo-tests (Depends-on): Likewise.
468         * modules/mkfifoat-tests (Depends-on): Likewise.
469         * modules/mknod-tests (Depends-on): Likewise.
470         * modules/openat-tests (Depends-on): Likewise.
471         * modules/readlink-tests (Depends-on): Likewise.
472         * modules/remove-tests (Depends-on): Likewise.
473         * modules/rename-tests (Depends-on): Likewise.
474         * modules/renameat-tests (Depends-on): Likewise.
475         * modules/rmdir-tests (Depends-on): Likewise.
476         * modules/symlink-tests (Depends-on): Likewise.
477         * modules/symlinkat-tests (Depends-on): Likewise.
478         * modules/unlink-tests (Depends-on): Likewise.
479         * modules/utimens-tests (Depends-on): Likewise.
480         * modules/utimensat-tests (Depends-on): Likewise.
481
482 2010-01-31  Bruno Haible  <bruno@clisp.org>
483
484         Perform the same test for many <math.h> functions.
485         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
486         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
487         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
488         of gl_MATHFUNC.
489         * modules/acos (configure.ac): Likewise.
490         * modules/asin (configure.ac): Likewise.
491         * modules/atan (configure.ac): Likewise.
492         * modules/atan2 (configure.ac): Likewise.
493         * modules/cbrt (configure.ac): Likewise.
494         * modules/copysign (configure.ac): Likewise.
495         * modules/cos (configure.ac): Likewise.
496         * modules/cosh (configure.ac): Likewise.
497         * modules/erf (configure.ac): Likewise.
498         * modules/erfc (configure.ac): Likewise.
499         * modules/exp (configure.ac): Likewise.
500         * modules/fmod (configure.ac): Likewise.
501         * modules/hypot (configure.ac): Likewise.
502         * modules/j0 (configure.ac): Likewise.
503         * modules/j1 (configure.ac): Likewise.
504         * modules/jn (configure.ac): Likewise.
505         * modules/lgamma (configure.ac): Likewise.
506         * modules/log (configure.ac): Likewise.
507         * modules/log10 (configure.ac): Likewise.
508         * modules/log1p (configure.ac): Likewise.
509         * modules/pow (configure.ac): Likewise.
510         * modules/remainder (configure.ac): Likewise.
511         * modules/sin (configure.ac): Likewise.
512         * modules/sinh (configure.ac): Likewise.
513         * modules/tan (configure.ac): Likewise.
514         * modules/tanh (configure.ac): Likewise.
515         * modules/y0 (configure.ac): Likewise.
516         * modules/y1 (configure.ac): Likewise.
517         * modules/yn (configure.ac): Likewise.
518         Suggested by Paolo Bonzini.
519
520 2010-01-31  Bruno Haible  <bruno@clisp.org>
521
522         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
523
524 2010-01-31  Bruno Haible  <bruno@clisp.org>
525
526         Work around getdelim() bug on FreeBSD 8.0.
527         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
528         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
529         not work.
530         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
531         is 1.
532         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
533         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
534         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
535         a non-zero size.
536         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
537
538 2010-01-31  Bruno Haible  <bruno@clisp.org>
539
540         Work around getline() bug on FreeBSD 8.0.
541         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
542         and a non-zero size.
543         * tests/test-getline.c (main): Likewise.
544         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
545         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
546
547 2010-01-28  Eric Blake  <ebb9@byu.net>
548
549         regex: fix build failure
550         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
551         platforms.
552
553 2010-01-28  Jim Meyering  <meyering@redhat.com>
554
555         regex: do not ignore memory allocation failure
556         * lib/regex_internal.c (create_cd_newstate): Detect
557         re_node_set_init_copy failure.   Extracted from glibc commit
558         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
559
560         regex: sync more white-space changes from libc
561         * lib/regex_internal.c: White-space only changes.
562         * lib/regexec.c: Likewise.
563
564         regex: add many uses of __attribute_warn_unused_result__
565         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
566         * lib/regexec.c: Likewise.
567         Extracted from a messy glibc commit.
568
569         regcomp.c: spelling and merge-artifact from glibc
570         * lib/regcomp.c: Merge remainder of glibc's
571         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
572
573         regcomp.c: sync white-space changes from glibc
574         * lib/regcomp.c: Merge to accommodate white space
575         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
576
577         regcomp.c: do not ignore internal return values
578         * lib/regcomp.c: Do not ignore internal return values.
579         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
580         but without its white-space changes and spelling fixes.
581
582         regex_internal.h: define __attribute_warn_unused_result__
583         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
584
585         maint: add a syntax-check rule to check for vulnerable Makefile.in
586         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
587
588 2010-01-27  Jim Meyering  <meyering@redhat.com>
589
590         ncftpput-ftp: clean up spaces
591         * build-aux/ncftpput-ftp: Make Copyright line consistent.
592         Remove trailing blanks.
593
594 2010-01-27  Simon Josefsson  <simon@josefsson.org>
595
596         * build-aux/git-version-gen: Fix copyright statement.
597         * build-aux/gnupload: Likewise.
598         * tests/test-arcfour.c: Likewise.
599         * tests/test-arctwo.c: Likewise.
600         * tests/test-count-one-bits.c: Likewise.
601         * tests/test-crc.c: Likewise.
602         * tests/test-des.c: Likewise.
603         * tests/test-gc-arcfour.c: Likewise.
604         * tests/test-gc-arctwo.c: Likewise.
605         * tests/test-gc-des.c: Likewise.
606         * tests/test-gc-hmac-md5.c: Likewise.
607         * tests/test-gc-hmac-sha1.c: Likewise.
608         * tests/test-gc-md2.c: Likewise.
609         * tests/test-gc-md4.c: Likewise.
610         * tests/test-gc-md5.c: Likewise.
611         * tests/test-gc-pbkdf2-sha1.c: Likewise.
612         * tests/test-gc-rijndael.c: Likewise.
613         * tests/test-gc-sha1.c: Likewise.
614         * tests/test-gc.c: Likewise.
615         * tests/test-gethostname.c: Likewise.
616         * tests/test-gettimeofday.c: Likewise.
617         * tests/test-hash.c: Likewise.
618         * tests/test-hmac-md5.c: Likewise.
619         * tests/test-hmac-sha1.c: Likewise.
620         * tests/test-md2.c: Likewise.
621         * tests/test-md4.c: Likewise.
622         * tests/test-md5.c: Likewise.
623         * tests/test-memchr.c: Likewise.
624         * tests/test-memchr2.c: Likewise.
625         * tests/test-memcmp.c: Likewise.
626         * tests/test-memmem.c: Likewise.
627         * tests/test-memrchr.c: Likewise.
628         * tests/test-rawmemchr.c: Likewise.
629         * tests/test-read-file.c: Likewise.
630         * tests/test-rijndael.c: Likewise.
631         * tests/test-sockets.c: Likewise.
632         * tests/test-strchrnul.c: Likewise.
633         * tests/test-strstr.c: Likewise.
634         * tests/test-strtod.c: Likewise.
635         * build-aux/ncftpput-ftp: Likewise.
636
637 2010-01-26  Eric Blake  <ebb9@byu.net>
638
639         ignore-value: update recommended header name
640         * modules/ignore-value (Include): Only use <> for headers that
641         exist in glibc.
642
643 2010-01-26  Jim Meyering  <meyering@redhat.com>
644
645         test-userspec.c: avoid compiler warnings
646         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
647         and "initialization discards qualifiers..." warnings.
648         Put the first "uid" in its own scope, and make char* members "const".
649
650 2010-01-25  Bruno Haible  <bruno@clisp.org>
651
652         gnulib-tool: Make warning diagnostics consistent.
653         * gnulib-tool (func_warning): New function.
654         Use it everywhere where gnulib-tool produces output to stderr and it is
655         not a fatal error.
656
657 2010-01-25  Bruno Haible  <bruno@clisp.org>
658
659         Fix test dependencies.
660         * modules/xstrtol-tests (Depends-on): Add inttypes.
661         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
662
663 2010-01-25 Pádraig Brady <P@draigBrady.com>
664
665         syntax-check: detect incorrect boolean macro values in config.h
666         * modules/maintainer-makefile (configure.ac): Parameterize the location
667         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
668         The logic is from Eric Blake and the location indicated by Jim Meyering.
669         Note the more natural CONFIG_HEADER name is prohibited by automake
670         for backwards compatibility reasons.
671         * top/maint.mk (sc_Wundef_boolean): New rule.
672
673 2010-01-25  Jim Meyering  <meyering@redhat.com>
674
675         bootstrap: detect MacOS 10.6's shasum, too
676         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
677         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
678
679 2010-01-23  Jim Meyering  <meyering@redhat.com>
680
681         xstrtoll: new module
682         * modules/xstrtoll: New file.
683         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
684         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
685         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
686         ./configure fails if you use this module and lack "long long".
687         * modules/xstrtoll-tests: New module.
688         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
689         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
690         new init.sh-based test framework.
691
692 2010-01-24  Bruno Haible  <bruno@clisp.org>
693
694         Tests for module 'yn'.
695         * modules/yn-tests: New file.
696         * tests/test-yn.c: New file.
697
698         Tests for module 'y1'.
699         * modules/y1-tests: New file.
700         * tests/test-y1.c: New file.
701
702         Tests for module 'y0'.
703         * modules/y0-tests: New file.
704         * tests/test-y0.c: New file.
705
706         Tests for module 'tanh'.
707         * modules/tanh-tests: New file.
708         * tests/test-tanh.c: New file.
709
710         Tests for module 'tan'.
711         * modules/tan-tests: New file.
712         * tests/test-tan.c: New file.
713
714         Tests for module 'sqrt'.
715         * modules/sqrt-tests: New file.
716         * tests/test-sqrt.c: New file.
717
718         Tests for module 'sinh'.
719         * modules/sinh-tests: New file.
720         * tests/test-sinh.c: New file.
721
722         Tests for module 'sin'.
723         * modules/sin-tests: New file.
724         * tests/test-sin.c: New file.
725
726         Tests for module 'rint'.
727         * modules/rint-tests: New file.
728         * tests/test-rint.c: New file.
729
730         Tests for module 'remainder'.
731         * modules/remainder-tests: New file.
732         * tests/test-remainder.c: New file.
733
734         Tests for module 'pow'.
735         * modules/pow-tests: New file.
736         * tests/test-pow.c: New file.
737
738         Tests for module 'nextafter'.
739         * modules/nextafter-tests: New file.
740         * tests/test-nextafter.c: New file.
741
742         Tests for module 'modf'.
743         * modules/modf-tests: New file.
744         * tests/test-modf.c: New file.
745
746         Tests for module 'logb'.
747         * modules/logb-tests: New file.
748         * tests/test-logb.c: New file.
749
750         Tests for module 'log1p'.
751         * modules/log1p-tests: New file.
752         * tests/test-log1p.c: New file.
753
754         Tests for module 'log10'.
755         * modules/log10-tests: New file.
756         * tests/test-log10.c: New file.
757
758         Tests for module 'log'.
759         * modules/log-tests: New file.
760         * tests/test-log.c: New file.
761
762         Tests for module 'lgamma'.
763         * modules/lgamma-tests: New file.
764         * tests/test-lgamma.c: New file.
765
766         Tests for module 'ldexp'.
767         * modules/ldexp-tests: New file.
768         * tests/test-ldexp.c: New file.
769
770         Tests for module 'jn'.
771         * modules/jn-tests: New file.
772         * tests/test-jn.c: New file.
773
774         Tests for module 'j1'.
775         * modules/j1-tests: New file.
776         * tests/test-j1.c: New file.
777
778         Tests for module 'j0'.
779         * modules/j0-tests: New file.
780         * tests/test-j0.c: New file.
781
782         Tests for module 'hypot'.
783         * modules/hypot-tests: New file.
784         * tests/test-hypot.c: New file.
785
786         Tests for module 'fmod'.
787         * modules/fmod-tests: New file.
788         * tests/test-fmod.c: New file.
789
790         Tests for module 'fabs'.
791         * modules/fabs-tests: New file.
792         * tests/test-fabs.c: New file.
793
794         Tests for module 'exp'.
795         * modules/exp-tests: New file.
796         * tests/test-exp.c: New file.
797
798         Tests for module 'erfc'.
799         * modules/erfc-tests: New file.
800         * tests/test-erfc.c: New file.
801
802         Tests for module 'erf'.
803         * modules/erf-tests: New file.
804         * tests/test-erf.c: New file.
805
806         Tests for module 'cosh'.
807         * modules/cosh-tests: New file.
808         * tests/test-cosh.c: New file.
809
810         Tests for module 'cos'.
811         * modules/cos-tests: New file.
812         * tests/test-cos.c: New file.
813
814         Tests for module 'copysign'.
815         * modules/copysign-tests: New file.
816         * tests/test-copysign.c: New file.
817
818         Tests for module 'cbrt'.
819         * modules/cbrt-tests: New file.
820         * tests/test-cbrt.c: New file.
821
822         Tests for module 'atan2'.
823         * modules/atan2-tests: New file.
824         * tests/test-atan2.c: New file.
825
826         Tests for module 'atan'.
827         * modules/atan-tests: New file.
828         * tests/test-atan.c: New file.
829
830         Tests for module 'asin'.
831         * modules/asin-tests: New file.
832         * tests/test-asin.c: New file.
833
834         Tests for module 'acos'.
835         * modules/acos-tests: New file.
836         * tests/test-acos.c: New file.
837
838 2010-01-24  Bruno Haible  <bruno@clisp.org>
839
840         Fix tests for common <math.h> functions.
841         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
842         code snippet that references the function pointer, rather than merely
843         calling the function. Substitute the FUNC_LIBM variable.
844         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
845         * modules/acos (configure.ac): Likewise.
846         * modules/asin (configure.ac): Likewise.
847         * modules/atan (configure.ac): Likewise.
848         * modules/atan2 (configure.ac): Likewise.
849         * modules/cbrt (configure.ac): Likewise.
850         * modules/copysign (configure.ac): Likewise.
851         * modules/cos (configure.ac): Likewise.
852         * modules/cosh (configure.ac): Likewise.
853         * modules/erf (configure.ac): Likewise.
854         * modules/erfc (configure.ac): Likewise.
855         * modules/exp (configure.ac): Likewise.
856         * modules/fabs (configure.ac): Likewise.
857         * modules/fmod (configure.ac): Likewise.
858         * modules/hypot (configure.ac): Likewise.
859         * modules/j0 (configure.ac): Likewise.
860         * modules/j1 (configure.ac): Likewise.
861         * modules/jn (configure.ac): Likewise.
862         * modules/ldexp (configure.ac): Likewise.
863         * modules/lgamma (configure.ac): Likewise.
864         * modules/log (configure.ac): Likewise.
865         * modules/log10 (configure.ac): Likewise.
866         * modules/log1p (configure.ac): Likewise.
867         * modules/logb (configure.ac): Likewise.
868         * modules/modf (configure.ac): Likewise.
869         * modules/nextafter (configure.ac): Likewise.
870         * modules/pow (configure.ac): Likewise.
871         * modules/remainder (configure.ac): Likewise.
872         * modules/rint (configure.ac): Likewise.
873         * modules/sin (configure.ac): Likewise.
874         * modules/sinh (configure.ac): Likewise.
875         * modules/tan (configure.ac): Likewise.
876         * modules/tanh (configure.ac): Likewise.
877         * modules/y0 (configure.ac): Likewise.
878         * modules/y1 (configure.ac): Likewise.
879         * modules/yn (configure.ac): Likewise.
880
881 2010-01-24  Bruno Haible  <bruno@clisp.org>
882
883         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
884         * tests/test-acosl.c (x): New variable.
885         (main): Store argument in x and fetch it from x.
886         * tests/test-asinl.c (x): New variable.
887         (main): Store argument in x and fetch it from x.
888         * tests/test-atanl.c (x): New variable.
889         (main): Store argument in x and fetch it from x.
890         * tests/test-cosl.c (x): New variable.
891         (main): Store argument in x and fetch it from x.
892         * tests/test-expl.c (x): New variable.
893         (main): Store argument in x and fetch it from x.
894         * tests/test-logl.c (x): New variable.
895         (main): Store argument in x and fetch it from x.
896         * tests/test-sinl.c (x): New variable.
897         (main): Store argument in x and fetch it from x.
898         * tests/test-sqrtl.c (x): New variable.
899         (main): Store argument in x and fetch it from x.
900         * tests/test-tanl.c (x): New variable.
901         (main): Store argument in x and fetch it from x.
902
903 2010-01-24  Bruno Haible  <bruno@clisp.org>
904
905         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
906         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
907         assignments to the initial TESTS_ENVIRONMENT.
908         * doc/gnulib.texi (Unit test modules): Document it.
909         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
910         TESTS_ENVIRONMENT.
911         * modules/btowc-tests (Makefile.am): Likewise.
912         * modules/c-stack-tests (Makefile.am): Likewise.
913         * modules/c-strcase-tests (Makefile.am): Likewise.
914         * modules/copy-file-tests (Makefile.am): Likewise.
915         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
916         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
917         * modules/mbrtowc-tests (Makefile.am): Likewise.
918         * modules/mbscasecmp-tests (Makefile.am): Likewise.
919         * modules/mbscasestr-tests (Makefile.am): Likewise.
920         * modules/mbschr-tests (Makefile.am): Likewise.
921         * modules/mbscspn-tests (Makefile.am): Likewise.
922         * modules/mbsinit-tests (Makefile.am): Likewise.
923         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
924         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
925         * modules/mbspbrk-tests (Makefile.am): Likewise.
926         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
927         * modules/mbsrchr-tests (Makefile.am): Likewise.
928         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
929         * modules/mbsspn-tests (Makefile.am): Likewise.
930         * modules/mbsstr-tests (Makefile.am): Likewise.
931         * modules/nl_langinfo-tests (Makefile.am): Likewise.
932         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
933         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
934         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
935         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
936         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
937         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
938         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
939         * modules/wcrtomb-tests (Makefile.am): Likewise.
940         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
941         * modules/wcsrtombs-tests (Makefile.am): Likewise.
942         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
943         assignments from TESTS_ENVIRONMENT.
944         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
945         augmentation.
946         * modules/argp-version-etc-tests (Makefile.am): Likewise.
947         * modules/atexit-tests (Makefile.am): Likewise.
948         * modules/binary-io-tests (Makefile.am): Likewise.
949         * modules/closein-tests (Makefile.am): Likewise.
950         * modules/dprintf-posix-tests (Makefile.am): Likewise.
951         * modules/exclude-tests (Makefile.am): Likewise.
952         * modules/fflush-tests (Makefile.am): Likewise.
953         * modules/fpending-tests (Makefile.am): Likewise.
954         * modules/fprintf-posix-tests (Makefile.am): Likewise.
955         * modules/freadahead-tests (Makefile.am): Likewise.
956         * modules/freadptr-tests (Makefile.am): Likewise.
957         * modules/freadseek-tests (Makefile.am): Likewise.
958         * modules/fseek-tests (Makefile.am): Likewise.
959         * modules/fseeko-tests (Makefile.am): Likewise.
960         * modules/ftell-tests (Makefile.am): Likewise.
961         * modules/ftello-tests (Makefile.am): Likewise.
962         * modules/idpriv-drop-tests (Makefile.am): Likewise.
963         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
964         * modules/lseek-tests (Makefile.am): Likewise.
965         * modules/parse-duration-tests (Makefile.am): Likewise.
966         * modules/perror-tests (Makefile.am): Likewise.
967         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
968         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
969         * modules/pipe-tests (Makefile.am): Likewise.
970         * modules/pread-tests (Makefile.am): Likewise.
971         * modules/printf-posix-tests (Makefile.am): Likewise.
972         * modules/select-tests (Makefile.am): Likewise.
973         * modules/sigpipe-tests (Makefile.am): Likewise.
974         * modules/tsearch-tests (Makefile.am): Likewise.
975         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
976         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
977         * modules/uniname/uniname-tests (Makefile.am): Likewise.
978         * modules/uniwidth/width-tests (Makefile.am): Likewise.
979         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
980         * modules/version-etc-tests (Makefile.am): Likewise.
981         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
982         * modules/vprintf-posix-tests (Makefile.am): Likewise.
983         * modules/xalloc-die-tests (Makefile.am): Likewise.
984         * modules/xprintf-posix-tests (Makefile.am): Likewise.
985         * modules/xstrtoimax-tests (Makefile.am): Likewise.
986         * modules/xstrtol-tests (Makefile.am): Likewise.
987         * modules/xstrtoumax-tests (Makefile.am): Likewise.
988         * modules/yesno-tests (Makefile.am): Likewise.
989         Suggested by Jim Meyering.
990
991 2010-01-24  Bruno Haible  <bruno@clisp.org>
992
993         More documentation.
994         * doc/gnulib.texi (Writing modules): New chapter.
995         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
996         the new chapter.
997
998 2010-01-24  Jim Meyering  <meyering@redhat.com>
999
1000         maint.mk: do not prepend "./" after filtering
1001         * top/maint.mk (_prepend_srcdir_prefix): New variable
1002         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
1003         "./" when $(srcdir) is ".".
1004
1005         define STREQ(a,b) consistently, removing useless parentheses
1006         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
1007         since the only risk is that "a" or "b" contains an unparenthesized
1008         comma, but if either did that, STREQ would have 3 or more arguments.
1009         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
1010         * lib/fts.c (STREQ): Remove unnecessary parentheses.
1011         * lib/hash-triple.c (STREQ): Likewise.
1012         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
1013         * lib/getugroups.c (STREQ): Likewise.
1014
1015 2010-01-23  Jim Meyering  <meyering@redhat.com>
1016
1017         maint.mk: fix syntax-check in a non-srcdir build directory
1018         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
1019         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
1020
1021 2010-01-22  Jim Meyering  <meyering@redhat.com>
1022
1023         userspec: add unit tests
1024         * tests/test-userspec.c: New file.
1025         * modules/userspec-tests: Likewise.
1026
1027 2010-01-21  Jim Meyering  <meyering@redhat.com>
1028
1029         maint.mk: handle source file names containing "." robustly
1030         * top/maint.mk (_dot_escaped_srcdir): Define.
1031         (VC_LIST): Use it in LHS of sed substitution.
1032
1033 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
1034
1035         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
1036         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
1037         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
1038         from a non-srcdir build.
1039
1040 2010-01-20  Eric Blake  <ebb9@byu.net>
1041
1042         warn-on-use: use instead of link-warning
1043         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
1044         * modules/unistd (Depends-on, Makefile.am): Likewise.
1045         * modules/arpa_inet (Depends-on): Replace link-warning with
1046         warn-on-use.
1047         (Makefile.am): Update rules accordingly.
1048         * modules/ctype (Depends-on, Makefile.am): Likewise.
1049         * modules/dirent (Depends-on, Makefile.am): Likewise.
1050         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
1051         * modules/inttypes (Depends-on, Makefile.am): Likewise.
1052         * modules/langinfo (Depends-on, Makefile.am): Likewise.
1053         * modules/locale (Depends-on, Makefile.am): Likewise.
1054         * modules/math (Depends-on, Makefile.am): Likewise.
1055         * modules/search (Depends-on, Makefile.am): Likewise.
1056         * modules/signal (Depends-on, Makefile.am): Likewise.
1057         * modules/spawn (Depends-on, Makefile.am): Likewise.
1058         * modules/stdlib (Depends-on, Makefile.am): Likewise.
1059         * modules/string (Depends-on, Makefile.am): Likewise.
1060         * modules/strings (Depends-on, Makefile.am): Likewise.
1061         * modules/sys_file (Depends-on, Makefile.am): Likewise.
1062         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
1063         * modules/sys_select (Depends-on, Makefile.am): Likewise.
1064         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
1065         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
1066         * modules/sys_times (Depends-on, Makefile.am): Likewise.
1067         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
1068         * modules/wchar (Depends-on, Makefile.am): Likewise.
1069         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
1070         should be poisoned.
1071         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
1072         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
1073         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
1074         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
1075         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
1076         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
1077         * m4/math_h.m4 (gl_MATH_H): Likewise.
1078         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
1079         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
1080         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
1081         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
1082         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
1083         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
1084         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
1085         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
1086         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
1087         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
1088         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
1089         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
1090         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
1091         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
1092         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1093         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
1094         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
1095         GL_LINK_WARNING.
1096         * lib/ctype.in.h: Likewise.
1097         * lib/dirent.in.h: Likewise.
1098         * lib/fcntl.in.h: Likewise.
1099         * lib/inttypes.in.h: Likewise.
1100         * lib/langinfo.in.h: Likewise.
1101         * lib/locale.in.h: Likewise.
1102         * lib/math.in.h: Likewise.
1103         * lib/search.in.h: Likewise.
1104         * lib/signal.in.h: Likewise.
1105         * lib/spawn.in.h: Likewise.
1106         * lib/stdio.in.h: Likewise.
1107         * lib/stdlib.in.h: Likewise.
1108         * lib/string.in.h: Likewise.
1109         * lib/strings.in.h: Likewise.
1110         * lib/sys_file.in.h: Likewise.
1111         * lib/sys_ioctl.in.h: Likewise.
1112         * lib/sys_select.in.h: Likewise.
1113         * lib/sys_socket.in.h: Likewise.
1114         * lib/sys_stat.in.h: Likewise.
1115         * lib/sys_times.in.h: Likewise.
1116         * lib/sys_utsname.in.h: Likewise.
1117         * lib/unistd.in.h: Likewise.
1118         * lib/wchar.in.h: Likewise.
1119
1120 2010-01-20  Bruno Haible  <bruno@clisp.org>
1121
1122         Avoid duplicate -lm.
1123         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
1124         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
1125         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
1126         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
1127         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
1128         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
1129         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
1130         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
1131         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
1132         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
1133         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
1134         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
1135         Reported by Paolo Bonzini.
1136
1137 2010-01-19  Bruno Haible  <bruno@clisp.org>
1138
1139         langinfo, nl_langinfo: Relicense under LGPLv2+.
1140         * modules/langinfo (License): Change to LGPLv2+.
1141         * modules/nl_langinfo (License): Likewise.
1142         Patch by David Lutterkort <lutter@redhat.com>.
1143
1144 2010-01-19  Bruno Haible  <bruno@clisp.org>
1145
1146         Avoid compilation error with cc on OSF/1 5.1.
1147         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
1148         statement, not before.
1149         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1150
1151 2010-01-18  Bruno Haible  <bruno@clisp.org>
1152
1153         Avoid a link error due to the __printf__ symbol.
1154         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
1155         and 2.6.x.
1156         (__format__, __printf__): Remove definitions.
1157         * lib/argp-fmtstream.h: Likewise.
1158         * lib/argp.h: Likewise.
1159         * lib/error.h: Likewise.
1160         * lib/vasnprintf.h: Likewise.
1161         * lib/xprintf.h: Likewise.
1162         * lib/xvasprintf.h: Likewise.
1163         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1164
1165 2010-01-18  Bruno Haible  <bruno@clisp.org>
1166
1167         Tests for module 'tanl'.
1168         * modules/tanl-tests: New file.
1169         * tests/test-tanl.c: New file.
1170
1171         Tests for module 'sqrtl'.
1172         * modules/sqrtl-tests: New file.
1173         * tests/test-sqrtl.c: New file.
1174
1175         Tests for module 'sinl'.
1176         * modules/sinl-tests: New file.
1177         * tests/test-sinl.c: New file.
1178
1179         Tests for module 'logl'.
1180         * modules/logl-tests: New file.
1181         * tests/test-logl.c: New file.
1182
1183         Tests for module 'expl'.
1184         * modules/expl-tests: New file.
1185         * tests/test-expl.c: New file.
1186
1187         Tests for module 'cosl'.
1188         * modules/cosl-tests: New file.
1189         * tests/test-cosl.c: New file.
1190
1191         Tests for module 'atanl'.
1192         * modules/atanl-tests: New file.
1193         * tests/test-atanl.c: New file.
1194
1195         Tests for module 'asinl'.
1196         * modules/asinl-tests: New file.
1197         * tests/test-asinl.c: New file.
1198
1199         Tests for module 'acosl'.
1200         * modules/acosl-tests: New file.
1201         * tests/test-acosl.c: New file.
1202
1203         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
1204         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
1205         tanl): Use the standard gnulib idiom.
1206         * lib/cosl.c: Don't include trigl.c and sincosl.c.
1207         * lib/sinl.c: Likewise.
1208         * lib/tanl.c: Don't include trigl.c.
1209         (kernel_tanl): Make static.
1210         * lib/sincosl.c: Include trigl.h first.
1211         * lib/trigl.c: Likewise.
1212         * m4/acosl.m4: New file.
1213         * m4/asinl.m4: New file.
1214         * m4/atanl.m4: New file.
1215         * m4/cosl.m4: New file.
1216         * m4/expl.m4: New file.
1217         * m4/logl.m4: New file.
1218         * m4/sinl.m4: New file.
1219         * m4/sqrtl.m4: New file.
1220         * m4/tanl.m4: New file.
1221         * m4/mathl.m4: Remove file.
1222         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
1223         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
1224         Don't initialize GNULIB_MATHL.
1225         * modules/acosl: New file.
1226         * modules/asinl: New file.
1227         * modules/atanl: New file.
1228         * modules/cosl: New file.
1229         * modules/expl: New file.
1230         * modules/logl: New file.
1231         * modules/sinl: New file.
1232         * modules/sqrtl: New file.
1233         * modules/tanl: New file.
1234         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
1235         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
1236         substitute GNULIB_MATHL.
1237         * modules/mathl: Rewritten.
1238         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
1239         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
1240         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
1241         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
1242         * doc/posix-functions/expl.texi: Mention the 'expl' module.
1243         * doc/posix-functions/logl.texi: Mention the 'logl' module.
1244         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
1245         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
1246         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
1247
1248 2010-01-18  Bruno Haible  <bruno@clisp.org>
1249
1250         sqrt: Make gl_FUNC_SQRT requirable.
1251         * m4/sqrt.m4: New file.
1252         * modules/sqrt (Files): Add it.
1253         (configure.ac): Invoke gl_FUNC_SQRT.
1254
1255 2010-01-18  Bruno Haible  <bruno@clisp.org>
1256
1257         New modules for common <math.h> functions.
1258         * m4/mathfunc.m4: New file.
1259         * modules/acos: New file.
1260         * modules/asin: New file.
1261         * modules/atan: New file.
1262         * modules/atan2: New file.
1263         * modules/cbrt: New file.
1264         * modules/copysign: New file.
1265         * modules/cos: New file.
1266         * modules/cosh: New file.
1267         * modules/erf: New file.
1268         * modules/erfc: New file.
1269         * modules/exp: New file.
1270         * modules/fabs: New file.
1271         * modules/fmod: New file.
1272         * modules/hypot: New file.
1273         * modules/j0: New file.
1274         * modules/j1: New file.
1275         * modules/jn: New file.
1276         * modules/ldexp: New file.
1277         * modules/lgamma: New file.
1278         * modules/log: New file.
1279         * modules/log10: New file.
1280         * modules/log1p: New file.
1281         * modules/logb: New file.
1282         * modules/modf: New file.
1283         * modules/nextafter: New file.
1284         * modules/pow: New file.
1285         * modules/remainder: New file.
1286         * modules/rint: New file.
1287         * modules/sin: New file.
1288         * modules/sinh: New file.
1289         * modules/sqrt: New file.
1290         * modules/tan: New file.
1291         * modules/tanh: New file.
1292         * modules/y0: New file.
1293         * modules/y1: New file.
1294         * modules/yn: New file.
1295         * doc/posix-functions/acos.texi: Mention the 'acos' module.
1296         * doc/posix-functions/asin.texi: Mention the 'asin' module.
1297         * doc/posix-functions/atan.texi: Mention the 'atan' module.
1298         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
1299         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
1300         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
1301         * doc/posix-functions/cos.texi: Mention the 'cos' module.
1302         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
1303         * doc/posix-functions/erf.texi: Mention the 'erf' module.
1304         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
1305         * doc/posix-functions/exp.texi: Mention the 'exp' module.
1306         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
1307         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
1308         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
1309         * doc/posix-functions/j0.texi: Mention the 'j0' module.
1310         * doc/posix-functions/j1.texi: Mention the 'j1' module.
1311         * doc/posix-functions/jn.texi: Mention the 'jn' module.
1312         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
1313         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
1314         * doc/posix-functions/log.texi: Mention the 'log' module.
1315         * doc/posix-functions/log10.texi: Mention the 'log10' module.
1316         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
1317         * doc/posix-functions/logb.texi: Mention the 'logb' module.
1318         * doc/posix-functions/modf.texi: Mention the 'modf' module.
1319         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
1320         * doc/posix-functions/pow.texi: Mention the 'pow' module.
1321         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
1322         * doc/posix-functions/rint.texi: Mention the 'rint' module.
1323         * doc/posix-functions/sin.texi: Mention the 'sin' module.
1324         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
1325         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
1326         * doc/posix-functions/tan.texi: Mention the 'tan' module.
1327         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
1328         * doc/posix-functions/y0.texi: Mention the 'y0' module.
1329         * doc/posix-functions/y1.texi: Mention the 'y1' module.
1330         * doc/posix-functions/yn.texi: Mention the 'yn' module.
1331
1332 2010-01-18  Jim Meyering  <meyering@redhat.com>
1333
1334         ignore-value: relax license to LGPLv2+
1335         * modules/ignore-value (License): Relax to LGPLv2+.
1336
1337         getdate: don't leak when TZ contains two or more '"'s
1338         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
1339         double quote in TZ after the first one.
1340
1341         readtokens: do not leak internal token_lengths buffer
1342         * lib/readtokens.c (readtokens): Free the local, lengths,
1343         when the supplied "token_lengths" parameter is NULL.
1344
1345 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1346
1347         Fix a couple of missing LIBTHREAD link failures on AIX.
1348         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
1349         $(LIBTHREAD).
1350         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
1351
1352         Link test-poll against INET_PTON_LIB.
1353         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
1354         for inet_pton on Solaris 10.
1355
1356 2010-01-17  Bruno Haible  <bruno@clisp.org>
1357
1358         unistdio/*-sprintf: Fix typo in module description.
1359         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
1360         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
1361         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
1362         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
1363         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
1364         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
1365         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
1366         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1367
1368 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1369
1370         gnulib-tool: fix filelist for AIX, HP-UX ksh.
1371         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
1372         variables in shell case patterns, for AIX and HP-UX ksh.
1373
1374         Split large sed scripts, for HP-UX sed.
1375         * modules/stdio: Split sed scripts around 50 sed commands,
1376         to avoid HP-UX limit of 99 commands, in the near future.
1377         * modules/string: Likewise.
1378         * modules/unistd: Likewise.
1379
1380         gnulib-tool: avoid writing in the current directory.
1381         * gnulib-tool (func_emit_lib_Makefile_am)
1382         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
1383         not in the current directory, so concurrent gnulib-tool
1384         instances do not interfere.
1385
1386 2010-01-16  Jim Meyering  <meyering@redhat.com>
1387
1388         doc: update users.txt
1389         * users.txt: Add grep.
1390         (diffutils, gzip): Update URLs.
1391
1392 2010-01-12  Bruno Haible  <bruno@clisp.org>
1393
1394         posix_spawn: Avoid test failure on Cygwin.
1395         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
1396         characters.
1397         Reported by Simon Josefsson.
1398
1399 2010-01-12  Bruno Haible  <bruno@clisp.org>
1400
1401         * tests/test-cond.c (main): When skipping the test, show the reason.
1402
1403 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1404
1405         * lib/striconv.c (str_cd_iconv): Avoid if before free.
1406
1407 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1408
1409         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
1410         VC_LIST_ALWAYS_EXCLUDE_REGEX.
1411
1412 2010-01-12  Eric Blake  <ebb9@byu.net>
1413
1414         build: guarantee AS_VAR_IF
1415         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
1416         (gl_AS_VAR_IF): Move...
1417         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
1418         Reported by Simon Josefsson.
1419
1420 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1421
1422         * lib/stdio.in.h: Fix typo.
1423
1424 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1425
1426         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
1427         libgpg-error.
1428
1429 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1430
1431         * tests/test-xalloc-die.sh: Use $EXEEXT.
1432
1433 2010-01-12  Simon Josefsson  <simon@josefsson.org>
1434             Bruno Haible  <bruno@clisp.org>
1435
1436         getlogin, getlogin_r: Avoid test failure.
1437         * tests/test-getlogin.c: Include <stdio.h>.
1438         (main): Skip the test when the function fails because stdin is not a
1439         tty.
1440         * tests/test-getlogin_r.c: Include <stdio.h>.
1441         (main): Skip the test when the function fails because stdin is not a
1442         tty.
1443
1444 2010-01-11  Eric Blake  <ebb9@byu.net>
1445
1446         tests: avoid more large file warnings
1447         * tests/test-fflush.c: Avoid warning about ftell use.
1448         * tests/test-fseek.c: Avoid warning about fseek use.
1449
1450 2010-01-10  Bruno Haible  <bruno@clisp.org>
1451
1452         nproc: Work better on Linux when /proc and /sys are not mounted.
1453         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
1454         as lower bound when, on glibc/Linux systems,
1455         sysconf (_SC_NPROCESSORS_CONF) returns 1.
1456         Suggested by Pádraig Brady <P@draigbrady.com>.
1457         Reported by Dmitry V. Levin <ldv@altlinux.org>.
1458
1459         nproc: Refactor.
1460         * lib/nproc.c (num_processors_via_affinity_mask): New function,
1461         extracted from num_processors.
1462         (num_processors): Call it.
1463
1464 2010-01-11  Jim Meyering  <meyering@redhat.com>
1465
1466         utimecmp: avoid new warning from upcoming gcc-4.5.0
1467         * lib/utimecmp.c (BILLION): Define using #define rather than an
1468         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
1469
1470 2010-01-11  Eric Blake  <ebb9@byu.net>
1471
1472         math: add portability warnings for classification macros
1473         * modules/math (Depends-on): Add warn-on-use.
1474         (Makefile.am): Provide new substitutions.
1475         * m4/math_h.m4 (gl_MATH_H): Require inline.
1476         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
1477         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
1478         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
1479         implement warnings.
1480
1481         unistd: warn on use of environ without module
1482         * modules/unistd (Depends-on): Add warn-on-use.
1483         (Makefile.am): Provide new substitutions.
1484         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
1485         * lib/unistd.in.h (environ): Wrap with a warning helper function.
1486
1487         stdio: warn on suspicious uses
1488         * modules/stdio (Depends-on): Add warn-on-use.
1489         (Makefile.am): Provide new substitutions.
1490         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
1491         fseeko.
1492         * lib/stdio.in.h (gets): Always warn on use.
1493         (fseek, ftell): Adjust when warnings are issued, and honor
1494         _GL_NO_LARGE_FILES as a way to silence the warning.
1495         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
1496         any warning about large file offsets.
1497         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
1498         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
1499         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
1500         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
1501         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
1502         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
1503         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
1504         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
1505
1506         warn-on-use: new module
1507         * modules/warn-on-use: New file.
1508         * build-aux/warn-on-use.h: Likewise.
1509         * m4/warn-on-use.m4: Likewise.
1510         * MODULES.html.sh (Support for building): Mention it.
1511
1512 2010-01-10  Bruno Haible  <bruno@clisp.org>
1513
1514         Tests for module 'unistr/u32-strdup'.
1515         * modules/unistr/u32-strdup-tests: New file.
1516         * tests/unistr/test-u32-strdup.c: New file.
1517
1518         Tests for module 'unistr/u16-strdup'.
1519         * modules/unistr/u16-strdup-tests: New file.
1520         * tests/unistr/test-u16-strdup.c: New file.
1521
1522         Tests for module 'unistr/u8-strdup'.
1523         * modules/unistr/u8-strdup-tests: New file.
1524         * tests/unistr/test-u8-strdup.c: New file.
1525         * tests/unistr/test-strdup.h: New file.
1526
1527         Tests for module 'unistr/u32-strncmp'.
1528         * modules/unistr/u32-strncmp-tests: New file.
1529         * tests/unistr/test-u32-strncmp.c: New file.
1530
1531         Tests for module 'unistr/u16-strncmp'.
1532         * modules/unistr/u16-strncmp-tests: New file.
1533         * tests/unistr/test-u16-strncmp.c: New file.
1534
1535         Tests for module 'unistr/u8-strncmp'.
1536         * modules/unistr/u8-strncmp-tests: New file.
1537         * tests/unistr/test-u8-strncmp.c: New file.
1538         * tests/unistr/test-strncmp.h: New file.
1539
1540         Tests for module 'unistr/u32-strcoll'.
1541         * modules/unistr/u32-strcoll-tests: New file.
1542         * tests/unistr/test-u32-strcoll.c: New file.
1543
1544         Tests for module 'unistr/u16-strcoll'.
1545         * modules/unistr/u16-strcoll-tests: New file.
1546         * tests/unistr/test-u16-strcoll.c: New file.
1547
1548         Tests for module 'unistr/u8-strcoll'.
1549         * modules/unistr/u8-strcoll-tests: New file.
1550         * tests/unistr/test-u8-strcoll.c: New file.
1551
1552         Tests for module 'unistr/u32-strcmp'.
1553         * modules/unistr/u32-strcmp-tests: New file.
1554         * tests/unistr/test-u32-strcmp.c: New file.
1555         * tests/unistr/test-u32-strcmp.h: New file.
1556
1557         Tests for module 'unistr/u16-strcmp'.
1558         * modules/unistr/u16-strcmp-tests: New file.
1559         * tests/unistr/test-u16-strcmp.c: New file.
1560         * tests/unistr/test-u16-strcmp.h: New file.
1561
1562         Tests for module 'unistr/u8-strcmp'.
1563         * modules/unistr/u8-strcmp-tests: New file.
1564         * tests/unistr/test-u8-strcmp.c: New file.
1565         * tests/unistr/test-u8-strcmp.h: New file.
1566         * tests/unistr/test-strcmp.h: New file.
1567
1568         Tests for module 'unistr/u32-strncat'.
1569         * modules/unistr/u32-strncat-tests: New file.
1570         * tests/unistr/test-u32-strncat.c: New file.
1571
1572         Tests for module 'unistr/u16-strncat'.
1573         * modules/unistr/u16-strncat-tests: New file.
1574         * tests/unistr/test-u16-strncat.c: New file.
1575
1576         Tests for module 'unistr/u8-strncat'.
1577         * modules/unistr/u8-strncat-tests: New file.
1578         * tests/unistr/test-u8-strncat.c: New file.
1579         * tests/unistr/test-strncat.h: New file.
1580
1581         Tests for module 'unistr/u32-strcat'.
1582         * modules/unistr/u32-strcat-tests: New file.
1583         * tests/unistr/test-u32-strcat.c: New file.
1584
1585         Tests for module 'unistr/u16-strcat'.
1586         * modules/unistr/u16-strcat-tests: New file.
1587         * tests/unistr/test-u16-strcat.c: New file.
1588
1589         Tests for module 'unistr/u8-strcat'.
1590         * modules/unistr/u8-strcat-tests: New file.
1591         * tests/unistr/test-u8-strcat.c: New file.
1592         * tests/unistr/test-strcat.h: New file.
1593
1594         Tests for module 'unistr/u32-stpncpy'.
1595         * modules/unistr/u32-stpncpy-tests: New file.
1596         * tests/unistr/test-u32-stpncpy.c: New file.
1597
1598         Tests for module 'unistr/u16-stpncpy'.
1599         * modules/unistr/u16-stpncpy-tests: New file.
1600         * tests/unistr/test-u16-stpncpy.c: New file.
1601
1602         Tests for module 'unistr/u8-stpncpy'.
1603         * modules/unistr/u8-stpncpy-tests: New file.
1604         * tests/unistr/test-u8-stpncpy.c: New file.
1605         * tests/unistr/test-stpncpy.h: New file.
1606
1607         Tests for module 'unistr/u32-strncpy'.
1608         * modules/unistr/u32-strncpy-tests: New file.
1609         * tests/unistr/test-u32-strncpy.c: New file.
1610
1611         Tests for module 'unistr/u16-strncpy'.
1612         * modules/unistr/u16-strncpy-tests: New file.
1613         * tests/unistr/test-u16-strncpy.c: New file.
1614
1615         Tests for module 'unistr/u8-strncpy'.
1616         * modules/unistr/u8-strncpy-tests: New file.
1617         * tests/unistr/test-u8-strncpy.c: New file.
1618         * tests/unistr/test-strncpy.h: New file.
1619
1620         Tests for module 'unistr/u32-stpcpy'.
1621         * modules/unistr/u32-stpcpy-tests: New file.
1622         * tests/unistr/test-u32-stpcpy.c: New file.
1623
1624         Tests for module 'unistr/u16-stpcpy'.
1625         * modules/unistr/u16-stpcpy-tests: New file.
1626         * tests/unistr/test-u16-stpcpy.c: New file.
1627
1628         Tests for module 'unistr/u8-stpcpy'.
1629         * modules/unistr/u8-stpcpy-tests: New file.
1630         * tests/unistr/test-u8-stpcpy.c: New file.
1631         * tests/unistr/test-stpcpy.h: New file.
1632
1633         Tests for module 'unistr/u32-strcpy'.
1634         * modules/unistr/u32-strcpy-tests: New file.
1635         * tests/unistr/test-u32-strcpy.c: New file.
1636
1637         Tests for module 'unistr/u16-strcpy'.
1638         * modules/unistr/u16-strcpy-tests: New file.
1639         * tests/unistr/test-u16-strcpy.c: New file.
1640
1641         Tests for module 'unistr/u8-strcpy'.
1642         * modules/unistr/u8-strcpy-tests: New file.
1643         * tests/unistr/test-u8-strcpy.c: New file.
1644         * tests/unistr/test-strcpy.h: New file.
1645
1646         Tests for module 'unistr/u32-strnlen'.
1647         * modules/unistr/u32-strnlen-tests: New file.
1648         * tests/unistr/test-u32-strnlen.c: New file.
1649
1650         Tests for module 'unistr/u16-strnlen'.
1651         * modules/unistr/u16-strnlen-tests: New file.
1652         * tests/unistr/test-u16-strnlen.c: New file.
1653
1654         Tests for module 'unistr/u8-strnlen'.
1655         * modules/unistr/u8-strnlen-tests: New file.
1656         * tests/unistr/test-u8-strnlen.c: New file.
1657         * tests/unistr/test-strnlen.h: New file.
1658
1659         Tests for module 'unistr/u32-strlen'.
1660         * modules/unistr/u32-strlen-tests: New file.
1661         * tests/unistr/test-u32-strlen.c: New file.
1662
1663         Tests for module 'unistr/u16-strlen'.
1664         * modules/unistr/u16-strlen-tests: New file.
1665         * tests/unistr/test-u16-strlen.c: New file.
1666
1667         Tests for module 'unistr/u8-strlen'.
1668         * modules/unistr/u8-strlen-tests: New file.
1669         * tests/unistr/test-u8-strlen.c: New file.
1670
1671         Tests for module 'unistr/u32-prev'.
1672         * modules/unistr/u32-prev-tests: New file.
1673         * tests/unistr/test-u32-prev.c: New file.
1674
1675         Tests for module 'unistr/u16-prev'.
1676         * modules/unistr/u16-prev-tests: New file.
1677         * tests/unistr/test-u16-prev.c: New file.
1678
1679         Tests for module 'unistr/u8-prev'.
1680         * modules/unistr/u8-prev-tests: New file.
1681         * tests/unistr/test-u8-prev.c: New file.
1682
1683         Tests for module 'unistr/u32-next'.
1684         * modules/unistr/u32-next-tests: New file.
1685         * tests/unistr/test-u32-next.c: New file.
1686
1687         Tests for module 'unistr/u16-next'.
1688         * modules/unistr/u16-next-tests: New file.
1689         * tests/unistr/test-u16-next.c: New file.
1690
1691         Tests for module 'unistr/u8-next'.
1692         * modules/unistr/u8-next-tests: New file.
1693         * tests/unistr/test-u8-next.c: New file.
1694
1695         Tests for module 'unistr/u32-strmbtouc'.
1696         * modules/unistr/u32-strmbtouc-tests: New file.
1697         * tests/unistr/test-u32-strmbtouc.c: New file.
1698
1699         Tests for module 'unistr/u16-strmbtouc'.
1700         * modules/unistr/u16-strmbtouc-tests: New file.
1701         * tests/unistr/test-u16-strmbtouc.c: New file.
1702
1703         Tests for module 'unistr/u8-strmbtouc'.
1704         * modules/unistr/u8-strmbtouc-tests: New file.
1705         * tests/unistr/test-u8-strmbtouc.c: New file.
1706
1707         Tests for module 'unistr/u32-strmblen'.
1708         * modules/unistr/u32-strmblen-tests: New file.
1709         * tests/unistr/test-u32-strmblen.c: New file.
1710
1711         Tests for module 'unistr/u16-strmblen'.
1712         * modules/unistr/u16-strmblen-tests: New file.
1713         * tests/unistr/test-u16-strmblen.c: New file.
1714
1715         Tests for module 'unistr/u8-strmblen'.
1716         * modules/unistr/u8-strmblen-tests: New file.
1717         * tests/unistr/test-u8-strmblen.c: New file.
1718
1719         Tests for module 'unistr/u32-cpy-alloc'.
1720         * modules/unistr/u32-cpy-alloc-tests: New file.
1721         * tests/unistr/test-u32-cpy-alloc.c: New file.
1722
1723         Tests for module 'unistr/u16-cpy-alloc'.
1724         * modules/unistr/u16-cpy-alloc-tests: New file.
1725         * tests/unistr/test-u16-cpy-alloc.c: New file.
1726
1727         Tests for module 'unistr/u8-cpy-alloc'.
1728         * modules/unistr/u8-cpy-alloc-tests: New file.
1729         * tests/unistr/test-u8-cpy-alloc.c: New file.
1730         * tests/unistr/test-cpy-alloc.h: New file.
1731
1732         Tests for module 'unistr/u32-mbsnlen'.
1733         * modules/unistr/u32-mbsnlen-tests: New file.
1734         * tests/unistr/test-u32-mbsnlen.c: New file.
1735
1736         Tests for module 'unistr/u16-mbsnlen'.
1737         * modules/unistr/u16-mbsnlen-tests: New file.
1738         * tests/unistr/test-u16-mbsnlen.c: New file.
1739
1740         Tests for module 'unistr/u8-mbsnlen'.
1741         * modules/unistr/u8-mbsnlen-tests: New file.
1742         * tests/unistr/test-u8-mbsnlen.c: New file.
1743
1744         Tests for module 'unistr/u32-chr'.
1745         * modules/unistr/u32-chr-tests: New file.
1746         * tests/unistr/test-u32-chr.c: New file.
1747
1748         Tests for module 'unistr/u16-chr'.
1749         * modules/unistr/u16-chr-tests: New file.
1750         * tests/unistr/test-u16-chr.c: New file.
1751
1752         Tests for module 'unistr/u8-chr'.
1753         * modules/unistr/u8-chr-tests: New file.
1754         * tests/unistr/test-u8-chr.c: New file.
1755         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
1756
1757         Tests for module 'unistr/u32-cmp2'.
1758         * modules/unistr/u32-cmp2-tests: New file.
1759         * tests/unistr/test-u32-cmp2.c: New file.
1760
1761         Tests for module 'unistr/u16-cmp2'.
1762         * modules/unistr/u16-cmp2-tests: New file.
1763         * tests/unistr/test-u16-cmp2.c: New file.
1764
1765         Tests for module 'unistr/u8-cmp2'.
1766         * modules/unistr/u8-cmp2-tests: New file.
1767         * tests/unistr/test-u8-cmp2.c: New file.
1768         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
1769
1770         Tests for module 'unistr/u32-cmp'.
1771         * modules/unistr/u32-cmp-tests: New file.
1772         * tests/unistr/test-u32-cmp.c: New file.
1773
1774         Tests for module 'unistr/u16-cmp'.
1775         * modules/unistr/u16-cmp-tests: New file.
1776         * tests/unistr/test-u16-cmp.c: New file.
1777
1778         Tests for module 'unistr/u8-cmp'.
1779         * modules/unistr/u8-cmp-tests: New file.
1780         * tests/unistr/test-u8-cmp.c: New file.
1781         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
1782
1783         Tests for module 'unistr/u32-set'.
1784         * modules/unistr/u32-set-tests: New file.
1785         * tests/unistr/test-u32-set.c: New file.
1786
1787         Tests for module 'unistr/u16-set'.
1788         * modules/unistr/u16-set-tests: New file.
1789         * tests/unistr/test-u16-set.c: New file.
1790
1791         Tests for module 'unistr/u8-set'.
1792         * modules/unistr/u8-set-tests: New file.
1793         * tests/unistr/test-u8-set.c: New file.
1794         * tests/unistr/test-set.h: New file.
1795
1796         Tests for module 'unistr/u32-move'.
1797         * modules/unistr/u32-move-tests: New file.
1798         * tests/unistr/test-u32-move.c: New file.
1799
1800         Tests for module 'unistr/u16-move'.
1801         * modules/unistr/u16-move-tests: New file.
1802         * tests/unistr/test-u16-move.c: New file.
1803
1804         Tests for module 'unistr/u8-move'.
1805         * modules/unistr/u8-move-tests: New file.
1806         * tests/unistr/test-u8-move.c: New file.
1807         * tests/unistr/test-move.h: New file.
1808
1809         Tests for module 'unistr/u32-cpy'.
1810         * modules/unistr/u32-cpy-tests: New file.
1811         * tests/unistr/test-u32-cpy.c: New file.
1812
1813         Tests for module 'unistr/u16-cpy'.
1814         * modules/unistr/u16-cpy-tests: New file.
1815         * tests/unistr/test-u16-cpy.c: New file.
1816
1817         Tests for module 'unistr/u8-cpy'.
1818         * modules/unistr/u8-cpy-tests: New file.
1819         * tests/unistr/test-u8-cpy.c: New file.
1820         * tests/unistr/test-cpy.h: New file.
1821
1822 2010-01-09  Bruno Haible  <bruno@clisp.org>
1823
1824         Tests for module 'unistr/u32-uctomb'.
1825         * modules/unistr/u32-uctomb-tests: New file.
1826         * tests/unistr/test-u32-uctomb.c: New file.
1827
1828         Tests for module 'unistr/u16-uctomb'.
1829         * modules/unistr/u16-uctomb-tests: New file.
1830         * tests/unistr/test-u16-uctomb.c: New file.
1831
1832         Tests for module 'unistr/u8-uctomb'.
1833         * modules/unistr/u8-uctomb-tests: New file.
1834         * tests/unistr/test-u8-uctomb.c: New file.
1835
1836         Tests for module 'unistr/u32-mbtoucr'.
1837         * modules/unistr/u32-mbtoucr-tests: New file.
1838         * tests/unistr/test-u32-mbtoucr.c: New file.
1839
1840         Tests for module 'unistr/u16-mbtoucr'.
1841         * modules/unistr/u16-mbtoucr-tests: New file.
1842         * tests/unistr/test-u16-mbtoucr.c: New file.
1843
1844         Tests for module 'unistr/u8-mbtoucr'.
1845         * modules/unistr/u8-mbtoucr-tests: New file.
1846         * tests/unistr/test-u8-mbtoucr.c: New file.
1847
1848         Tests for module 'unistr/u32-mbtouc'.
1849         * modules/unistr/u32-mbtouc-tests: New file.
1850         * tests/unistr/test-u32-mbtouc.c: New file.
1851
1852         Tests for module 'unistr/u16-mbtouc'.
1853         * modules/unistr/u16-mbtouc-tests: New file.
1854         * tests/unistr/test-u16-mbtouc.c: New file.
1855
1856         Tests for module 'unistr/u8-mbtouc'.
1857         * modules/unistr/u8-mbtouc-tests: New file.
1858         * tests/unistr/test-u8-mbtouc.c: New file.
1859
1860         Tests for module 'unistr/u32-mbtouc-unsafe'.
1861         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
1862         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
1863         * tests/unistr/test-u32-mbtouc.h: New file.
1864
1865         Tests for module 'unistr/u16-mbtouc-unsafe'.
1866         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
1867         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
1868         * tests/unistr/test-u16-mbtouc.h: New file.
1869
1870         Tests for module 'unistr/u8-mbtouc-unsafe'.
1871         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
1872         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
1873         * tests/unistr/test-u8-mbtouc.h: New file.
1874
1875         Tests for module 'unistr/u32-mblen'.
1876         * modules/unistr/u32-mblen-tests: New file.
1877         * tests/unistr/test-u32-mblen.c: New file.
1878
1879         Tests for module 'unistr/u16-mblen'.
1880         * modules/unistr/u16-mblen-tests: New file.
1881         * tests/unistr/test-u16-mblen.c: New file.
1882
1883         Tests for module 'unistr/u8-mblen'.
1884         * modules/unistr/u8-mblen-tests: New file.
1885         * tests/unistr/test-u8-mblen.c: New file.
1886
1887         Tests for module 'unistr/u32-to-u16'.
1888         * modules/unistr/u32-to-u16-tests: New file.
1889         * tests/unistr/test-u32-to-u16.c: New file.
1890
1891         Tests for module 'unistr/u32-to-u8'.
1892         * modules/unistr/u32-to-u8-tests: New file.
1893         * tests/unistr/test-u32-to-u8.c: New file.
1894
1895         Tests for module 'unistr/u16-to-u32'.
1896         * modules/unistr/u16-to-u32-tests: New file.
1897         * tests/unistr/test-u16-to-u32.c: New file.
1898
1899         Tests for module 'unistr/u16-to-u8'.
1900         * modules/unistr/u16-to-u8-tests: New file.
1901         * tests/unistr/test-u16-to-u8.c: New file.
1902
1903         Tests for module 'unistr/u8-to-u32'.
1904         * modules/unistr/u8-to-u32-tests: New file.
1905         * tests/unistr/test-u8-to-u32.c: New file.
1906
1907         Tests for module 'unistr/u8-to-u16'.
1908         * modules/unistr/u8-to-u16-tests: New file.
1909         * tests/unistr/test-u8-to-u16.c: New file.
1910
1911         Tests for module 'unistr/u32-check'.
1912         * modules/unistr/u32-check-tests: New file.
1913         * tests/unistr/test-u32-check.c: New file.
1914
1915         Tests for module 'unistr/u16-check'.
1916         * modules/unistr/u16-check-tests: New file.
1917         * tests/unistr/test-u16-check.c: New file.
1918
1919         Tests for module 'unistr/u8-check'.
1920         * modules/unistr/u8-check-tests: New file.
1921         * tests/unistr/test-u8-check.c: New file.
1922
1923         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
1924         (category_equals): New function.
1925         (main): Add more tests.
1926         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
1927
1928         * tests/unictype/test-bidi_byname.c (main): Add more tests.
1929
1930 2010-01-10  Bruno Haible  <bruno@clisp.org>
1931
1932         unistr/u*-strcoll: Try harder to distinguish different strings.
1933         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
1934         compare s1 and s2 to see if they are different.
1935
1936 2010-01-10  Bruno Haible  <bruno@clisp.org>
1937
1938         unistr/u*-stpncpy: Fix the return value.
1939         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
1940         description of the return value consistent with stpncpy in glibc.
1941         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
1942         written non-NUL unit.
1943
1944 2010-01-10  Bruno Haible  <bruno@clisp.org>
1945
1946         unistr/u*-next: Add missing dependencies.
1947         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
1948         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
1949         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
1950
1951 2010-01-10  Bruno Haible  <bruno@clisp.org>
1952
1953         unistr/u8-mbsnlen: Fix return value for incomplete character.
1954         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
1955         u8_mblen.
1956         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
1957         Remove unistr/u8-mblen.
1958         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
1959         u16_mblen.
1960         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
1961         Remove unistr/u16-mblen.
1962
1963 2010-01-10  Bruno Haible  <bruno@clisp.org>
1964
1965         wchar: Fix compilation error when <wchar.h> is used from coreutils.
1966         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
1967         Reported by Brian Gough <bjg@gnu.org> and
1968         Chris Clayton <chris2553@googlemail.com> via
1969         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
1970
1971 2010-01-09  Bruno Haible  <bruno@clisp.org>
1972
1973         unistr/u16-to-u32: Reject invalid input.
1974         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
1975         u16_mbtouc.
1976         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
1977         Remove unistr/u16-mbtouc.
1978
1979         unistr/u16-to-u8: Reject invalid input.
1980         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
1981         u16_mbtouc.
1982         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
1983         Remove unistr/u16-mbtouc.
1984
1985         unistr/u8-to-u32: Reject invalid input.
1986         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
1987         u8_mbtouc.
1988         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
1989         Remove unistr/u8-mbtouc.
1990
1991         unistr/u8-to-u16: Reject invalid input.
1992         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
1993         u8_mbtouc.
1994         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
1995         Remove unistr/u8-mbtouc.
1996
1997 2010-01-09  Bruno Haible  <bruno@clisp.org>
1998
1999         Tests for module 'getlogin'.
2000         * modules/getlogin-tests: New file.
2001         * tests/test-getlogin.c: New file.
2002
2003         New module 'getlogin'.
2004         * lib/unistd.in.h (getlogin): New declaration.
2005         * lib/getlogin.c: New file.
2006         * m4/getlogin.m4: New file.
2007         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
2008         HAVE_GETLOGIN.
2009         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
2010         HAVE_GETLOGIN.
2011         * modules/getlogin: New file.
2012         * doc/posix-functions/getlogin.texi: Mention the new module.
2013         Reported by John W. Eaton <jwe@gnu.org>.
2014
2015 2010-01-09  Bruno Haible  <bruno@clisp.org>
2016
2017         getlogin_r: Support for native Windows.
2018         * lib/getlogin_r.c: Include <windows.h>
2019         (getlogin_r): Implement for native Windows.
2020         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
2021         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
2022         via John W. Eaton <jwe@gnu.org>.
2023
2024 2010-01-09  Bruno Haible  <bruno@clisp.org>
2025
2026         getlogin_r: Small fixes.
2027         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
2028         succeeds.
2029         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
2030         before testing whether getlogin_r is declared. No need to set
2031         HAVE_DECL_GETLOGIN_R to 1.
2032         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
2033
2034 2010-01-09  Bruno Haible  <bruno@clisp.org>
2035
2036         * lib/unistd.in.h (getlogin_r): Add comment.
2037
2038 2010-01-09  Bruno Haible  <bruno@clisp.org>
2039
2040         Tests for module 'getlogin_r'.
2041         * modules/getlogin_r-tests: New file.
2042         * tests/test-getlogin_r.c: New file.
2043
2044 2010-01-09  Jim Meyering  <meyering@redhat.com>
2045
2046         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
2047         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
2048         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
2049
2050 2010-01-08  Simon Josefsson  <simon@josefsson.org>
2051
2052         * lib/dup2.c (rpl_dup2): Improve comment.
2053
2054 2010-01-08  Eric Blake  <ebb9@byu.net>
2055
2056         maint.mk: allow packages to add makefile @@ exceptions
2057         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
2058         (sc_makefile_check): Rename...
2059         (sc_makefile_at_at_check): ...to this, and use hook.
2060
2061         dup2: work around mingw bug
2062         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
2063         Reported by Simon Josefsson.
2064
2065 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
2066
2067         glob: Fix C++ compilation.
2068         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
2069         C++.
2070
2071 2010-01-07  Bruno Haible  <bruno@clisp.org>
2072
2073         Fix indentation of wctype.in.h, broken since 2007-01-06.
2074         * lib/wctype.in.h: Fix indentation of preprocessor directives.
2075
2076 2010-01-07  Bruno Haible  <bruno@clisp.org>
2077
2078         mbslen: Avoid collision with system function.
2079         * lib/string.in.h [MirBSD]: Include <wchar.h>.
2080         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
2081         * m4/mbslen.m4: New file.
2082         * modules/mbslen (Files): Add it.
2083         (configure.ac): Invoke gl_MBSLEN.
2084         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
2085         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
2086         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
2087         via Ian Beckwith <ianb@erislabs.net>.
2088
2089 2010-01-07  Bruno Haible  <bruno@clisp.org>
2090
2091         dirent: Document the last fix.
2092         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
2093
2094 2010-01-07  Bruno Haible  <bruno@clisp.org>
2095
2096         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
2097         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
2098         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
2099         va_list are defined.
2100         * doc/posix-headers/stdio.texi: Document the bug of missing types.
2101         Reported by Eric Blake.
2102
2103 2010-01-07  Bruno Haible  <bruno@clisp.org>
2104
2105         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
2106         * modules/xlist (Depends-on): Add 'list',
2107         * modules/xoset (Depends-on): Add 'oset'.
2108         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2109
2110 2010-01-07  Bruno Haible  <bruno@clisp.org>
2111
2112         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
2113         * doc/posix-functions/strncasecmp.texi: Likewise.
2114
2115 2010-01-07  Bruno Haible  <bruno@clisp.org>
2116
2117         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
2118
2119 2010-01-07  John W. Eaton  <jwe@octave.org>
2120
2121         wctype: allow C++ use
2122         * lib/wctype.in.h: Add extern "C" block for C++.
2123
2124 2010-01-06  Eric Blake  <ebb9@byu.net>
2125
2126         maint.mk: detect incorrect GFDL usage
2127         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
2128
2129 2010-01-06  Jim Meyering  <meyering@redhat.com>
2130         and Eric Blake  <ebb9@byu.net>
2131
2132         maint.mk: ignore multi-line copyright in NEWS
2133         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
2134
2135 2010-01-06  Eric Blake  <ebb9@byu.net>
2136
2137         select: add missing dependency
2138         * modules/select-tests (Depends-on): Move sockets dependency...
2139         * modules/select (Depends-on): ...here.
2140         Reported by Ian Beckwith.
2141
2142         doc: regenerate INSTALL
2143         * doc/INSTALL: Reflect recent autoconf update.
2144         * doc/INSTALL.ISO: Likewise.
2145         * doc/INSTALL.UTF-8: Likewise.
2146
2147         pread: fix compilation on glibc
2148         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
2149         Reported by Ralf Wildenhues.
2150
2151         dirent: fix test failure
2152         * lib/dirent.in.h (includes): Guarantee ino_t.
2153         Reported by Ralf Wildenhues.
2154
2155 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
2156
2157         linkat, renameat: avoid bad free
2158         * lib/at-func2.c (at_func2): Fix typo.
2159         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
2160
2161 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2162
2163         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
2164         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
2165         to avoid failure of symlink test later.
2166
2167 2010-01-06  Eric Blake  <ebb9@byu.net>
2168
2169         stdio, unistd: guarantee ssize_t
2170         * lib/unistd.in.h (includes): Ensure that types required by POSIX
2171         2008 are exposed when needed.
2172         * lib/stdio.in.h (includes): Likewise.
2173         Reported by Ralf Wildenhues.
2174
2175 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
2176
2177         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
2178         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
2179         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
2180
2181 2010-01-06  Jim Meyering  <meyering@redhat.com>
2182
2183         readtokens: this module *does* require xalloc.h
2184         It uses only functions that were omitted by the old syntax-check rule.
2185         * lib/readtokens.c: Include "xalloc.h" once again.
2186         * modules/readtokens (Depends-on): Add xalloc.
2187         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
2188
2189 2010-01-05  Eric Blake  <ebb9@byu.net>
2190
2191         maint: support 'make announcement' from a VPATH build
2192         * top/maint.mk (announcement): Look for correct NEWS file.
2193
2194 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
2195
2196         utimens (fdutimens): ignore a negative FD, per contract
2197         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
2198         when we have a valid file descriptor.  Otherwise, using a brand
2199         new glibc (with just-patched futimens that now fails with EBADF)
2200         would cause this function to fail with ENOSYS.
2201         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
2202         See also http://bugzilla.redhat.com/552320.
2203
2204 2010-01-05  Eric Blake  <ebb9@byu.net>
2205
2206         strcase: document what it provides
2207         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
2208         gnulib module.
2209         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
2210         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
2211
2212 2010-01-05  Jim Meyering  <meyering@redhat.com>
2213
2214         maint: remove useless inclusions of "xalloc.h"
2215         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
2216         * lib/readtokens.c: Likewise.
2217         * lib/same.c: Likewise.
2218         * modules/getloadavg (Depends-on): Remove xalloc.
2219         * modules/readtokens: Likewise.
2220         * modules/same: Likewise.
2221
2222         maint.mk: include 4 more function names in alloca.h-checking regexp
2223         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
2224         regexp.  Before, we would give a false-positive (saying alloca.h
2225         is included unnecessarily) when the only uses involved omitted symbols.
2226
2227         xalloc.h: use consistent formatting
2228         * lib/xalloc.h: Move declarations to start in the first column.
2229
2230 2010-01-05  Eric Blake  <ebb9@byu.net>
2231
2232         mkdir: avoid xalloc
2233         * lib/mkdir.c (includes): Drop unused header.
2234         Reported by John W. Eaton.
2235
2236 2010-01-04  Jim Meyering  <meyering@redhat.com>
2237
2238         nl_langinfo: avoid configure-time syntax error
2239         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
2240         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
2241         the empty string.  Don't let that provoke a shell syntax error.
2242
2243         regcomp, regexec, fnmatch: avoid array bounds read error
2244         * lib/regcomp.c (build_equiv_class): From glibc:
2245         Use only the low 24 bits of a findidx return value as an index
2246         into the weights array.  Patch by Ulrich Drepper:
2247         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
2248         * lib/regexec.c (check_node_accept_bytes): Likewise.
2249         * lib/fnmatch_loop.c (FCT): Likewise.
2250
2251         regcomp: skip collseq lookup when there are no rules
2252         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
2253         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
2254
2255         regcomp: recognize ill-formed { } expressions
2256         * lib/regcomp.c (parse_dup_op): From glibc:
2257         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
2258
2259         regcomp: fix typo in comment
2260         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
2261         s/satisfy/satisfies/.
2262
2263         regcomp: sync from glibc: remove dead store
2264         * lib/regcomp.c (duplicate_node_closure): Remove useless
2265         search_duplicated_node call and dead store.
2266
2267         regcomp: sync from glibc; always use nl_langinfo
2268         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
2269         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
2270         * modules/regex (Depends-on): Add nl_langinfo.
2271
2272 2010-01-04  Eric Blake  <ebb9@byu.net>
2273
2274         fdopendir: fix configure test
2275         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
2276
2277 2010-01-01  Bruno Haible  <bruno@clisp.org>
2278
2279         wchar: Remove unused configure check.
2280         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
2281
2282 2010-01-01  Eric Blake  <ebb9@byu.net>
2283
2284         headers: make check of system header explicit
2285         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
2286         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
2287         ourselves.
2288         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
2289         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
2290         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
2291         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
2292         internals.
2293         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
2294         missing.
2295         Suggested by Bruno Haible.
2296
2297 2010-01-01  Jim Meyering  <meyering@redhat.com>
2298
2299         ChangeLog: tweak to eliminate unnecessary copyright line
2300         * ChangeLog: Remove a copyright line that was mistakenly updated
2301         by today's update-copyright run.  Reported by Eric Blake.
2302
2303         test-update-copyright: don't let envvar setting cause test failure
2304         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
2305
2306 2010-01-01  Bruno Haible  <bruno@clisp.org>
2307
2308         localename: Avoid gcc warning.
2309         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
2310         function if it is not used.
2311
2312 2010-01-01  Jim Meyering  <meyering@redhat.com>
2313
2314         update nearly all FSF copyright year lists to include 2010
2315         Use the same procedure as for 2009, outlined in
2316         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
2317
2318         version-etc: set COPYRIGHT_YEAR to 2010
2319         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
2320
2321 2009-12-31  Eric Blake  <ebb9@byu.net>
2322
2323         doc: correct availability of cygwin 1.5.x getopt
2324         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
2325         variables.
2326         * doc/posix-functions/opterr.texi (opterr): Likewise.
2327         * doc/posix-functions/optind.texi (optind): Likewise.
2328         * doc/posix-functions/optopt.texi (optopt): Likewise.
2329         * doc/posix-functions/tzname.texi (tzname): Likewise.
2330
2331         openat: update maintainer
2332         * modules/openat (Maintainer): Add myself.
2333
2334         utimens: avoid shadowing warning
2335         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
2336         buffers into one, to avoid shadowing, as well as avoiding a
2337         redundant stat.
2338         Reported by Jim Meyering.
2339
2340         test-dup2: avoid compiler warning
2341         * tests/test-dup2.c (is_inheritable): Only define if used.
2342
2343 2010-01-01  Bruno Haible  <bruno@clisp.org>
2344
2345         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
2346         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
2347         defined, use wctomb instead of wcrtomb.
2348
2349 2010-01-01  Bruno Haible  <bruno@clisp.org>
2350
2351         iconv: Reject native Solaris iconv.
2352         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
2353         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
2354
2355 2009-12-31  Bruno Haible  <bruno@clisp.org>
2356
2357         * tests/test-signal.c (main): Remove test of 'SIG'.
2358
2359 2009-12-31  Bruno Haible  <bruno@clisp.org>
2360
2361         spawn: Fix incomplete fix.
2362         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
2363         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
2364         warnings for GNULIB_POSIXCHECK again.
2365         Reported by Eric Blake.
2366
2367 2009-12-31  Bruno Haible  <bruno@clisp.org>
2368
2369         Avoid namespace pollution on glibc systems.
2370         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
2371         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
2372         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
2373         glibc systems.
2374
2375 2009-12-31  Bruno Haible  <bruno@clisp.org>
2376
2377         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
2378         (gl_REPLACE_WCHAR_H): Turn into a no-op.
2379         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
2380         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
2381         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
2382         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
2383         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
2384
2385 2009-12-31  Bruno Haible  <bruno@clisp.org>
2386
2387         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
2388         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
2389         afterwards.
2390
2391 2009-12-31  Bruno Haible  <bruno@clisp.org>
2392
2393         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
2394         SYS_UTSNAME_H.
2395
2396 2009-12-31  Bruno Haible  <bruno@clisp.org>
2397
2398         spawn: Fix misapplied patch.
2399         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
2400         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
2401         warnings for GNULIB_POSIXCHECK.
2402
2403 2009-12-31  Bruno Haible  <bruno@clisp.org>
2404
2405         times: Update after sys_times changed.
2406         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
2407         * modules/times (Files): Add it.
2408         (configure.ac): Invoke gl_FUNC_TIMES.
2409
2410 2009-12-31  Bruno Haible  <bruno@clisp.org>
2411
2412         Use AC_C_INLINE where necessary.
2413         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
2414         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
2415         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
2416         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
2417         * m4/mbfile.m4 (gl_MBFILE): Likewise.
2418         * m4/mbiter.m4 (gl_MBITER): Likewise.
2419         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
2420         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2421         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
2422         * modules/u64 (configure.ac): Likewise.
2423
2424 2009-12-31  Bruno Haible  <bruno@clisp.org>
2425
2426         Use AC_C_INLINE instead of module 'inline' where possible.
2427         * modules/inline (Description): Clarify purpose.
2428         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
2429         * modules/count-one-bits (Depends-on): Remove inline.
2430         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
2431         * modules/openat (Depends-on): Remove inline.
2432         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
2433         instead of depending on module 'inline'.
2434         * modules/filevercmp (Depends-on, configure.ac): Likewise.
2435         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
2436         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
2437         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
2438         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
2439         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
2440         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
2441         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
2442         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
2443         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
2444         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
2445         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
2446         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
2447         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
2448         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
2449         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
2450         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
2451         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
2452         Likewise.
2453         * modules/unictype/property-ascii-hex-digit (Depends-on,
2454         configure.ac): Likewise.
2455         * modules/unictype/property-bidi-arabic-digit (Depends-on,
2456         configure.ac): Likewise.
2457         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
2458         configure.ac): Likewise.
2459         * modules/unictype/property-bidi-block-separator (Depends-on,
2460         configure.ac): Likewise.
2461         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
2462         configure.ac): Likewise.
2463         * modules/unictype/property-bidi-common-separator (Depends-on,
2464         configure.ac): Likewise.
2465         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
2466         Likewise.
2467         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
2468         configure.ac): Likewise.
2469         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
2470         configure.ac): Likewise.
2471         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
2472         configure.ac): Likewise.
2473         * modules/unictype/property-bidi-european-digit (Depends-on,
2474         configure.ac): Likewise.
2475         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
2476         configure.ac): Likewise.
2477         * modules/unictype/property-bidi-left-to-right (Depends-on,
2478         configure.ac): Likewise.
2479         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
2480         configure.ac): Likewise.
2481         * modules/unictype/property-bidi-other-neutral (Depends-on,
2482         configure.ac): Likewise.
2483         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
2484         Likewise.
2485         * modules/unictype/property-bidi-segment-separator (Depends-on,
2486         configure.ac): Likewise.
2487         * modules/unictype/property-bidi-whitespace (Depends-on,
2488         configure.ac): Likewise.
2489         * modules/unictype/property-combining (Depends-on, configure.ac):
2490         Likewise.
2491         * modules/unictype/property-composite (Depends-on, configure.ac):
2492         Likewise.
2493         * modules/unictype/property-currency-symbol (Depends-on,
2494         configure.ac): Likewise.
2495         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
2496         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
2497         Likewise.
2498         * modules/unictype/property-default-ignorable-code-point (Depends-on,
2499         configure.ac): Likewise.
2500         * modules/unictype/property-deprecated (Depends-on, configure.ac):
2501         Likewise.
2502         * modules/unictype/property-diacritic (Depends-on, configure.ac):
2503         Likewise.
2504         * modules/unictype/property-extender (Depends-on, configure.ac):
2505         Likewise.
2506         * modules/unictype/property-format-control (Depends-on, configure.ac):
2507         Likewise.
2508         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
2509         Likewise.
2510         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
2511         Likewise.
2512         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
2513         Likewise.
2514         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
2515         Likewise.
2516         * modules/unictype/property-hyphen (Depends-on, configure.ac):
2517         Likewise.
2518         * modules/unictype/property-id-continue (Depends-on, configure.ac):
2519         Likewise.
2520         * modules/unictype/property-id-start (Depends-on, configure.ac):
2521         Likewise.
2522         * modules/unictype/property-ideographic (Depends-on, configure.ac):
2523         Likewise.
2524         * modules/unictype/property-ids-binary-operator (Depends-on,
2525         configure.ac): Likewise.
2526         * modules/unictype/property-ids-trinary-operator (Depends-on,
2527         configure.ac): Likewise.
2528         * modules/unictype/property-ignorable-control (Depends-on,
2529         configure.ac): Likewise.
2530         * modules/unictype/property-iso-control (Depends-on, configure.ac):
2531         Likewise.
2532         * modules/unictype/property-join-control (Depends-on, configure.ac):
2533         Likewise.
2534         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
2535         Likewise.
2536         * modules/unictype/property-line-separator (Depends-on, configure.ac):
2537         Likewise.
2538         * modules/unictype/property-logical-order-exception (Depends-on,
2539         configure.ac): Likewise.
2540         * modules/unictype/property-lowercase (Depends-on, configure.ac):
2541         Likewise.
2542         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
2543         * modules/unictype/property-non-break (Depends-on, configure.ac):
2544         Likewise.
2545         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
2546         Likewise.
2547         * modules/unictype/property-numeric (Depends-on, configure.ac):
2548         Likewise.
2549         * modules/unictype/property-other-alphabetic (Depends-on,
2550         configure.ac): Likewise.
2551         * modules/unictype/property-other-default-ignorable-code-point
2552         (Depends-on, configure.ac): Likewise.
2553         * modules/unictype/property-other-grapheme-extend (Depends-on,
2554         configure.ac): Likewise.
2555         * modules/unictype/property-other-id-continue (Depends-on,
2556         configure.ac): Likewise.
2557         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
2558         Likewise.
2559         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
2560         Likewise.
2561         * modules/unictype/property-other-math (Depends-on, configure.ac):
2562         Likewise.
2563         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
2564         Likewise.
2565         * modules/unictype/property-paired-punctuation (Depends-on,
2566         configure.ac): Likewise.
2567         * modules/unictype/property-paragraph-separator (Depends-on,
2568         configure.ac): Likewise.
2569         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
2570         Likewise.
2571         * modules/unictype/property-pattern-white-space (Depends-on,
2572         configure.ac): Likewise.
2573         * modules/unictype/property-private-use (Depends-on, configure.ac):
2574         Likewise.
2575         * modules/unictype/property-punctuation (Depends-on, configure.ac):
2576         Likewise.
2577         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
2578         Likewise.
2579         * modules/unictype/property-radical (Depends-on, configure.ac):
2580         Likewise.
2581         * modules/unictype/property-sentence-terminal (Depends-on,
2582         configure.ac): Likewise.
2583         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
2584         Likewise.
2585         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
2586         * modules/unictype/property-terminal-punctuation (Depends-on,
2587         configure.ac): Likewise.
2588         * modules/unictype/property-titlecase (Depends-on, configure.ac):
2589         Likewise.
2590         * modules/unictype/property-unassigned-code-value (Depends-on,
2591         configure.ac): Likewise.
2592         * modules/unictype/property-unified-ideograph (Depends-on,
2593         configure.ac): Likewise.
2594         * modules/unictype/property-uppercase (Depends-on, configure.ac):
2595         Likewise.
2596         * modules/unictype/property-variation-selector (Depends-on,
2597         configure.ac): Likewise.
2598         * modules/unictype/property-white-space (Depends-on, configure.ac):
2599         Likewise.
2600         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
2601         Likewise.
2602         * modules/unictype/property-xid-start (Depends-on, configure.ac):
2603         Likewise.
2604         * modules/unictype/property-zero-width (Depends-on, configure.ac):
2605         Likewise.
2606         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
2607         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
2608         Likewise.
2609
2610 2009-12-31  Bruno Haible  <bruno@clisp.org>
2611
2612         Remove unnecessary AC_C_INLINE invocation.
2613         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
2614         since 2009-08-21.
2615
2616 2009-12-31  Jim Meyering  <meyering@redhat.com>
2617
2618         maint.mk: don't require explicit gpg_key_ID in cfg.mk
2619         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
2620         With this change, we can all remove the gpg_key_ID = ... definition
2621         from our respective cfg.mk files.
2622
2623         maint.mk: create announcement template in ~/, not in /tmp
2624         * top/maint.mk (emit_upload_commands): Adjust.
2625         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
2626         Remove temporary file, .ci-msg.
2627
2628 2009-12-31  Eric Blake  <ebb9@byu.net>
2629
2630         link-warning: always build headers with link warnings
2631         * modules/arpa_inet (Makefile.am): Always build replacement
2632         header.
2633         * modules/ctype (Makefile.am): Likewise.
2634         * modules/dirent (Makefile.am): Likewise.
2635         * modules/inttypes (Makefile.am): Likewise.
2636         * modules/langinfo (Makefile.am): Likewise.
2637         * modules/locale (Makefile.am): Likewise.
2638         * modules/spawn (Makefile.am): Likewise.
2639         * modules/sys_file (Makefile.am): Likewise.
2640         * modules/sys_ioctl (Makefile.am): Likewise.
2641         * modules/sys_select (Makefile.am): Likewise.
2642         * modules/sys_socket (Makefile.am): Likewise.
2643         * modules/sys_times (Makefile.am): Likewise.
2644         * modules/sys_utsname (Makefile.am): Likewise.
2645         * modules/sys_wait (Makefile.am): Likewise.
2646         * modules/wchar (Makefile.am): Likewise.
2647         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
2648         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
2649         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
2650         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
2651         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
2652         Likewise.
2653         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
2654         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
2655         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
2656         Likewise.
2657         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
2658         Likewise.
2659         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
2660         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
2661         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
2662         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
2663         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
2664         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
2665         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
2666         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
2667         (gl_WCHAR_H_DEFAULTS): Likewise.
2668
2669 2009-12-31  Eric Blake  <ebb9@byu.net>
2670
2671         signal, spawn: use link warnings
2672         * lib/signal.in.h (sigset_t): Make unconditional.
2673         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
2674         (sigpending, sigprocmask, sigaction): Add link warnings.
2675         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
2676         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
2677         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
2678         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
2679         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
2680         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
2681         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
2682         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
2683         (posix_spawn_file_actions_destroy)
2684         (posix_spawn_file_actions_addopen)
2685         (posix_spawn_file_actions_addclose)
2686         (posix_spawwn_file_actions_adddup2): Likewise.
2687         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
2688         * tests/test-signal.c (main): Enhance test.
2689
2690         spawn: improve wrapper support
2691         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
2692         (gl_SPAWN_H_DEFAULTS): New defaults.
2693         * modules/spawn (Makefile.am): Substitute them.
2694         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
2695         Only declare if missing or broken.
2696
2697         sys_times, sys_utsname: use include_next
2698         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
2699         header.
2700         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
2701         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
2702         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
2703         * modules/sys_times (Depends-on): Add include_next.
2704         (Makefile.am): Substitute additional values.
2705         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
2706         * lib/sys_times.in.h (includes): Include native header, if
2707         available.
2708         * lib/sys_utsname.in.h (includes): Likewise.
2709         * tests/test-sys_times.c (main): Enhance test.
2710
2711         fdutimensat: revert prior patch
2712         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
2713         utimens.h.
2714         Reported by Bruno Haible.
2715
2716 2009-12-30  Eric Blake  <ebb9@byu.net>
2717
2718         sys_wait: drop link-warning dependency
2719         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
2720         link-warning efforts.
2721         * lib/sys_wait.in.h: Likewise.
2722
2723         fdutimensat: remove bogus dependency
2724         * modules/fdutimensat (Depends-on): Drop inline.
2725
2726         unistd: fix typo
2727         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
2728
2729 2009-12-30  Bruno Haible  <bruno@clisp.org>
2730
2731         Fix compilation error with Solaris cc.
2732         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
2733         * lib/unicase/u16-is-invariant.c: Likewise.
2734         * lib/unicase/u32-is-invariant.c: Likewise.
2735         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
2736
2737 2009-12-30  Bruno Haible  <bruno@clisp.org>
2738
2739         Fix test crash.
2740         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
2741         locales.
2742         Reported by Simon Josefsson <simon@josefsson.org>.
2743
2744 2009-12-30  Bruno Haible  <bruno@clisp.org>
2745
2746         Fix compilation error on most platforms.
2747         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
2748         Reported by Simon Josefsson <simon@josefsson.org>
2749         and Nelson H. F. Beebe <beebe@math.utah.edu>.
2750
2751 2009-12-30  Eric Blake  <ebb9@byu.net>
2752
2753         futimens, utimensat: work around ntfs-3g bug
2754         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
2755         a ctime bug is present, and expand workaround to cover ntfs-3g.
2756         * lib/utimens.c (fdutimens, lutimens): Likewise.
2757         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
2758         (validate_timespec): Adjust return value.
2759         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
2760         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
2761         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
2762
2763 2009-12-29  Eric Blake  <ebb9@byu.net>
2764
2765         link-warning: make usage consistent
2766         * modules/ctype (Depends-on): Add link-warning.
2767         (Makefile.am): Update rules accordingly.
2768         * modules/langinfo (Depends-on, Makefile.am): Likewise.
2769         * modules/locale (Depends-on, Makefile.am): Likewise.
2770         * modules/sys_file (Makefile.am): Likewise.
2771         * modules/getopt-posix (Makefile.am): Delete unused link warning
2772         efforts.
2773         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
2774         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
2775         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
2776         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
2777
2778         stdio: remove unused variables
2779         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
2780         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
2781         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
2782
2783         tests: test more substitute headers
2784         * modules/ctype-tests: New file.
2785         * modules/dirent-tests: Likewise.
2786         * modules/spawn-tests: Likewise.
2787         * modules/sys_file-tests: Likewise.
2788         * modules/sys_ioctl-tests: Likewise.
2789         * modules/sys_wait-tests: Likewise.
2790         * tests/test-ctype.c: Likewise.
2791         * tests/test-dirent.c: Likewise.
2792         * tests/test-spawn.c: Likewise.
2793         * tests/test-sys_file.c: Likewise.
2794         * tests/test-sys_ioctl.c: Likewise.
2795         * tests/test-sys_wait.c: Likewise.
2796         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
2797         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
2798         whether or not flock is in use.
2799
2800         tests: remove License section from module
2801         * modules/arpa_inet-tests: Remove unneeded section.
2802         * modules/byteswap-tests: Likewise.
2803         * modules/ceilf-tests: Likewise.
2804         * modules/ceill-tests: Likewise.
2805         * modules/crypto/des-tests: Likewise.
2806         * modules/crypto/gc-arcfour-tests: Likewise.
2807         * modules/crypto/gc-arctwo-tests: Likewise.
2808         * modules/crypto/gc-des-tests: Likewise.
2809         * modules/crypto/gc-hmac-md5-tests: Likewise.
2810         * modules/crypto/gc-hmac-sha1-tests: Likewise.
2811         * modules/crypto/gc-md2-tests: Likewise.
2812         * modules/crypto/gc-md4-tests: Likewise.
2813         * modules/crypto/gc-md5-tests: Likewise.
2814         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
2815         * modules/crypto/gc-rijndael-tests: Likewise.
2816         * modules/crypto/gc-sha1-tests: Likewise.
2817         * modules/crypto/gc-tests: Likewise.
2818         * modules/crypto/md2-tests: Likewise.
2819         * modules/crypto/md4-tests: Likewise.
2820         * modules/fcntl-h-tests: Likewise.
2821         * modules/floorf-tests: Likewise.
2822         * modules/floorl-tests: Likewise.
2823         * modules/frexp-nolibm-tests: Likewise.
2824         * modules/frexp-tests: Likewise.
2825         * modules/frexpl-nolibm-tests: Likewise.
2826         * modules/frexpl-tests: Likewise.
2827         * modules/getaddrinfo-tests: Likewise.
2828         * modules/inttypes-tests: Likewise.
2829         * modules/isfinite-tests: Likewise.
2830         * modules/isinf-tests: Likewise.
2831         * modules/ldexpl-tests: Likewise.
2832         * modules/locale-tests: Likewise.
2833         * modules/math-tests: Likewise.
2834         * modules/netdb-tests: Likewise.
2835         * modules/netinet_in-tests: Likewise.
2836         * modules/printf-frexp-tests: Likewise.
2837         * modules/printf-frexpl-tests: Likewise.
2838         * modules/priv-set-tests: Likewise.
2839         * modules/random_r-tests: Likewise.
2840         * modules/round-tests: Likewise.
2841         * modules/roundf-tests: Likewise.
2842         * modules/roundl-tests: Likewise.
2843         * modules/search-tests: Likewise.
2844         * modules/select-tests: Likewise.
2845         * modules/signal-tests: Likewise.
2846         * modules/stdbool-tests: Likewise.
2847         * modules/stddef-tests: Likewise.
2848         * modules/stdint-tests: Likewise.
2849         * modules/stdio-tests: Likewise.
2850         * modules/stdlib-tests: Likewise.
2851         * modules/string-tests: Likewise.
2852         * modules/strings-tests: Likewise.
2853         * modules/sys_select-tests: Likewise.
2854         * modules/sys_socket-tests: Likewise.
2855         * modules/sys_stat-tests: Likewise.
2856         * modules/sys_time-tests: Likewise.
2857         * modules/sys_utsname-tests: Likewise.
2858         * modules/sysexits-tests: Likewise.
2859         * modules/time-tests: Likewise.
2860         * modules/trunc-tests: Likewise.
2861         * modules/truncf-tests: Likewise.
2862         * modules/truncl-tests: Likewise.
2863         * modules/tsearch-tests: Likewise.
2864         * modules/unistd-tests: Likewise.
2865         * modules/wchar-tests: Likewise.
2866         * modules/wctype-tests: Likewise.
2867
2868         tests: fix license on several tests
2869         * tests/test-des.c: Update to GPLv3+.
2870         * tests/test-flock.c: Likewise.
2871         * tests/test-fsync.c: Likewise.
2872         * tests/test-futimens.h: Likewise.
2873         * tests/test-gc-arcfour.c: Likewise.
2874         * tests/test-gc-arctwo.c: Likewise.
2875         * tests/test-gc-des.c: Likewise.
2876         * tests/test-gc-hmac-md5.c: Likewise.
2877         * tests/test-gc-hmac-sha1.c: Likewise.
2878         * tests/test-gc-md2.c: Likewise.
2879         * tests/test-gc-md4.c: Likewise.
2880         * tests/test-gc-md5.c: Likewise.
2881         * tests/test-gc-pbkdf2-sha1.c: Likewise.
2882         * tests/test-gc-rijndael.c: Likewise.
2883         * tests/test-gc-sha1.c: Likewise.
2884         * tests/test-gc.c: Likewise.
2885         * tests/test-getcwd.c: Likewise.
2886         * tests/test-link.c: Likewise.
2887         * tests/test-link.h: Likewise.
2888         * tests/test-lutimens.h: Likewise.
2889         * tests/test-md2.c: Likewise.
2890         * tests/test-md4.c: Likewise.
2891         * tests/test-mkdir.h: Likewise.
2892         * tests/test-rename.c: Likewise.
2893         * tests/test-rename.h: Likewise.
2894         * tests/test-safe-alloc.c: Likewise.
2895         * tests/test-utimens-common.h: Likewise.
2896         * tests/test-utimens.h: Likewise.
2897
2898         maint: sync license texts
2899         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
2900         * doc/gpl-3.0.texi: Revert copyright year update.
2901         * doc/lgpl-3.0.texi: Likewise.
2902
2903 2009-12-29  Jim Meyering  <meyering@redhat.com>
2904
2905         update nearly all FSF copyright year lists to include 2009
2906         The files named by the following are exempted:
2907             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
2908               test -f "$dst" && { echo "$dst"; continue; }
2909               test -d "$dst" || continue
2910               echo "$dst"/$(basename "$src")
2911             done > exempt
2912             git ls-files tests/unictype >> exempt
2913         In the remaining files, convert to all-interval notation if
2914         - there is already at least one year interval like 2000-2003
2915         - the file is maintained by me
2916         - the file is in lib/uni*/, where that style already prevails
2917         Otherwise, use update-copyright's default.
2918
2919 2009-12-29  Simon Josefsson  <simon@josefsson.org>
2920         and Eric Blake  <ebb9@byu.net>
2921
2922         tests: don't require debug system() to pass
2923         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
2924         * tests/test-rmdir.h (test_rmdir_func): Likewise.
2925         * tests/test-unlink.h (test_unlink_func): Likewise.
2926         * tests/test-fstatat.c (main): ...into callers.
2927         * tests/test-lstat.c (main): Likewise.
2928         * tests/test-rmdir.c (main): Likewise.
2929         * tests/test-unlink.c (main): Likewise.
2930         * tests/test-unlinkat.c (main): Likewise.
2931         * tests/test-areadlink-with-size.c (main): Don't require a
2932         debug-only system call to pass, aiding cross-testing to mingw.
2933         * tests/test-areadlink.c (main): Likewise.
2934         * tests/test-areadlinkat-with-size.c (main): Likewise.
2935         * tests/test-areadlinkat.c (main): Likewise.
2936         * tests/test-canonicalize-lgpl.c (main): Likewise.
2937         * tests/test-canonicalize.c (main): Likewise.
2938         * tests/test-chown.c (main): Likewise.
2939         * tests/test-fchownat.c (main): Likewise.
2940         * tests/test-lchown.c (main): Likewise.
2941         * tests/test-fdutimensat.c (main): Likewise.
2942         * tests/test-futimens.c (main): Likewise.
2943         * tests/test-link.c (main): Likewise.
2944         * tests/test-linkat.c (main): Likewise.
2945         * tests/test-mkdir.c (main): Likewise.
2946         * tests/test-mkdirat.c (main): Likewise.
2947         * tests/test-mkfifo.c (main): Likewise.
2948         * tests/test-mkfifoat.c (main): Likewise.
2949         * tests/test-mknod.c (main): Likewise.
2950         * tests/test-readlink.c (main): Likewise.
2951         * tests/test-remove.c (main): Likewise.
2952         * tests/test-rename.c (main): Likewise.
2953         * tests/test-renameat.c (main): Likewise.
2954         * tests/test-symlink.c (main): Likewise.
2955         * tests/test-symlinkat.c (main): Likewise.
2956         * tests/test-utimens.c (main): Likewise.
2957         * tests/test-utimensat.c (main): Likewise.
2958
2959 2009-12-29  Simon Josefsson  <simon@josefsson.org>
2960
2961         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
2962         on $(UNUSED_PARAMETER_H) to avoid build failure.
2963
2964 2009-12-28  Jim Meyering  <meyering@redhat.com>
2965
2966         update-copyright: you may specify a max. line length other than 72
2967         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
2968
2969         maint: use consistent FSF copyright line syntax
2970         * lib/posixtm.c: Add missing comma in FSF copyright line.
2971         * lib/posixtm.h: Likewise.
2972         * lib/getugroups.c: Add missing ", Inc.".
2973
2974         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
2975         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
2976         FSF copyright line.  Remove trailing blanks.
2977
2978 2009-12-28  Eric Blake  <ebb9@byu.net>
2979
2980         test-dup2: reduce dependencies
2981         * modules/cloexec (Configure.ac): Set witness.
2982         * modules/dup2-tests (Depends-on): Drop cloexec.
2983         * tests/test-dup2.c (main): Skip portion of test if cloexec module
2984         not present.
2985         Suggested by Bruno Haible.
2986
2987 2009-12-26  Bruno Haible  <bruno@clisp.org>
2988
2989         Remove an unneeded dependency.
2990         * modules/fseterr (Depends-on): Remove dup2.
2991
2992 2009-12-26  Eric Blake  <ebb9@byu.net>
2993
2994         tests: use macros.h in more places
2995         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
2996         (ASSERT_STREAM): Provide default of stderr.
2997         * tests/test-dirent-safer.c: Include macros.h, using alternate
2998         stream for assertions.
2999         * tests/test-dup-safer.c: Likewise.
3000         * tests/test-freopen-safer.c: Likewise.
3001         * tests/test-getopt.c: Likewise.
3002         * tests/test-openat-safer.c: Likewise.
3003         * tests/test-pipe.c: Likewise.
3004         * tests/test-popen-safer.c: Likewise.
3005         * modules/dirent-safer-tests (Files): Include macros.h.
3006         * modules/unistd-safer-tests (Files): Likewise.
3007         * modules/freopen-safer-tests (Files): Likewise.
3008         * modules/getopt-posix-tests (Files): Likewise.
3009         * modules/openat-safer-tests (Files): Likewise.
3010         * modules/pipe-tests (Files): Likewise.
3011
3012 2009-12-26  Bruno Haible  <bruno@clisp.org>
3013
3014         javacomp: Portability fix.
3015         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
3016         that it also works on Solaris.
3017
3018 2009-12-26  Bruno Haible  <bruno@clisp.org>
3019
3020         localename: Fix storage allocation of gl_locale_name_thread's result.
3021         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
3022         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
3023         all platforms that have 'uselocale'.
3024         (gl_locale_name_thread_unsafe): New function, extracted from
3025         gl_locale_name_thread.
3026         (gl_locale_name_thread): Call struniq on all platforms that have
3027         'uselocale'.
3028         * tests/test-localename.c (test_locale_name_thread): Check that the
3029         resulting strings are permanently allocated.
3030         * modules/localename-tests (Depends-on): Add strdup.
3031
3032 2009-12-26  Bruno Haible  <bruno@clisp.org>
3033
3034         * tests/test-localename.c (categories): Fill in the strings.
3035
3036 2009-12-26  Jim Meyering  <meyering@redhat.com>
3037
3038         isdir: complete the removal of m4/isdir.m4
3039         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
3040
3041         isdir: clean up, since at least grep still uses it
3042         * lib/isdir.c: Include "isdir.h".
3043         (S_ISDIR): Remove now-unneeded definition.
3044         * modules/isdir (Files): Add lib/isdir.h.
3045         * lib/isdir.h: New file, with declaration.
3046         * m4/isdir.m4: Remove file -- unneeded.
3047
3048 2009-12-25  Bruno Haible  <bruno@clisp.org>
3049
3050         selinux-h: Make generated .h files standalone.
3051         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
3052         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
3053         * lib/se-selinux.in.h: Likewise.
3054         * modules/selinux-h (Depends-on): Add unused-parameter.
3055         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
3056         selinux/selinux.h and selinux/context.h.
3057         Suggested by Eric Blake.
3058
3059 2009-12-25  Bruno Haible  <bruno@clisp.org>
3060
3061         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
3062         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
3063         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
3064         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
3065         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
3066
3067 2009-12-24  Bruno Haible  <bruno@clisp.org>
3068
3069         openat: Fix warning.
3070         * lib/openat-proc.c: Include <unistd.h>.
3071
3072 2009-12-24  Bruno Haible  <bruno@clisp.org>
3073
3074         New module 'unused-parameter'.
3075         * build-aux/unused-parameter.h: New file, extracted from earlier
3076         gnulib-common.m4.
3077         * modules/unused-parameter: New file.
3078         * lib/unistr.h: Include unused-parameter.h.
3079         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
3080         _GL_UNUSED.
3081         * modules/unistr/base (Depends-on): Add unused-parameter.
3082
3083 2009-12-24  Bruno Haible  <bruno@clisp.org>
3084
3085         Add missing dependencies to 'extensions' module.
3086         * m4/extensions.m4: Add comment.
3087         * modules/accept4 (Depends-on): Add extensions.
3088         * modules/dup3 (Depends-on): Likewise.
3089         * modules/fcntl (Depends-on): Likewise.
3090         * modules/futimens (Depends-on): Likewise.
3091         * modules/mknod (Depends-on): Likewise.
3092         * modules/pipe2 (Depends-on): Likewise.
3093         * modules/stat-time (Depends-on): Likewise.
3094         * modules/strcasestr-simple (Depends-on): Likewise.
3095         * modules/strsignal (Depends-on): Likewise.
3096         * modules/utimensat (Depends-on): Likewise.
3097         * modules/localcharset (Depends-on): Likewise. Needed because of
3098         gl_FCNTL_O_FLAGS.
3099         * modules/wcrtomb (Depends-on): Likewise. Needed because of
3100         AC_TYPE_MBSTATE_T.
3101         * modules/wcsnrtombs (Depends-on): Likewise.
3102         * modules/wcsrtombs (Depends-on): Likewise.
3103
3104 2009-12-24  Bruno Haible  <bruno@clisp.org>
3105
3106         binary-io: Avoid gcc warning due to SET_BINARY.
3107         * lib/binary-io.h (SET_BINARY): Cast the result to void.
3108         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
3109
3110 2009-12-24  Bruno Haible  <bruno@clisp.org>
3111
3112         Avoid future namespace pollution on glibc systems.
3113         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
3114         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
3115         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
3116         glibc systems.
3117
3118 2009-12-24  Bruno Haible  <bruno@clisp.org>
3119
3120         Refactor common macros used in tests.
3121         * tests/macros.h: New file.
3122         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
3123         and/or <stdlib.h>, if appropriate.
3124         (ASSERT, SIZEOF): Remove macros.
3125         * tests/test-areadlink-with-size.c: Likewise.
3126         * tests/test-areadlinkat.c: Likewise.
3127         * tests/test-areadlinkat-with-size.c: Likewise.
3128         * tests/test-argmatch.c: Likewise.
3129         * tests/test-argv-iter.c: Likewise.
3130         * tests/test-array-mergesort.c: Likewise.
3131         * tests/test-array_list.c: Likewise.
3132         * tests/test-array_oset.c: Likewise.
3133         * tests/test-avltree_list.c: Likewise.
3134         * tests/test-avltree_oset.c: Likewise.
3135         * tests/test-avltreehash_list.c: Likewise.
3136         * tests/test-base64.c: Likewise.
3137         * tests/test-binary-io.c: Likewise.
3138         * tests/test-bitrotate.c: Likewise.
3139         * tests/test-btowc.c: Likewise.
3140         * tests/test-byteswap.c: Likewise.
3141         * tests/test-c-ctype.c: Likewise.
3142         * tests/test-c-stack.c: Likewise.
3143         * tests/test-c-strcasecmp.c: Likewise.
3144         * tests/test-c-strcasestr.c: Likewise.
3145         * tests/test-c-strncasecmp.c: Likewise.
3146         * tests/test-c-strstr.c: Likewise.
3147         * tests/test-canonicalize-lgpl.c: Likewise.
3148         * tests/test-canonicalize.c: Likewise.
3149         * tests/test-carray_list.c: Likewise.
3150         * tests/test-ceilf1.c: Likewise.
3151         * tests/test-ceilf2.c: Likewise.
3152         * tests/test-ceill.c: Likewise.
3153         * tests/test-chown.c: Likewise.
3154         * tests/test-cloexec.c: Likewise.
3155         * tests/test-copy-acl.c: Likewise.
3156         * tests/test-copy-file.c: Likewise.
3157         * tests/test-count-one-bits.c: Likewise.
3158         * tests/test-dprintf-posix.c: Likewise.
3159         * tests/test-dup2.c: Likewise.
3160         * tests/test-dup3.c: Likewise.
3161         * tests/test-duplocale.c: Likewise.
3162         * tests/test-fbufmode.c: Likewise.
3163         * tests/test-fchdir.c: Likewise.
3164         * tests/test-fchownat.c: Likewise.
3165         * tests/test-fcntl-safer.c: Likewise.
3166         * tests/test-fcntl.c: Likewise.
3167         * tests/test-fdopendir.c: Likewise.
3168         * tests/test-fdutimensat.c: Likewise.
3169         * tests/test-fflush2.c: Likewise.
3170         * tests/test-file-has-acl.c: Likewise.
3171         * tests/test-filevercmp.c: Likewise.
3172         * tests/test-flock.c: Likewise.
3173         * tests/test-floorf1.c: Likewise.
3174         * tests/test-floorf2.c: Likewise.
3175         * tests/test-floorl.c: Likewise.
3176         * tests/test-fnmatch.c: Likewise.
3177         * tests/test-fopen.h: Likewise.
3178         * tests/test-fpending.c: Likewise.
3179         * tests/test-fprintf-posix.c: Likewise.
3180         * tests/test-fpurge.c: Likewise.
3181         * tests/test-freadable.c: Likewise.
3182         * tests/test-freadahead.c: Likewise.
3183         * tests/test-freading.c: Likewise.
3184         * tests/test-freadptr.c: Likewise.
3185         * tests/test-freadptr2.c: Likewise.
3186         * tests/test-freadseek.c: Likewise.
3187         * tests/test-freopen.c: Likewise.
3188         * tests/test-frexp.c: Likewise.
3189         * tests/test-frexpl.c: Likewise.
3190         * tests/test-fseek.c: Likewise.
3191         * tests/test-fseeko.c: Likewise.
3192         * tests/test-fstatat.c: Likewise.
3193         * tests/test-fstrcmp.c: Likewise.
3194         * tests/test-fsync.c: Likewise.
3195         * tests/test-ftell.c: Likewise.
3196         * tests/test-ftello.c: Likewise.
3197         * tests/test-func.c: Likewise.
3198         * tests/test-futimens.c: Likewise.
3199         * tests/test-fwritable.c: Likewise.
3200         * tests/test-fwriting.c: Likewise.
3201         * tests/test-getcwd.c: Likewise.
3202         * tests/test-getdate.c: Likewise.
3203         * tests/test-getdelim.c: Likewise.
3204         * tests/test-getdtablesize.c: Likewise.
3205         * tests/test-getgroups.c: Likewise.
3206         * tests/test-getline.c: Likewise.
3207         * tests/test-getndelim2.c: Likewise.
3208         * tests/test-glob.c: Likewise.
3209         * tests/test-hash.c: Likewise.
3210         * tests/test-i-ring.c: Likewise.
3211         * tests/test-iconv-utf.c: Likewise.
3212         * tests/test-iconv.c: Likewise.
3213         * tests/test-idpriv-drop.c: Likewise.
3214         * tests/test-idpriv-droptemp.c: Likewise.
3215         * tests/test-inet_ntop.c: Likewise.
3216         * tests/test-inet_pton.c: Likewise.
3217         * tests/test-isblank.c: Likewise.
3218         * tests/test-isfinite.c: Likewise.
3219         * tests/test-isinf.c: Likewise.
3220         * tests/test-isnan.c: Likewise.
3221         * tests/test-isnand.h: Likewise.
3222         * tests/test-isnanf.h: Likewise.
3223         * tests/test-isnanl.h: Likewise.
3224         * tests/test-lchown.c: Likewise.
3225         * tests/test-ldexpl.c: Likewise.
3226         * tests/test-link.c: Likewise.
3227         * tests/test-linkat.c: Likewise.
3228         * tests/test-linked_list.c: Likewise.
3229         * tests/test-linkedhash_list.c: Likewise.
3230         * tests/test-localename.c: Likewise.
3231         * tests/test-lseek.c: Likewise.
3232         * tests/test-lstat.c: Likewise.
3233         * tests/test-mbmemcasecmp.c: Likewise.
3234         * tests/test-mbmemcasecoll.c: Likewise.
3235         * tests/test-mbrtowc.c: Likewise.
3236         * tests/test-mbscasecmp.c: Likewise.
3237         * tests/test-mbscasestr1.c: Likewise.
3238         * tests/test-mbscasestr2.c: Likewise.
3239         * tests/test-mbscasestr3.c: Likewise.
3240         * tests/test-mbscasestr4.c: Likewise.
3241         * tests/test-mbschr.c: Likewise.
3242         * tests/test-mbscspn.c: Likewise.
3243         * tests/test-mbsinit.c: Likewise.
3244         * tests/test-mbsncasecmp.c: Likewise.
3245         * tests/test-mbsnrtowcs.c: Likewise.
3246         * tests/test-mbspbrk.c: Likewise.
3247         * tests/test-mbspcasecmp.c: Likewise.
3248         * tests/test-mbsrchr.c: Likewise.
3249         * tests/test-mbsrtowcs.c: Likewise.
3250         * tests/test-mbsspn.c: Likewise.
3251         * tests/test-mbsstr1.c: Likewise.
3252         * tests/test-mbsstr2.c: Likewise.
3253         * tests/test-mbsstr3.c: Likewise.
3254         * tests/test-memchr.c: Likewise.
3255         * tests/test-memchr2.c: Likewise.
3256         * tests/test-memcmp.c: Likewise.
3257         * tests/test-memmem.c: Likewise.
3258         * tests/test-memrchr.c: Likewise.
3259         * tests/test-mkdir.c: Likewise.
3260         * tests/test-mkdirat.c: Likewise.
3261         * tests/test-mkfifo.c: Likewise.
3262         * tests/test-mkfifoat.c: Likewise.
3263         * tests/test-mknod.c: Likewise.
3264         * tests/test-nanosleep.c: Likewise.
3265         * tests/test-nl_langinfo.c: Likewise.
3266         * tests/test-obstack-printf.c: Likewise.
3267         * tests/test-open.c: Likewise.
3268         * tests/test-openat.c: Likewise.
3269         * tests/test-pipe-filter-gi1.c: Likewise.
3270         * tests/test-pipe-filter-gi2-main.c: Likewise.
3271         * tests/test-pipe-filter-ii1.c: Likewise.
3272         * tests/test-pipe-filter-ii2-main.c: Likewise.
3273         * tests/test-pipe2.c: Likewise.
3274         * tests/test-popen.h: Likewise.
3275         * tests/test-posixtm.c: Likewise.
3276         * tests/test-pread.c: Likewise.
3277         * tests/test-printf-frexp.c: Likewise.
3278         * tests/test-printf-frexpl.c: Likewise.
3279         * tests/test-printf-posix.c: Likewise.
3280         * tests/test-priv-set.c: Likewise.
3281         * tests/test-quotearg.c: Likewise.
3282         * tests/test-random_r.c: Likewise.
3283         * tests/test-rawmemchr.c: Likewise.
3284         * tests/test-rbtree_list.c: Likewise.
3285         * tests/test-rbtree_oset.c: Likewise.
3286         * tests/test-rbtreehash_list.c: Likewise.
3287         * tests/test-readlink.c: Likewise.
3288         * tests/test-remove.c: Likewise.
3289         * tests/test-rename.c: Likewise.
3290         * tests/test-renameat.c: Likewise.
3291         * tests/test-rmdir.c: Likewise.
3292         * tests/test-round1.c: Likewise.
3293         * tests/test-roundf1.c: Likewise.
3294         * tests/test-roundl.c: Likewise.
3295         * tests/test-safe-alloc.c: Likewise.
3296         * tests/test-sameacls.c: Likewise.
3297         * tests/test-set-mode-acl.c: Likewise.
3298         * tests/test-setenv.c: Likewise.
3299         * tests/test-sigaction.c: Likewise.
3300         * tests/test-signbit.c: Likewise.
3301         * tests/test-sleep.c: Likewise.
3302         * tests/test-snprintf-posix.c: Likewise.
3303         * tests/test-snprintf.c: Likewise.
3304         * tests/test-sprintf-posix.c: Likewise.
3305         * tests/test-stat-time.c: Likewise.
3306         * tests/test-stat.c: Likewise.
3307         * tests/test-strcasestr.c: Likewise.
3308         * tests/test-strchrnul.c: Likewise.
3309         * tests/test-strerror.c: Likewise.
3310         * tests/test-striconv.c: Likewise.
3311         * tests/test-striconveh.c: Likewise.
3312         * tests/test-striconveha.c: Likewise.
3313         * tests/test-strsignal.c: Likewise.
3314         * tests/test-strstr.c: Likewise.
3315         * tests/test-strtod.c: Likewise.
3316         * tests/test-strverscmp.c: Likewise.
3317         * tests/test-symlink.c: Likewise.
3318         * tests/test-symlinkat.c: Likewise.
3319         * tests/test-trunc1.c: Likewise.
3320         * tests/test-trunc2.c: Likewise.
3321         * tests/test-truncf1.c: Likewise.
3322         * tests/test-truncf2.c: Likewise.
3323         * tests/test-truncl.c: Likewise.
3324         * tests/test-uname.c: Likewise.
3325         * tests/test-unlink.c: Likewise.
3326         * tests/test-unlinkat.c: Likewise.
3327         * tests/test-unsetenv.c: Likewise.
3328         * tests/test-usleep.c: Likewise.
3329         * tests/test-utimens.c: Likewise.
3330         * tests/test-utimensat.c: Likewise.
3331         * tests/test-vasnprintf-posix.c: Likewise.
3332         * tests/test-vasnprintf-posix2.c: Likewise.
3333         * tests/test-vasnprintf.c: Likewise.
3334         * tests/test-vasprintf-posix.c: Likewise.
3335         * tests/test-vasprintf.c: Likewise.
3336         * tests/test-vdprintf-posix.c: Likewise.
3337         * tests/test-vfprintf-posix.c: Likewise.
3338         * tests/test-vprintf-posix.c: Likewise.
3339         * tests/test-vsnprintf-posix.c: Likewise.
3340         * tests/test-vsnprintf.c: Likewise.
3341         * tests/test-vsprintf-posix.c: Likewise.
3342         * tests/test-wcrtomb.c: Likewise.
3343         * tests/test-wcsnrtombs.c: Likewise.
3344         * tests/test-wcsrtombs.c: Likewise.
3345         * tests/test-wctype.c: Likewise.
3346         * tests/test-wcwidth.c: Likewise.
3347         * tests/test-xfprintf-posix.c: Likewise.
3348         * tests/test-xmemdup0.c: Likewise.
3349         * tests/test-xprintf-posix.c: Likewise.
3350         * tests/test-xvasprintf.c: Likewise.
3351         * tests/unicase/test-locale-language.c: Likewise.
3352         * tests/unicase/test-mapping-part1.h: Likewise.
3353         * tests/unicase/test-predicate-part1.h: Likewise.
3354         * tests/unicase/test-u8-casecmp.c: Likewise.
3355         * tests/unicase/test-u8-casecoll.c: Likewise.
3356         * tests/unicase/test-u8-casefold.c: Likewise.
3357         * tests/unicase/test-u8-is-cased.c: Likewise.
3358         * tests/unicase/test-u8-is-casefolded.c: Likewise.
3359         * tests/unicase/test-u8-is-lowercase.c: Likewise.
3360         * tests/unicase/test-u8-is-titlecase.c: Likewise.
3361         * tests/unicase/test-u8-is-uppercase.c: Likewise.
3362         * tests/unicase/test-u8-tolower.c: Likewise.
3363         * tests/unicase/test-u8-totitle.c: Likewise.
3364         * tests/unicase/test-u8-toupper.c: Likewise.
3365         * tests/unicase/test-u16-casecmp.c: Likewise.
3366         * tests/unicase/test-u16-casecoll.c: Likewise.
3367         * tests/unicase/test-u16-casefold.c: Likewise.
3368         * tests/unicase/test-u16-is-cased.c: Likewise.
3369         * tests/unicase/test-u16-is-casefolded.c: Likewise.
3370         * tests/unicase/test-u16-is-lowercase.c: Likewise.
3371         * tests/unicase/test-u16-is-titlecase.c: Likewise.
3372         * tests/unicase/test-u16-is-uppercase.c: Likewise.
3373         * tests/unicase/test-u16-tolower.c: Likewise.
3374         * tests/unicase/test-u16-totitle.c: Likewise.
3375         * tests/unicase/test-u16-toupper.c: Likewise.
3376         * tests/unicase/test-u32-casecmp.c: Likewise.
3377         * tests/unicase/test-u32-casecoll.c: Likewise.
3378         * tests/unicase/test-u32-casefold.c: Likewise.
3379         * tests/unicase/test-u32-is-cased.c: Likewise.
3380         * tests/unicase/test-u32-is-casefolded.c: Likewise.
3381         * tests/unicase/test-u32-is-lowercase.c: Likewise.
3382         * tests/unicase/test-u32-is-titlecase.c: Likewise.
3383         * tests/unicase/test-u32-is-uppercase.c: Likewise.
3384         * tests/unicase/test-u32-tolower.c: Likewise.
3385         * tests/unicase/test-u32-totitle.c: Likewise.
3386         * tests/unicase/test-u32-toupper.c: Likewise.
3387         * tests/unicase/test-ulc-casecmp.c: Likewise.
3388         * tests/unicase/test-ulc-casecoll.c: Likewise.
3389         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
3390         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
3391         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
3392         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
3393         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
3394         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
3395         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
3396         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
3397         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
3398         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
3399         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
3400         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
3401         * tests/unictype/test-bidi_byname.c: Likewise.
3402         * tests/unictype/test-bidi_name.c: Likewise.
3403         * tests/unictype/test-bidi_of.c: Likewise.
3404         * tests/unictype/test-bidi_test.c: Likewise.
3405         * tests/unictype/test-block_list.c: Likewise.
3406         * tests/unictype/test-block_of.c: Likewise.
3407         * tests/unictype/test-block_test.c: Likewise.
3408         * tests/unictype/test-categ_and.c: Likewise.
3409         * tests/unictype/test-categ_and_not.c: Likewise.
3410         * tests/unictype/test-categ_byname.c: Likewise.
3411         * tests/unictype/test-categ_name.c: Likewise.
3412         * tests/unictype/test-categ_none.c: Likewise.
3413         * tests/unictype/test-categ_of.c: Likewise.
3414         * tests/unictype/test-categ_or.c: Likewise.
3415         * tests/unictype/test-categ_test_withtable.c: Likewise.
3416         * tests/unictype/test-combining.c: Likewise.
3417         * tests/unictype/test-decdigit.c: Likewise.
3418         * tests/unictype/test-digit.c: Likewise.
3419         * tests/unictype/test-mirror.c: Likewise.
3420         * tests/unictype/test-numeric.c: Likewise.
3421         * tests/unictype/test-pr_byname.c: Likewise.
3422         * tests/unictype/test-pr_test.c: Likewise.
3423         * tests/unictype/test-predicate-part1.h: Likewise.
3424         * tests/unictype/test-scripts.c: Likewise.
3425         * tests/unictype/test-sy_c_ident.c: Likewise.
3426         * tests/unictype/test-sy_java_ident.c: Likewise.
3427         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
3428         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
3429         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
3430         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
3431         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
3432         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
3433         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
3434         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
3435         * tests/uninorm/test-canonical-decomposition.c: Likewise.
3436         * tests/uninorm/test-compat-decomposition.c: Likewise.
3437         * tests/uninorm/test-composition.c: Likewise.
3438         * tests/uninorm/test-decomposing-form.c: Likewise.
3439         * tests/uninorm/test-decomposition.c: Likewise.
3440         * tests/uninorm/test-u8-nfc.c: Likewise.
3441         * tests/uninorm/test-u8-nfd.c: Likewise.
3442         * tests/uninorm/test-u8-nfkc.c: Likewise.
3443         * tests/uninorm/test-u8-nfkd.c: Likewise.
3444         * tests/uninorm/test-u8-normcmp.c: Likewise.
3445         * tests/uninorm/test-u8-normcoll.c: Likewise.
3446         * tests/uninorm/test-u16-nfc.c: Likewise.
3447         * tests/uninorm/test-u16-nfd.c: Likewise.
3448         * tests/uninorm/test-u16-nfkc.c: Likewise.
3449         * tests/uninorm/test-u16-nfkd.c: Likewise.
3450         * tests/uninorm/test-u16-normcmp.c: Likewise.
3451         * tests/uninorm/test-u16-normcoll.c: Likewise.
3452         * tests/uninorm/test-u32-nfc.c: Likewise.
3453         * tests/uninorm/test-u32-nfd.c: Likewise.
3454         * tests/uninorm/test-u32-nfkc.c: Likewise.
3455         * tests/uninorm/test-u32-nfkd.c: Likewise.
3456         * tests/uninorm/test-u32-normalize-big.c: Likewise.
3457         * tests/uninorm/test-u32-normcmp.c: Likewise.
3458         * tests/uninorm/test-u32-normcoll.c: Likewise.
3459         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
3460         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
3461         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
3462         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
3463         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
3464         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
3465         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
3466         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
3467         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
3468         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
3469         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
3470         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
3471         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
3472         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
3473         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
3474         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
3475         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
3476         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
3477         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
3478         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
3479         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
3480         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
3481         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
3482         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
3483         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
3484         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
3485         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
3486         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
3487         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
3488         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
3489         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
3490         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
3491         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
3492         * tests/uniwidth/test-u8-strwidth.c: Likewise.
3493         * tests/uniwidth/test-u8-width.c: Likewise.
3494         * tests/uniwidth/test-u16-strwidth.c: Likewise.
3495         * tests/uniwidth/test-u16-width.c: Likewise.
3496         * tests/uniwidth/test-u32-strwidth.c: Likewise.
3497         * tests/uniwidth/test-u32-width.c: Likewise.
3498         * tests/uniwidth/test-uc_width.c: Likewise.
3499         * tests/uniwidth/test-uc_width2.c: Likewise.
3500         * modules/acl-tests (Files): Add tests/macros.h.
3501         * modules/areadlink-tests (Files): Likewise.
3502         * modules/areadlink-with-size-tests (Files): Likewise.
3503         * modules/areadlinkat-tests (Files): Likewise.
3504         * modules/areadlinkat-with-size-tests (Files): Likewise.
3505         * modules/argmatch-tests (Files): Likewise.
3506         * modules/argv-iter-tests (Files): Likewise.
3507         * modules/array-list-tests (Files): Likewise.
3508         * modules/array-mergesort-tests (Files): Likewise.
3509         * modules/array-oset-tests (Files): Likewise.
3510         * modules/avltree-list-tests (Files): Likewise.
3511         * modules/avltree-oset-tests (Files): Likewise.
3512         * modules/avltreehash-list-tests (Files): Likewise.
3513         * modules/base64-tests (Files): Likewise.
3514         * modules/binary-io-tests (Files): Likewise.
3515         * modules/bitrotate-tests (Files): Likewise.
3516         * modules/btowc-tests (Files): Likewise.
3517         * modules/byteswap-tests (Files): Likewise.
3518         * modules/c-ctype-tests (Files): Likewise.
3519         * modules/c-stack-tests (Files): Likewise.
3520         * modules/c-strcase-tests (Files): Likewise.
3521         * modules/c-strcasestr-tests (Files): Likewise.
3522         * modules/c-strstr-tests (Files): Likewise.
3523         * modules/canonicalize-lgpl-tests (Files): Likewise.
3524         * modules/canonicalize-tests (Files): Likewise.
3525         * modules/carray-list-tests (Files): Likewise.
3526         * modules/ceilf-tests (Files): Likewise.
3527         * modules/ceill-tests (Files): Likewise.
3528         * modules/chown-tests (Files): Likewise.
3529         * modules/cloexec-tests (Files): Likewise.
3530         * modules/copy-file-tests (Files): Likewise.
3531         * modules/count-one-bits-tests (Files): Likewise.
3532         * modules/dprintf-posix-tests (Files): Likewise.
3533         * modules/dup2-tests (Files): Likewise.
3534         * modules/dup3-tests (Files): Likewise.
3535         * modules/duplocale-tests (Files): Likewise.
3536         * modules/fbufmode-tests (Files): Likewise.
3537         * modules/fchdir-tests (Files): Likewise.
3538         * modules/fcntl-safer-tests (Files): Likewise.
3539         * modules/fcntl-tests (Files): Likewise.
3540         * modules/fdopendir-tests (Files): Likewise.
3541         * modules/fdutimensat-tests (Files): Likewise.
3542         * modules/fflush-tests (Files): Likewise.
3543         * modules/filevercmp-tests (Files): Likewise.
3544         * modules/flock-tests (Files): Likewise.
3545         * modules/floorf-tests (Files): Likewise.
3546         * modules/floorl-tests (Files): Likewise.
3547         * modules/fnmatch-tests (Files): Likewise.
3548         * modules/fopen-safer-tests (Files): Likewise.
3549         * modules/fopen-tests (Files): Likewise.
3550         * modules/fpending-tests (Files): Likewise.
3551         * modules/fprintf-posix-tests (Files): Likewise.
3552         * modules/fpurge-tests (Files): Likewise.
3553         * modules/freadable-tests (Files): Likewise.
3554         * modules/freadahead-tests (Files): Likewise.
3555         * modules/freading-tests (Files): Likewise.
3556         * modules/freadptr-tests (Files): Likewise.
3557         * modules/freadseek-tests (Files): Likewise.
3558         * modules/freopen-tests (Files): Likewise.
3559         * modules/frexp-nolibm-tests (Files): Likewise.
3560         * modules/frexp-tests (Files): Likewise.
3561         * modules/frexpl-nolibm-tests (Files): Likewise.
3562         * modules/frexpl-tests (Files): Likewise.
3563         * modules/fseek-tests (Files): Likewise.
3564         * modules/fseeko-tests (Files): Likewise.
3565         * modules/fstrcmp-tests (Files): Likewise.
3566         * modules/fsync-tests (Files): Likewise.
3567         * modules/ftell-tests (Files): Likewise.
3568         * modules/ftello-tests (Files): Likewise.
3569         * modules/func-tests (Files): Likewise.
3570         * modules/futimens-tests (Files): Likewise.
3571         * modules/fwritable-tests (Files): Likewise.
3572         * modules/fwriting-tests (Files): Likewise.
3573         * modules/getcwd-tests (Files): Likewise.
3574         * modules/getdate-tests (Files): Likewise.
3575         * modules/getdelim-tests (Files): Likewise.
3576         * modules/getdtablesize-tests (Files): Likewise.
3577         * modules/getgroups-tests (Files): Likewise.
3578         * modules/getline-tests (Files): Likewise.
3579         * modules/getndelim2-tests (Files): Likewise.
3580         * modules/glob-tests (Files): Likewise.
3581         * modules/hash-tests (Files): Likewise.
3582         * modules/i-ring-tests (Files): Likewise.
3583         * modules/iconv-tests (Files): Likewise.
3584         * modules/iconv_open-utf-tests (Files): Likewise.
3585         * modules/idpriv-drop-tests (Files): Likewise.
3586         * modules/idpriv-droptemp-tests (Files): Likewise.
3587         * modules/inet_ntop-tests (Files): Likewise.
3588         * modules/inet_pton-tests (Files): Likewise.
3589         * modules/isblank-tests (Files): Likewise.
3590         * modules/isfinite-tests (Files): Likewise.
3591         * modules/isinf-tests (Files): Likewise.
3592         * modules/isnan-tests (Files): Likewise.
3593         * modules/isnand-nolibm-tests (Files): Likewise.
3594         * modules/isnand-tests (Files): Likewise.
3595         * modules/isnanf-nolibm-tests (Files): Likewise.
3596         * modules/isnanf-tests (Files): Likewise.
3597         * modules/isnanl-nolibm-tests (Files): Likewise.
3598         * modules/isnanl-tests (Files): Likewise.
3599         * modules/lchown-tests (Files): Likewise.
3600         * modules/ldexpl-tests (Files): Likewise.
3601         * modules/link-tests (Files): Likewise.
3602         * modules/linkat-tests (Files): Likewise.
3603         * modules/linked-list-tests (Files): Likewise.
3604         * modules/linkedhash-list-tests (Files): Likewise.
3605         * modules/localename-tests (Files): Likewise.
3606         * modules/lseek-tests (Files): Likewise.
3607         * modules/lstat-tests (Files): Likewise.
3608         * modules/mbmemcasecmp-tests (Files): Likewise.
3609         * modules/mbmemcasecoll-tests (Files): Likewise.
3610         * modules/mbrtowc-tests (Files): Likewise.
3611         * modules/mbscasecmp-tests (Files): Likewise.
3612         * modules/mbscasestr-tests (Files): Likewise.
3613         * modules/mbschr-tests (Files): Likewise.
3614         * modules/mbscspn-tests (Files): Likewise.
3615         * modules/mbsinit-tests (Files): Likewise.
3616         * modules/mbsncasecmp-tests (Files): Likewise.
3617         * modules/mbsnrtowcs-tests (Files): Likewise.
3618         * modules/mbspbrk-tests (Files): Likewise.
3619         * modules/mbspcasecmp-tests (Files): Likewise.
3620         * modules/mbsrchr-tests (Files): Likewise.
3621         * modules/mbsrtowcs-tests (Files): Likewise.
3622         * modules/mbsspn-tests (Files): Likewise.
3623         * modules/mbsstr-tests (Files): Likewise.
3624         * modules/memchr-tests (Files): Likewise.
3625         * modules/memchr2-tests (Files): Likewise.
3626         * modules/memcmp-tests (Files): Likewise.
3627         * modules/memmem-tests (Files): Likewise.
3628         * modules/memrchr-tests (Files): Likewise.
3629         * modules/mkdir-tests (Files): Likewise.
3630         * modules/mkfifo-tests (Files): Likewise.
3631         * modules/mkfifoat-tests (Files): Likewise.
3632         * modules/mknod-tests (Files): Likewise.
3633         * modules/nanosleep-tests (Files): Likewise.
3634         * modules/nl_langinfo-tests (Files): Likewise.
3635         * modules/obstack-printf-tests (Files): Likewise.
3636         * modules/open-tests (Files): Likewise.
3637         * modules/openat-tests (Files): Likewise.
3638         * modules/pipe-filter-gi-tests (Files): Likewise.
3639         * modules/pipe-filter-ii-tests (Files): Likewise.
3640         * modules/pipe2-tests (Files): Likewise.
3641         * modules/popen-safer-tests (Files): Likewise.
3642         * modules/popen-tests (Files): Likewise.
3643         * modules/posixtm-tests (Files): Likewise.
3644         * modules/pread-tests (Files): Likewise.
3645         * modules/printf-frexp-tests (Files): Likewise.
3646         * modules/printf-frexpl-tests (Files): Likewise.
3647         * modules/printf-posix-tests (Files): Likewise.
3648         * modules/priv-set-tests (Files): Likewise.
3649         * modules/quotearg-tests (Files): Likewise.
3650         * modules/random_r-tests (Files): Likewise.
3651         * modules/rawmemchr-tests (Files): Likewise.
3652         * modules/rbtree-list-tests (Files): Likewise.
3653         * modules/rbtree-oset-tests (Files): Likewise.
3654         * modules/rbtreehash-list-tests (Files): Likewise.
3655         * modules/readlink-tests (Files): Likewise.
3656         * modules/remove-tests (Files): Likewise.
3657         * modules/rename-tests (Files): Likewise.
3658         * modules/renameat-tests (Files): Likewise.
3659         * modules/rmdir-tests (Files): Likewise.
3660         * modules/round-tests (Files): Likewise.
3661         * modules/roundf-tests (Files): Likewise.
3662         * modules/roundl-tests (Files): Likewise.
3663         * modules/safe-alloc-tests (Files): Likewise.
3664         * modules/setenv-tests (Files): Likewise.
3665         * modules/sigaction-tests (Files): Likewise.
3666         * modules/signbit-tests (Files): Likewise.
3667         * modules/sleep-tests (Files): Likewise.
3668         * modules/snprintf-posix-tests (Files): Likewise.
3669         * modules/snprintf-tests (Files): Likewise.
3670         * modules/sprintf-posix-tests (Files): Likewise.
3671         * modules/stat-tests (Files): Likewise.
3672         * modules/stat-time-tests (Files): Likewise.
3673         * modules/strcasestr-tests (Files): Likewise.
3674         * modules/strchrnul-tests (Files): Likewise.
3675         * modules/strerror-tests (Files): Likewise.
3676         * modules/striconv-tests (Files): Likewise.
3677         * modules/striconveh-tests (Files): Likewise.
3678         * modules/striconveha-tests (Files): Likewise.
3679         * modules/strsignal-tests (Files): Likewise.
3680         * modules/strstr-tests (Files): Likewise.
3681         * modules/strtod-tests (Files): Likewise.
3682         * modules/strverscmp-tests (Files): Likewise.
3683         * modules/symlink-tests (Files): Likewise.
3684         * modules/symlinkat-tests (Files): Likewise.
3685         * modules/trunc-tests (Files): Likewise.
3686         * modules/truncf-tests (Files): Likewise.
3687         * modules/truncl-tests (Files): Likewise.
3688         * modules/uname-tests (Files): Likewise.
3689         * modules/unicase/cased-tests (Files): Likewise.
3690         * modules/unicase/ignorable-tests (Files): Likewise.
3691         * modules/unicase/locale-language-tests (Files): Likewise.
3692         * modules/unicase/tolower-tests (Files): Likewise.
3693         * modules/unicase/totitle-tests (Files): Likewise.
3694         * modules/unicase/toupper-tests (Files): Likewise.
3695         * modules/unicase/u8-casecmp-tests (Files): Likewise.
3696         * modules/unicase/u8-casecoll-tests (Files): Likewise.
3697         * modules/unicase/u8-casefold-tests (Files): Likewise.
3698         * modules/unicase/u8-is-cased-tests (Files): Likewise.
3699         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
3700         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
3701         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
3702         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
3703         * modules/unicase/u8-tolower-tests (Files): Likewise.
3704         * modules/unicase/u8-totitle-tests (Files): Likewise.
3705         * modules/unicase/u8-toupper-tests (Files): Likewise.
3706         * modules/unicase/u16-casecmp-tests (Files): Likewise.
3707         * modules/unicase/u16-casecoll-tests (Files): Likewise.
3708         * modules/unicase/u16-casefold-tests (Files): Likewise.
3709         * modules/unicase/u16-is-cased-tests (Files): Likewise.
3710         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
3711         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
3712         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
3713         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
3714         * modules/unicase/u16-tolower-tests (Files): Likewise.
3715         * modules/unicase/u16-totitle-tests (Files): Likewise.
3716         * modules/unicase/u16-toupper-tests (Files): Likewise.
3717         * modules/unicase/u32-casecmp-tests (Files): Likewise.
3718         * modules/unicase/u32-casecoll-tests (Files): Likewise.
3719         * modules/unicase/u32-casefold-tests (Files): Likewise.
3720         * modules/unicase/u32-is-cased-tests (Files): Likewise.
3721         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
3722         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
3723         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
3724         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
3725         * modules/unicase/u32-tolower-tests (Files): Likewise.
3726         * modules/unicase/u32-totitle-tests (Files): Likewise.
3727         * modules/unicase/u32-toupper-tests (Files): Likewise.
3728         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
3729         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
3730         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
3731         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
3732         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
3733         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
3734         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
3735         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
3736         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
3737         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
3738         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
3739         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
3740         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
3741         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
3742         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
3743         * modules/unictype/bidicategory-name-tests (Files): Likewise.
3744         * modules/unictype/bidicategory-of-tests (Files): Likewise.
3745         * modules/unictype/bidicategory-test-tests (Files): Likewise.
3746         * modules/unictype/block-list-tests (Files): Likewise.
3747         * modules/unictype/block-of-tests (Files): Likewise.
3748         * modules/unictype/block-test-tests (Files): Likewise.
3749         * modules/unictype/category-C-tests (Files): Likewise.
3750         * modules/unictype/category-Cc-tests (Files): Likewise.
3751         * modules/unictype/category-Cf-tests (Files): Likewise.
3752         * modules/unictype/category-Cn-tests (Files): Likewise.
3753         * modules/unictype/category-Co-tests (Files): Likewise.
3754         * modules/unictype/category-Cs-tests (Files): Likewise.
3755         * modules/unictype/category-L-tests (Files): Likewise.
3756         * modules/unictype/category-Ll-tests (Files): Likewise.
3757         * modules/unictype/category-Lm-tests (Files): Likewise.
3758         * modules/unictype/category-Lo-tests (Files): Likewise.
3759         * modules/unictype/category-Lt-tests (Files): Likewise.
3760         * modules/unictype/category-Lu-tests (Files): Likewise.
3761         * modules/unictype/category-M-tests (Files): Likewise.
3762         * modules/unictype/category-Mc-tests (Files): Likewise.
3763         * modules/unictype/category-Me-tests (Files): Likewise.
3764         * modules/unictype/category-Mn-tests (Files): Likewise.
3765         * modules/unictype/category-N-tests (Files): Likewise.
3766         * modules/unictype/category-Nd-tests (Files): Likewise.
3767         * modules/unictype/category-Nl-tests (Files): Likewise.
3768         * modules/unictype/category-No-tests (Files): Likewise.
3769         * modules/unictype/category-P-tests (Files): Likewise.
3770         * modules/unictype/category-Pc-tests (Files): Likewise.
3771         * modules/unictype/category-Pd-tests (Files): Likewise.
3772         * modules/unictype/category-Pe-tests (Files): Likewise.
3773         * modules/unictype/category-Pf-tests (Files): Likewise.
3774         * modules/unictype/category-Pi-tests (Files): Likewise.
3775         * modules/unictype/category-Po-tests (Files): Likewise.
3776         * modules/unictype/category-Ps-tests (Files): Likewise.
3777         * modules/unictype/category-S-tests (Files): Likewise.
3778         * modules/unictype/category-Sc-tests (Files): Likewise.
3779         * modules/unictype/category-Sk-tests (Files): Likewise.
3780         * modules/unictype/category-Sm-tests (Files): Likewise.
3781         * modules/unictype/category-So-tests (Files): Likewise.
3782         * modules/unictype/category-Z-tests (Files): Likewise.
3783         * modules/unictype/category-Zl-tests (Files): Likewise.
3784         * modules/unictype/category-Zp-tests (Files): Likewise.
3785         * modules/unictype/category-Zs-tests (Files): Likewise.
3786         * modules/unictype/category-and-not-tests (Files): Likewise.
3787         * modules/unictype/category-and-tests (Files): Likewise.
3788         * modules/unictype/category-byname-tests (Files): Likewise.
3789         * modules/unictype/category-name-tests (Files): Likewise.
3790         * modules/unictype/category-none-tests (Files): Likewise.
3791         * modules/unictype/category-of-tests (Files): Likewise.
3792         * modules/unictype/category-or-tests (Files): Likewise.
3793         * modules/unictype/category-test-withtable-tests (Files): Likewise.
3794         * modules/unictype/combining-class-tests (Files): Likewise.
3795         * modules/unictype/ctype-alnum-tests (Files): Likewise.
3796         * modules/unictype/ctype-alpha-tests (Files): Likewise.
3797         * modules/unictype/ctype-blank-tests (Files): Likewise.
3798         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
3799         * modules/unictype/ctype-digit-tests (Files): Likewise.
3800         * modules/unictype/ctype-graph-tests (Files): Likewise.
3801         * modules/unictype/ctype-lower-tests (Files): Likewise.
3802         * modules/unictype/ctype-print-tests (Files): Likewise.
3803         * modules/unictype/ctype-punct-tests (Files): Likewise.
3804         * modules/unictype/ctype-space-tests (Files): Likewise.
3805         * modules/unictype/ctype-upper-tests (Files): Likewise.
3806         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
3807         * modules/unictype/decimal-digit-tests (Files): Likewise.
3808         * modules/unictype/digit-tests (Files): Likewise.
3809         * modules/unictype/mirror-tests (Files): Likewise.
3810         * modules/unictype/numeric-tests (Files): Likewise.
3811         * modules/unictype/property-alphabetic-tests (Files): Likewise.
3812         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
3813         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
3814         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
3815         Likewise.
3816         * modules/unictype/property-bidi-block-separator-tests (Files):
3817         Likewise.
3818         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
3819         Likewise.
3820         * modules/unictype/property-bidi-common-separator-tests (Files):
3821         Likewise.
3822         * modules/unictype/property-bidi-control-tests (Files): Likewise.
3823         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
3824         Likewise.
3825         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
3826         Likewise.
3827         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
3828         Likewise.
3829         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
3830         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
3831         Likewise.
3832         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
3833         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
3834         Likewise.
3835         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
3836         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
3837         * modules/unictype/property-bidi-segment-separator-tests (Files):
3838         Likewise.
3839         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
3840         * modules/unictype/property-byname-tests (Files): Likewise.
3841         * modules/unictype/property-combining-tests (Files): Likewise.
3842         * modules/unictype/property-composite-tests (Files): Likewise.
3843         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
3844         * modules/unictype/property-dash-tests (Files): Likewise.
3845         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
3846         * modules/unictype/property-default-ignorable-code-point-tests (Files):
3847         Likewise.
3848         * modules/unictype/property-deprecated-tests (Files): Likewise.
3849         * modules/unictype/property-diacritic-tests (Files): Likewise.
3850         * modules/unictype/property-extender-tests (Files): Likewise.
3851         * modules/unictype/property-format-control-tests (Files): Likewise.
3852         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
3853         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
3854         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
3855         * modules/unictype/property-hex-digit-tests (Files): Likewise.
3856         * modules/unictype/property-hyphen-tests (Files): Likewise.
3857         * modules/unictype/property-id-continue-tests (Files): Likewise.
3858         * modules/unictype/property-id-start-tests (Files): Likewise.
3859         * modules/unictype/property-ideographic-tests (Files): Likewise.
3860         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
3861         * modules/unictype/property-ids-trinary-operator-tests (Files):
3862         Likewise.
3863         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
3864         * modules/unictype/property-iso-control-tests (Files): Likewise.
3865         * modules/unictype/property-join-control-tests (Files): Likewise.
3866         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
3867         * modules/unictype/property-line-separator-tests (Files): Likewise.
3868         * modules/unictype/property-logical-order-exception-tests (Files):
3869         Likewise.
3870         * modules/unictype/property-lowercase-tests (Files): Likewise.
3871         * modules/unictype/property-math-tests (Files): Likewise.
3872         * modules/unictype/property-non-break-tests (Files): Likewise.
3873         * modules/unictype/property-not-a-character-tests (Files): Likewise.
3874         * modules/unictype/property-numeric-tests (Files): Likewise.
3875         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
3876         * modules/unictype/property-other-default-ignorable-code-point-tests
3877         (Files): Likewise.
3878         * modules/unictype/property-other-grapheme-extend-tests (Files):
3879         Likewise.
3880         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
3881         * modules/unictype/property-other-id-start-tests (Files): Likewise.
3882         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
3883         * modules/unictype/property-other-math-tests (Files): Likewise.
3884         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
3885         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
3886         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
3887         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
3888         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
3889         * modules/unictype/property-private-use-tests (Files): Likewise.
3890         * modules/unictype/property-punctuation-tests (Files): Likewise.
3891         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
3892         * modules/unictype/property-radical-tests (Files): Likewise.
3893         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
3894         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
3895         * modules/unictype/property-space-tests (Files): Likewise.
3896         * modules/unictype/property-terminal-punctuation-tests (Files):
3897         Likewise.
3898         * modules/unictype/property-test-tests (Files): Likewise.
3899         * modules/unictype/property-titlecase-tests (Files): Likewise.
3900         * modules/unictype/property-unassigned-code-value-tests (Files):
3901         Likewise.
3902         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
3903         * modules/unictype/property-uppercase-tests (Files): Likewise.
3904         * modules/unictype/property-variation-selector-tests (Files): Likewise.
3905         * modules/unictype/property-white-space-tests (Files): Likewise.
3906         * modules/unictype/property-xid-continue-tests (Files): Likewise.
3907         * modules/unictype/property-xid-start-tests (Files): Likewise.
3908         * modules/unictype/property-zero-width-tests (Files): Likewise.
3909         * modules/unictype/scripts-tests (Files): Likewise.
3910         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
3911         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
3912         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
3913         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
3914         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
3915         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
3916         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
3917         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
3918         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
3919         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
3920         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
3921         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
3922         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
3923         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
3924         * modules/uninorm/composition-tests (Files): Likewise.
3925         * modules/uninorm/decomposing-form-tests (Files): Likewise.
3926         * modules/uninorm/decomposition-tests (Files): Likewise.
3927         * modules/uninorm/filter-tests (Files): Likewise.
3928         * modules/uninorm/nfc-tests (Files): Likewise.
3929         * modules/uninorm/nfd-tests (Files): Likewise.
3930         * modules/uninorm/nfkc-tests (Files): Likewise.
3931         * modules/uninorm/nfkd-tests (Files): Likewise.
3932         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
3933         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
3934         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
3935         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
3936         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
3937         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
3938         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
3939         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
3940         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
3941         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
3942         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
3943         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
3944         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
3945         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
3946         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
3947         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
3948         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
3949         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
3950         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
3951         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
3952         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
3953         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
3954         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
3955         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
3956         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
3957         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
3958         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
3959         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
3960         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
3961         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
3962         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
3963         * modules/uniwidth/u8-width-tests (Files): Likewise.
3964         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
3965         * modules/uniwidth/u16-width-tests (Files): Likewise.
3966         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
3967         * modules/uniwidth/u32-width-tests (Files): Likewise.
3968         * modules/uniwidth/width-tests (Files): Likewise.
3969         * modules/unlink-tests (Files): Likewise.
3970         * modules/unsetenv-tests (Files): Likewise.
3971         * modules/usleep-tests (Files): Likewise.
3972         * modules/utimens-tests (Files): Likewise.
3973         * modules/utimensat-tests (Files): Likewise.
3974         * modules/vasnprintf-posix-tests (Files): Likewise.
3975         * modules/vasnprintf-tests (Files): Likewise.
3976         * modules/vasprintf-posix-tests (Files): Likewise.
3977         * modules/vasprintf-tests (Files): Likewise.
3978         * modules/vdprintf-posix-tests (Files): Likewise.
3979         * modules/vfprintf-posix-tests (Files): Likewise.
3980         * modules/vprintf-posix-tests (Files): Likewise.
3981         * modules/vsnprintf-posix-tests (Files): Likewise.
3982         * modules/vsnprintf-tests (Files): Likewise.
3983         * modules/vsprintf-posix-tests (Files): Likewise.
3984         * modules/wcrtomb-tests (Files): Likewise.
3985         * modules/wcsnrtombs-tests (Files): Likewise.
3986         * modules/wcsrtombs-tests (Files): Likewise.
3987         * modules/wctype-tests (Files): Likewise.
3988         * modules/wcwidth-tests (Files): Likewise.
3989         * modules/xmemdup0-tests (Files): Likewise.
3990         * modules/xprintf-posix-tests (Files): Likewise.
3991         * modules/xvasprintf-tests (Files): Likewise.
3992
3993 2009-12-24  Eric Blake  <ebb9@byu.net>
3994
3995         test-nanosleep: fix typo
3996         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
3997         patch.
3998         Reported by Bruno Haible.
3999
4000 2009-12-24  Bruno Haible  <bruno@clisp.org>
4001
4002         Reduce namespace pollution on glibc systems.
4003         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
4004         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
4005         systems.
4006         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
4007         <getopt.h> on glibc systems.
4008         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
4009         systems.
4010         * lib/fcntl.c: Include <unistd.h> here instead.
4011
4012 2009-12-24  Bruno Haible  <bruno@clisp.org>
4013
4014         * lib/stdlib.in.h (includes): Fix typo in today's commit.
4015
4016 2009-12-24  Eric Blake  <ebb9@byu.net>
4017
4018         tests: add signature checks
4019         * tests/signature.h (SIGNATURE_CHECK): New file.
4020         * modules/atexit-tests (Files): Use it.
4021         * modules/btowc-tests (Files): Likewise.
4022         * modules/canonicalize-lgpl-tests (Files): Likewise.
4023         * modules/ceilf-tests (Files): Likewise.
4024         * modules/ceill-tests (Files): Likewise.
4025         * modules/chown-tests (Files): Likewise.
4026         * modules/dprintf-posix-tests (Files): Likewise.
4027         * modules/dup2-tests (Files): Likewise.
4028         * modules/dup3-tests (Files): Likewise.
4029         * modules/duplocale-tests (Files): Likewise.
4030         * modules/fchdir-tests (Files): Likewise.
4031         * modules/fcntl-tests (Files): Likewise.
4032         * modules/fdopendir-tests (Files): Likewise.
4033         * modules/fflush-tests (Files): Likewise.
4034         * modules/flock-tests (Files): Likewise.
4035         * modules/floorf-tests (Files): Likewise.
4036         * modules/floorl-tests (Files): Likewise.
4037         * modules/fnmatch-tests (Files): Likewise.
4038         * modules/fopen-tests (Files): Likewise.
4039         * modules/fprintf-posix-tests (Files): Likewise.
4040         * modules/freopen-tests (Files): Likewise.
4041         * modules/frexp-nolibm-tests (Files): Likewise.
4042         * modules/frexp-tests (Files): Likewise.
4043         * modules/frexpl-nolibm-tests (Files): Likewise.
4044         * modules/frexpl-tests (Files): Likewise.
4045         * modules/fseek-tests (Files): Likewise.
4046         * modules/fseeko-tests (Files): Likewise.
4047         * modules/fsync-tests (Files): Likewise.
4048         * modules/ftell-tests (Files): Likewise.
4049         * modules/ftello-tests (Files): Likewise.
4050         * modules/futimens-tests (Files): Likewise.
4051         * modules/getaddrinfo-tests (Files): Likewise.
4052         * modules/getcwd-tests (Files): Likewise.
4053         * modules/getdelim-tests (Files): Likewise.
4054         * modules/getdtablesize-tests (Files): Likewise.
4055         * modules/getgroups-tests (Files): Likewise.
4056         * modules/gethostname-tests (Files): Likewise.
4057         * modules/getline-tests (Files): Likewise.
4058         * modules/getopt-posix-tests (Files): Likewise.
4059         * modules/gettimeofday-tests (Files): Likewise.
4060         * modules/glob-tests (Files): Likewise.
4061         * modules/iconv-tests (Files): Likewise.
4062         * modules/inet_ntop-tests (Files): Likewise.
4063         * modules/inet_pton-tests (Files): Likewise.
4064         * modules/isblank-tests (Files): Likewise.
4065         * modules/lchown-tests (Files): Likewise.
4066         * modules/ldexpl-tests (Files): Likewise.
4067         * modules/link-tests (Files): Likewise.
4068         * modules/linkat-tests (Files): Likewise.
4069         * modules/lseek-tests (Files): Likewise.
4070         * modules/lstat-tests (Files): Likewise.
4071         * modules/mbrtowc-tests (Files): Likewise.
4072         * modules/mbsinit-tests (Files): Likewise.
4073         * modules/mbsnrtowcs-tests (Files): Likewise.
4074         * modules/mbsrtowcs-tests (Files): Likewise.
4075         * modules/memchr-tests (Files): Likewise.
4076         * modules/memcmp-tests (Files): Likewise.
4077         * modules/memmem-tests (Files): Likewise.
4078         * modules/memrchr-tests (Files): Likewise.
4079         * modules/mkdir-tests (Files): Likewise.
4080         * modules/mkfifo-tests (Files): Likewise.
4081         * modules/mkfifoat-tests (Files): Likewise.
4082         * modules/mknod-tests (Files): Likewise.
4083         * modules/nanosleep-tests (Files): Likewise.
4084         * modules/nl_langinfo-tests (Files): Likewise.
4085         * modules/obstack-printf-tests (Files): Likewise.
4086         * modules/open-tests (Files): Likewise.
4087         * modules/openat-tests (Files): Likewise.
4088         * modules/perror-tests (Files): Likewise.
4089         * modules/pipe2-tests (Files): Likewise.
4090         * modules/poll-tests (Files): Likewise.
4091         * modules/popen-tests (Files): Likewise.
4092         * modules/posix_spawn-tests (Files): Likewise.
4093         * modules/posix_spawnp-tests (Files): Likewise.
4094         * modules/pread-tests (Files): Likewise.
4095         * modules/printf-posix-tests (Files): Likewise.
4096         * modules/pty-tests (Files): Likewise.
4097         * modules/random_r-tests (Files): Likewise.
4098         * modules/rawmemchr-tests (Files): Likewise.
4099         * modules/readlink-tests (Files): Likewise.
4100         * modules/remove-tests (Files): Likewise.
4101         * modules/rename-tests (Files): Likewise.
4102         * modules/renameat-tests (Files): Likewise.
4103         * modules/rmdir-tests (Files): Likewise.
4104         * modules/round-tests (Files): Likewise.
4105         * modules/roundf-tests (Files): Likewise.
4106         * modules/roundl-tests (Files): Likewise.
4107         * modules/select-tests (Files): Likewise.
4108         * modules/setenv-tests (Files): Likewise.
4109         * modules/sigaction-tests (Files): Likewise.
4110         * modules/sleep-tests (Files): Likewise.
4111         * modules/snprintf-posix-tests (Files): Likewise.
4112         * modules/snprintf-tests (Files): Likewise.
4113         * modules/sprintf-posix-tests (Files): Likewise.
4114         * modules/stat-tests (Files): Likewise.
4115         * modules/strcasestr-tests (Files): Likewise.
4116         * modules/strchrnul-tests (Files): Likewise.
4117         * modules/strerror-tests (Files): Likewise.
4118         * modules/strsignal-tests (Files): Likewise.
4119         * modules/strstr-tests (Files): Likewise.
4120         * modules/strtod-tests (Files): Likewise.
4121         * modules/strverscmp-tests (Files): Likewise.
4122         * modules/symlink-tests (Files): Likewise.
4123         * modules/symlinkat-tests (Files): Likewise.
4124         * modules/times-tests (Files): Likewise.
4125         * modules/trunc-tests (Files): Likewise.
4126         * modules/truncf-tests (Files): Likewise.
4127         * modules/truncl-tests (Files): Likewise.
4128         * modules/tsearch-tests (Files): Likewise.
4129         * modules/uname-tests (Files): Likewise.
4130         * modules/unlink-tests (Files): Likewise.
4131         * modules/unsetenv-tests (Files): Likewise.
4132         * modules/usleep-tests (Files): Likewise.
4133         * modules/utimensat-tests (Files): Likewise.
4134         * modules/vasprintf-tests (Files): Likewise.
4135         * modules/vdprintf-posix-tests (Files): Likewise.
4136         * modules/vfprintf-posix-tests (Files): Likewise.
4137         * modules/vprintf-posix-tests (Files): Likewise.
4138         * modules/vsnprintf-posix-tests (Files): Likewise.
4139         * modules/vsnprintf-tests (Files): Likewise.
4140         * modules/vsprintf-posix-tests (Files): Likewise.
4141         * modules/wcrtomb-tests (Files): Likewise.
4142         * modules/wcsnrtombs-tests (Files): Likewise.
4143         * modules/wcsrtombs-tests (Files): Likewise.
4144         * modules/wcwidth-tests (Files): Likewise.
4145         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
4146         * tests/test-isinf.c (isinf): Likewise.
4147         * tests/test-isnan.c (isnan): Likewise.
4148         * tests/test-signbit.c (signbit): Likewise.
4149         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
4150         declaration, either as macro or with correct signature.
4151         (select): Ensure function under test is declared with correct
4152         signature in correct header.
4153         * tests/test-atexit.c (atexit): Likewise.
4154         * tests/test-btowc.c (btowc): Likewise.
4155         * tests/test-canonicalize-lgpl.c (realpath)
4156         (canonicalize_file_name): Likewise.
4157         * tests/test-ceilf1.c (ceilf): Likewise.
4158         * tests/test-ceill.c (ceill): Likewise.
4159         * tests/test-chown.c (chown): Likewise.
4160         * tests/test-dprintf-posix.c (dprintf): Likewise.
4161         * tests/test-dup2.c (dup2): Likewise.
4162         * tests/test-dup3.c (dup3): Likewise.
4163         * tests/test-duplocale.c (duplocale): Likewise.
4164         * tests/test-fchdir.c (fchdir): Likewise.
4165         * tests/test-fchownat.c (fchownat): Likewise.
4166         * tests/test-fcntl.c (fcntl): Likewise.
4167         * tests/test-fdopendir.c (fdopendir): Likewise.
4168         * tests/test-fflush.c (fflush): Likewise.
4169         * tests/test-flock.c (flock): Likewise.
4170         * tests/test-floorf1.c (floorf): Likewise.
4171         * tests/test-floorl.c (floorl): Likewise.
4172         * tests/test-fnmatch.c (fnmatch): Likewise.
4173         * tests/test-fopen.c (fopen): Likewise.
4174         * tests/test-fprintf-posix.c (fprintf): Likewise.
4175         * tests/test-freopen.c (freopen): Likewise.
4176         * tests/test-frexp.c (frexp): Likewise.
4177         * tests/test-frexpl.c (frexpl): Likewise.
4178         * tests/test-fseek.c (fseek): Likewise.
4179         * tests/test-fseeko.c (fseeko): Likewise.
4180         * tests/test-fstatat.c (fstatat): Likewise.
4181         * tests/test-fsync.c (fsync): Likewise.
4182         * tests/test-ftell.c (ftell): Likewise.
4183         * tests/test-ftello.c (ftello): Likewise.
4184         * tests/test-futimens.c (futimens): Likewise.
4185         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
4186         (gai_strerror): Likewise.
4187         * tests/test-getcwd.c (getcwd): Likewise.
4188         * tests/test-getdelim.c (getdelim): Likewise.
4189         * tests/test-getdtablesize.c (getdtablesize): Likewise.
4190         * tests/test-getgroups.c (getgroups): Likewise.
4191         * tests/test-gethostname.c (gethostname): Likewise.
4192         * tests/test-getline.c (getline): Likewise.
4193         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
4194         Likewise.
4195         * tests/test-gettimeofday.c (gettimeofday): Likewise.
4196         * tests/test-glob.c (glob, globfree): Likewise.
4197         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
4198         * tests/test-inet_ntop.c (inet_ntop): Likewise.
4199         * tests/test-inet_pton.c (inet_pton): Likewise.
4200         * tests/test-isblank.c (isblank): Likewise.
4201         * tests/test-lchown.c (lchown): Likewise.
4202         * tests/test-ldexpl.c (ldexpl): Likewise.
4203         * tests/test-link.c (link): Likewise.
4204         * tests/test-linkat.c (linkat): Likewise.
4205         * tests/test-lseek.c (lseek): Likewise.
4206         * tests/test-lstat.c (lstat): Likewise.
4207         * tests/test-mbrtowc.c (mbrtowc): Likewise.
4208         * tests/test-mbsinit.c (mbsinit): Likewise.
4209         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
4210         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
4211         * tests/test-memchr.c (memchr): Likewise.
4212         * tests/test-memcmp.c (memcmp): Likewise.
4213         * tests/test-memmem.c (memmem): Likewise.
4214         * tests/test-memrchr.c (memrchr): Likewise.
4215         * tests/test-mkdir.c (mkdir): Likewise.
4216         * tests/test-mkdirat.c (mkdirat): Likewise.
4217         * tests/test-mkfifo.c (mkfifo): Likewise.
4218         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
4219         * tests/test-mknod.c (mknod): Likewise.
4220         * tests/test-nanosleep.c (nanosleep): Likewise.
4221         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
4222         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
4223         Likewise.
4224         * tests/test-open.c (open): Likewise.
4225         * tests/test-openat.c (openat): Likewise.
4226         * tests/test-perror.c (perror): Likewise.
4227         * tests/test-pipe2.c (pipe2): Likewise.
4228         * tests/test-poll.c (poll): Likewise.
4229         * tests/test-popen.c (popen, pclose): Likewise.
4230         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
4231         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
4232         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
4233         (posix_spawn_file_actions_destroy)
4234         (posix_spawn_file_actions_addclose)
4235         (posix_spawn_file_actions_addopen)
4236         (posix_spawn_file_actions_adddup2): Likewise.
4237         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
4238         * tests/test-pread.c (pread): Likewise.
4239         * tests/test-printf-posix.c (printf): Likewise.
4240         * tests/test-pty.c (openpty, forkpty): Likewise.
4241         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
4242         (random_r): Likewise.
4243         * tests/test-rawmemchr.c (rawmemchr): Likewise.
4244         * tests/test-readlink.c (readlink): Likewise.
4245         * tests/test-remove.c (remove): Likewise.
4246         * tests/test-rename.c (rename): Likewise.
4247         * tests/test-renameat.c (renameat): Likewise.
4248         * tests/test-rmdir.c (rmdir): Likewise.
4249         * tests/test-round1.c (round): Likewise.
4250         * tests/test-roundf1.c (roundf): Likewise.
4251         * tests/test-roundl.c (roundl): Likewise.
4252         * tests/test-setenv.c (setenv): Likewise.
4253         * tests/test-sigaction.c (sigaction): Likewise.
4254         * tests/test-sleep.c (sleep): Likewise.
4255         * tests/test-snprintf.c (snprintf): Likewise.
4256         * tests/test-sprintf-posix.c (sprintf): Likewise.
4257         * tests/test-stat.c (stat): Likewise.
4258         * tests/test-stpncpy.c (stpncpy): Likewise.
4259         * tests/test-strcasestr.c (strcasestr): Likewise.
4260         * tests/test-strchrnul.c (strchrnul): Likewise.
4261         * tests/test-strerror.c (strerror): Likewise.
4262         * tests/test-strsignal.c (strsignal): Likewise.
4263         * tests/test-strstr.c (strstr): Likewise.
4264         * tests/test-strtod.c (strtod): Likewise.
4265         * tests/test-strverscmp.c (strverscmp): Likewise.
4266         * tests/test-symlink.c (symlink): Likewise.
4267         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
4268         * tests/test-times.c (times): Likewise.
4269         * tests/test-trunc1.c (trunc): Likewise.
4270         * tests/test-truncf1.c (truncf): Likewise.
4271         * tests/test-truncl.c (truncl): Likewise.
4272         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
4273         Likewise.
4274         * tests/test-uname.c (uname): Likewise.
4275         * tests/test-unlink.c (unlink): Likewise.
4276         * tests/test-unlinkat.c (unlinkat): Likewise.
4277         * tests/test-unsetenv.c (unsetenv): Likewise.
4278         * tests/test-usleep.c (usleep): Likewise.
4279         * tests/test-utimensat.c (utimensat): Likewise.
4280         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
4281         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
4282         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
4283         * tests/test-vprintf-posix.c (vprintf): Likewise.
4284         * tests/test-vsnprintf.c (vsnprintf): Likewise.
4285         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
4286         * tests/test-wcrtomb.c (wcrtomb): Likewise.
4287         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
4288         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
4289         * tests/test-wcwidth.c (wcwidth): Likewise.
4290
4291         build: pull in conditional headers during GNULIB_POSIXCHECK
4292         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
4293         definitions from any conditionally-included headers.
4294         * lib/stdlib.in.h (includes): Likewise.
4295         * lib/unistd.in.h (includes): Likewise.
4296
4297 2009-12-24  Bruno Haible  <bruno@clisp.org>
4298
4299         * tests/test-argv-iter.c: Include header file being tested immediately
4300         after config.h.
4301         * tests/test-base64.c: Likewise.
4302         * tests/test-flock.c: Likewise.
4303         * tests/test-fsync.c: Likewise.
4304         * tests/test-getdate.c: Likewise.
4305         * tests/test-getndelim2.c: Likewise.
4306         * tests/test-isfinite.c: Likewise.
4307         * tests/test-isinf.c: Likewise.
4308         * tests/test-strerror.c: Likewise.
4309         * tests/test-strsignal.c: Likewise.
4310
4311 2009-12-23  Eric Blake  <ebb9@byu.net>
4312
4313         unistd: work around cygwin bug
4314         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
4315         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
4316         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
4317
4318 2009-12-23  Bruno Haible  <bruno@clisp.org>
4319
4320         localename: More tests.
4321         * tests/test-localename.c (SIZEOF): New macro.
4322         (categories): New variable.
4323         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
4324         test_locale_name_default): Add test w.r.t. thread locale.
4325         (test_locale_name_thread): New function.
4326         (main): Invoke it.
4327
4328         localename: Make aware of thread locale.
4329         * lib/localename.h (gl_locale_name_thread): New declaration.
4330         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
4331         behaviour with respect to thread locale.
4332         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
4333         <langinfo.h>, glthread/lock.h.
4334         (SIZE_BITS): New macro.
4335         (string_hash): New function.
4336         (struct hash_node): New type.
4337         (HASH_TABLE_SIZE): New macro.
4338         (struniq_hash_table, struniq_lock): New variables.
4339         (struniq): New function.
4340         (gl_locale_name_thread): New function.
4341         (gl_locale_name): Invoke it.
4342         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
4343         * modules/localename (Depends-on): Add lock.
4344         Reported by Mike Gran <spk121@yahoo.com>.
4345
4346 2009-12-23  Eric Blake  <ebb9@byu.net>
4347
4348         va-args: new module
4349         * modules/va-args: New file.
4350         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
4351         * MODULES.html.sh (Core language properties): Mention it.
4352
4353         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
4354         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
4355         named alias for __attribute__((__unused__)).
4356         * lib/chown.c: Update client.
4357         * lib/fchmodat.c: Likewise.
4358         * lib/fts.c: Likewise.
4359         * lib/getdate.y: Likewise.
4360         * lib/getgroups.c: Likewise.
4361         * lib/getopt.c: Likewise.
4362         * lib/getugroups.c: Likewise.
4363         * lib/mkdir.c: Likewise.
4364         * lib/mkfifo.c: Likewise.
4365         * lib/mkfifoat.c: Likewise.
4366         * lib/mknod.c: Likewise.
4367         * lib/mknodat.c: Likewise.
4368         * lib/readlink.c: Likewise.
4369         * lib/se-context.in.h: Likewise.
4370         * lib/se-selinux.in.h: Likewise.
4371         * lib/sockets.c: Likewise.
4372         * lib/symlink.c: Likewise.
4373         * lib/symlinkat.c: Likewise.
4374         * lib/unicodeio.c: Likewise.
4375         * lib/unistr.h: Likewise.
4376         * tests/test-areadlink.c: Likewise.
4377         * tests/test-areadlinkat.c: Likewise.
4378         * tests/test-filenamecat.c: Likewise.
4379         * tests/test-fseeko.c: Likewise.
4380         * tests/test-ftello.c: Likewise.
4381         * tests/test-getdate.c: Likewise.
4382         * tests/test-getgroups.c: Likewise.
4383         * tests/test-gethostname.c: Likewise.
4384         * tests/test-quotearg.c: Likewise.
4385         * tests/test-version-etc.c: Likewise.
4386         * tests/test-xalloc-die.c: Likewise.
4387         * tests/test-xfprintf-posix.c: Likewise.
4388         * tests/test-xprintf-posix.c: Likewise.
4389         * tests/test-xvasprintf.c: Likewise.
4390
4391         tests: avoid compiler warnings
4392         * tests/test-fcntl.c (main): Delete unused parameters.
4393         * tests/test-freopen-safer.c (main): Likewise.
4394         * tests/test-xalloc-die.c (main): Mark unused parameters.
4395         * tests/test-fseeko.c (main): Likewise.
4396         * tests/test-ftello.c (main): Likewise.
4397         * tests/test-nanosleep.c (main): Avoid declaration warning.
4398         * tests/test-sleep.c (main): Likewise.
4399         * tests/test-unsetenv.c (main): Silence warning about string
4400         literal.
4401         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
4402
4403 2009-12-23  Bruno Haible  <bruno@clisp.org>
4404
4405         * tests/test-localename.c (test_locale_name): New function, extracted
4406         from main. Also test mixed situations.
4407         (test_locale_name_posix, test_locale_name_environ,
4408         test_locale_name_default): New functions.
4409         (main): Invoke them all.
4410         * modules/localename-tests (configure.ac): Test for newlocale.
4411
4412 2009-12-23  Bruno Haible  <bruno@clisp.org>
4413
4414         unistd: Ensure getcwd gets declared before being overridden.
4415         * lib/unistd.in.h: Conditionally include <io.h>.
4416
4417 2009-12-22  Bruno Haible  <bruno@clisp.org>
4418
4419         wchar: Diagnose broken combination of glibc and gcc versions and flags.
4420         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
4421         (gl_WCHAR_H): Invoke it.
4422         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
4423         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
4424         Reported by Karl Berry <karl@freefriends.org>.
4425
4426 2009-12-22  Eric Blake  <ebb9@byu.net>
4427
4428         math, unistd: avoid redundant includes
4429         * lib/math.in.h (isnan): No need to re-include <math.h>.
4430         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
4431
4432         getsubopt: work around cygwin bug
4433         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
4434         avoid conflicting with system getsubopt.
4435         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
4436         bug.
4437
4438         getopt: synchronize from glibc
4439         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
4440         parameter order.  Adjust all callers.
4441         (_getopt_internal_r, main): Adjust quoting in error messages.
4442         Drop considerations for outdated POSIX 1003.2 error message.
4443         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
4444         callers.
4445         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
4446
4447         test-getopt: test stderr behavior
4448         * modules/getopt-posix-tests (Depends-on): Add dup2.
4449         * tests/test-getopt.c (ASSERT): Avoid stderr.
4450         (main): Move stderr to a temporary file.
4451         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
4452         Instead, add parameter to inform caller if output occurred.
4453         (test_getopt): Adjust all existing tests to expect silence, and
4454         add new tests of leading ":".
4455         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
4456         glibc shortcomings with leading "-:" or "+:" in optstring.
4457         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
4458         Likewise.
4459         * doc/posix-functions/getopt.texi (getopt): Likewise.
4460
4461         test-getopt: enhance test
4462         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
4463         supports optind=0.
4464         * tests/test-getopt.c (OPTIND_MIN): Move...
4465         * tests/test-getopt.h (OPTIND_MIN): ...here.
4466         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
4467         Require that optind=0 works, since modern BSD supports it in
4468         addition to optreset, and since coreutils expects it.
4469         (test_getopt_long_only): New test.
4470         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
4471         glibc shortcomings with 'W;', and enforcement of optind=0.
4472         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
4473         Likewise.
4474
4475 2009-12-21  Bruno Haible  <bruno@clisp.org>
4476
4477         localename: Improvements for MacOS X and Cygwin.
4478         * lib/localename.h (gl_locale_name_environ): New declaration.
4479         * lib/localename.c (gl_locale_name_environ): New function, extracted from
4480         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
4481         (gl_locale_name_posix): Invoke it.
4482         (gl_locale_name_default): Add comments. Use Windows native API also on
4483         Cygwin.
4484
4485 2009-12-21  Bruno Haible  <bruno@clisp.org>
4486
4487         Update list of Win32 locale ids.
4488         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
4489         (LANG_SAMI): Renamed from LANG_SAAMI.
4490         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
4491         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
4492         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
4493         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
4494         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
4495         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
4496         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
4497         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
4498         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
4499         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
4500         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
4501         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
4502         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
4503         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
4504         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
4505         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
4506         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
4507         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
4508         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
4509         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
4510         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
4511         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
4512         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
4513         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
4514         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
4515         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
4516         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
4517         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
4518         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
4519         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
4520         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
4521         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
4522         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
4523         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
4524         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
4525         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
4526         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
4527         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
4528         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
4529         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
4530         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
4531         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
4532         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
4533         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
4534         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
4535         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
4536         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
4537         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
4538         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
4539         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
4540         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
4541         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
4542         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
4543         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
4544         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
4545         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
4546         Add more languages and countries for Sami, Sorbian. Add more countries
4547         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
4548         for Pashto. Change country for Syriac, Tswana.
4549
4550 2009-12-21  Eric Blake  <ebb9@byu.net>
4551
4552         test-utimens: avoid spurious failure
4553         * tests/test-chown.h (nap): Factor...
4554         * tests/nap.h: ...into new file.
4555         * tests/test-lchown.h (nap): Avoid duplication.
4556         * tests/test-utimens-common.h (nap): Use shared implementation,
4557         necessary on file systems with 1-second resolution.
4558         * modules/chown-tests (Files): Include new file.
4559         * modules/fdutimensat-tests (Files): Likewise.
4560         * modules/futimens-tests (Files): Likewise.
4561         * modules/lchown-tests (Files): Likewise.
4562         * modules/openat-tests (Files): Likewise.
4563         * modules/utimens-tests (Files): Likewise.
4564         * modules/utimensat-tests (Files): Likewise.
4565
4566 2009-12-19  Eric Blake  <ebb9@byu.net>
4567
4568         futimens, utimensat: work around Linux bug
4569         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
4570         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
4571         * lib/utimensat.c (rpl_utimensat): Work around it.
4572         * lib/futimens.c (rpl_futimens): Adjust comment.
4573
4574         utimens: work around Linux ctime bug
4575         * lib/utimens.c (detect_ctime_bug): New helper function.
4576         (update_timespec): Differentiate between workaround needed for
4577         this bug vs. what is needed for systems that lack utimensat.
4578         (fdutimens, lutimens): Work around bug.
4579
4580         utimens: check for ctime update
4581         * tests/test-utimens-common.h (check_ctime): Define.
4582         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
4583         * tests/test-futimens.h (test_futimens): Likewise.
4584         * tests/test-lutimens.h (test_lutimens): Likewise.
4585         * doc/posix-functions/futimens.texi (futimens): Document the bug.
4586         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
4587
4588 2009-12-19  Bruno Haible  <bruno@clisp.org>
4589
4590         dprintf-posix: Check against memory leak fixed on 2009-12-15.
4591         * tests/test-dprintf-posix2.sh: New file.
4592         * tests/test-dprintf-posix2.c: New file.
4593         * modules/dprintf-posix-tests (Files): Add them.
4594         (configure.ac): Check for getrlimit and setrlimit.
4595         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
4596
4597 2009-12-19  Bruno Haible  <bruno@clisp.org>
4598
4599         fprintf-posix: Check against memory leak fixed on 2009-12-15.
4600         * tests/test-fprintf-posix3.sh: New file.
4601         * tests/test-fprintf-posix3.c: New file.
4602         * modules/fprintf-posix-tests (Files): Add them.
4603         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
4604
4605 2009-12-19  Eric Blake  <ebb9@byu.net>
4606
4607         dirfd: fix prototype
4608         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
4609         * lib/dirfd.c (dirfd): Likewise.
4610
4611         canonicalize: reduce memory usage
4612         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
4613         allocation to size.
4614         Reported by Solar Designer <solar@openwall.com>.
4615
4616 2009-12-19  Bruno Haible  <bruno@clisp.org>
4617
4618         New module attribute 'Applicability'.
4619         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
4620         * gnulib-tool: New option --extract-applicability.
4621         (func_usage): Document it.
4622         (sed_extract_prog): Recognize it.
4623         (func_get_applicability): New function.
4624         (func_import): Generalize handling of 'link-warning' module.
4625         * modules/link-warning (Applicability): New section.
4626         * modules/arg-nonnull (Applicability): New section.
4627         Repoted by Simon Josefsson <simon@josefsson.org>.
4628
4629 2009-12-19  Bruno Haible  <bruno@clisp.org>
4630
4631         fflush: tweak
4632         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
4633         * lib/fseeko.c (rpl_fseeko): Likewise.
4634
4635 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
4636
4637         * lib/gl_list.h: Fix typo in comment.
4638
4639 2009-12-16  Eric Blake  <ebb9@byu.net>
4640
4641         fcntl: use to simplify other modules
4642         * modules/cloexec (Depends-on): Add fcntl.
4643         * modules/fchdir (Depends-on): Likewise.
4644         * modules/fd-safer-flag (Depends-on): Likewise.
4645         * modules/unistd-safer (Depends-on): Likewise.
4646         * modules/dup3 (configure.ac): Set module indicator.
4647         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
4648         missing.
4649         * lib/fchdir.c (_gl_register_dup): Fix comment.
4650         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
4651         * lib/dup-safer.c (dup_safer): Likewise.
4652         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
4653         * lib/dup3.c (dup3): Likewise.
4654         * tests/test-fchdir.c (main): Enhance test.
4655         Fixes a dup_cloexec bug reported by Ondřej Vašík.
4656
4657         fcntl: port portions of fcntl to mingw
4658         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
4659         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
4660         replacement for mingw.
4661         * modules/fcntl (Description): Update.
4662         (Depends-on): Add dup2.
4663         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
4664         * modules/fcntl-h (Makefile.am): Substitute it.
4665         * lib/fcntl.in.h (fcntl): Update declaration.
4666         (F_DUPFD, F_GETFD): New macros, when needed.
4667         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
4668         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
4669         * tests/test-fcntl.c (check_flags, main): Enhance test for items
4670         we now guarantee.
4671
4672         fcntl: work around cygwin bug in F_DUPFD
4673         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
4674         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
4675         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
4676         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
4677         * doc/posix-functions/fcntl.texi (fcntl): Document it.
4678
4679         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
4680         * modules/fcntl (Files): List new files.
4681         (configure.ac): Run a test.
4682         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
4683         * lib/fcntl.c (rpl_fcntl): Likewise.
4684         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
4685         (gl_FCNTL_H): Always replace fcntl.h.
4686         * modules/fcntl-h (Makefile.am): Substitute witnesses.
4687         * lib/fcntl.in.h (fcntl): Declare replacement.
4688         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
4689         needed, plus a witness.
4690         * doc/posix-functions/fcntl.texi (fcntl): Document this.
4691         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
4692         * tests/test-fcntl.c: New file.
4693         * modules/fcntl-tests: Likewise.
4694
4695         binary-io: avoid potential compilation warning
4696         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
4697         directives.
4698
4699         fflush: avoid compilation error on NetBSD
4700         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
4701         between off_t and fpos_t, since the latter is sometimes a struct.
4702         * lib/fseeko.c (rpl_fseeko): Likewise.
4703         Reported by Alexander Nasonov <alnsn@yandex.ru>.
4704
4705 2009-12-15  Eric Blake  <ebb9@byu.net>
4706
4707         fcntl-h, stdio, sys_ioctl: fix declarations
4708         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
4709         function must not take arguments.
4710         * lib/sys_ioctl.in.h (ioctl): Likewise.
4711         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
4712         (open): Add a link warning.
4713
4714 2009-12-15  Jim Meyering  <meyering@redhat.com>
4715
4716         areadlink, areadlink-with-size: relax license to LGPLv2+
4717         * modules/areadlink (License): Relax to LGPLv2+.
4718         * modules/areadlink-with-size (License): Likewise.
4719
4720 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
4721             Bruno Haible  <bruno@clisp.org>
4722
4723         *printf: Fix memory leak.
4724         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
4725         * lib/vfprintf.c (vfprintf): Likewise.
4726         * lib/dprintf.c (dprintf): Likewise.
4727         * lib/vdprintf.c (vdprintf): Likewise.
4728
4729 2009-12-14  Eric Blake  <ebb9@byu.net>
4730
4731         accept4: adjust module dependencies
4732         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
4733
4734         utimens: one more try at avoiding compiler warning
4735         * lib/utimens.c (lutimens): Lower scope of result.
4736
4737 2009-12-13  Bruno Haible  <bruno@clisp.org>
4738
4739         Move the malloc checking from module 'list' to new module 'xlist'.
4740         * modules/xlist: New file.
4741         * lib/gl_xlist.h: New file.
4742         * lib/gl_xlist.c: New file.
4743         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
4744         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
4745         gl_list_add_last, gl_list_add_before, gl_list_add_after,
4746         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
4747         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
4748         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
4749         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
4750         gl_sortedlist_nx_add): New declarations.
4751         (struct gl_list_implementation): Rename and change methods accordingly.
4752         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
4753         (gl_list_nx_create): Renamed from gl_list_create.
4754         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
4755         (gl_list_nx_set_at): Renamed from gl_list_set_at.
4756         (gl_list_nx_add_first): Renamed from gl_list_add_first.
4757         (gl_list_nx_add_last): Renamed from gl_list_add_last.
4758         (gl_list_nx_add_before): Renamed from gl_list_add_before.
4759         (gl_list_nx_add_after): Renamed from gl_list_add_after.
4760         (gl_list_nx_add_at): Renamed from gl_list_add_at.
4761         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
4762         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
4763         gl_list_create_empty.
4764         (gl_list_nx_create): Renamed from gl_list_create.
4765         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
4766         (gl_list_nx_set_at): Renamed from gl_list_set_at.
4767         (gl_list_nx_add_first): Renamed from gl_list_add_first.
4768         (gl_list_nx_add_last): Renamed from gl_list_add_last.
4769         (gl_list_nx_add_before): Renamed from gl_list_add_before.
4770         (gl_list_nx_add_after): Renamed from gl_list_add_after.
4771         (gl_list_nx_add_at): Renamed from gl_list_add_at.
4772         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
4773         * lib/gl_array_list.c: Don't include xalloc.h.
4774         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
4775         NULL upon out-of-memory.
4776         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
4777         out-of-memory.
4778         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
4779         Change return type to 'int'.
4780         (gl_array_nx_set_at): Renamed from gl_array_set_at.
4781         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
4782         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
4783         upon out-of-memory.
4784         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
4785         upon out-of-memory.
4786         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
4787         upon out-of-memory.
4788         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
4789         upon out-of-memory.
4790         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
4791         out-of-memory.
4792         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
4793         Update.
4794         (gl_array_list_implementation): Update.
4795         * lib/gl_carray_list.c: Don't include xalloc.h.
4796         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
4797         Return NULL upon out-of-memory.
4798         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
4799         out-of-memory.
4800         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
4801         Change return type to 'int'.
4802         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
4803         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
4804         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
4805         upon out-of-memory.
4806         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
4807         upon out-of-memory.
4808         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
4809         out-of-memory.
4810         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
4811         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
4812         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
4813         Update.
4814         (gl_carray_list_implementation): Update.
4815         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
4816         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
4817         gl_linked_create_empty. Return NULL upon out-of-memory.
4818         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
4819         out-of-memory.
4820         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
4821         Change return type to 'int'. Return -1 upon out-of-memory.
4822         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
4823         out-of-memory.
4824         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
4825         upon out-of-memory.
4826         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
4827         upon out-of-memory.
4828         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
4829         NULL upon out-of-memory.
4830         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
4831         upon out-of-memory.
4832         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
4833         out-of-memory.
4834         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
4835         Update.
4836         * lib/gl_linked_list.c: Don't include xalloc.h.
4837         (gl_linked_list_implementation): Update.
4838         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
4839         (add_to_bucket): Change return type to 'int'.
4840         (gl_linkedhash_list_implementation): Update.
4841         * lib/gl_anytree_list1.h (free_subtree): New function.
4842         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
4843         gl_tree_create_empty. Return NULL upon out-of-memory.
4844         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
4845         Change return type to 'int'. Return -1 upon out-of-memory.
4846         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
4847         out-of-memory.
4848         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
4849         (gl_tree_remove_node): New function, moved here from
4850         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
4851         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
4852         Update.
4853         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
4854         malloc, not xmalloc. Return NULL upon out-of-memory.
4855         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
4856         out-of-memory.
4857         (gl_tree_remove_node_from_tree): New function, extracted from
4858         gl_tree_remove_node.
4859         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
4860         upon out-of-memory.
4861         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
4862         out-of-memory.
4863         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
4864         upon out-of-memory.
4865         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
4866         upon out-of-memory.
4867         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
4868         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
4869         not xmalloc. Return NULL upon out-of-memory.
4870         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
4871         out-of-memory.
4872         (gl_tree_remove_node_from_tree): New function, extracted from
4873         gl_tree_remove_node.
4874         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
4875         upon out-of-memory.
4876         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
4877         out-of-memory.
4878         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
4879         upon out-of-memory.
4880         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
4881         upon out-of-memory.
4882         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
4883         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
4884         gl_anytree_list1.h before gl_anyavltree_list2.h.
4885         (gl_avltree_list_implementation): Update.
4886         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
4887         gl_anytree_list1.h before gl_anyavltree_list2.h.
4888         (gl_rbtree_list_implementation): Update.
4889         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
4890         Change return type to 'int'. Return -1 upon out-of-memory. Use
4891         __builtin_expect.
4892         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
4893         (gl_avltreehash_list_implementation): Update.
4894         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
4895         (gl_rbtreehash_list_implementation): Update.
4896         * modules/array-list (Depends-on): Remove xalloc.
4897         * modules/carray-list (Depends-on): Likewise.
4898         * modules/linked-list (Depends-on): Likewise.
4899         * modules/linkedhash-list (Depends-on): Likewise.
4900         * modules/avltree-list (Depends-on): Likewise.
4901         * modules/rbtree-list (Depends-on): Likewise.
4902         * modules/avltreehash-list (Depends-on): Likewise.
4903         * modules/rbtreehash-list (Depends-on): Likewise.
4904
4905         * modules/xsublist: New file.
4906         * lib/gl_xsublist.h: New file.
4907         * lib/gl_xsublist.c: New file.
4908         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
4909         (gl_sublist_nx_create): New declaration.
4910         * lib/gl_sublist.c: Don't include xalloc.h.
4911         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
4912         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
4913         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
4914         Change return type to 'int'. Return -1 upon out-of-memory.
4915         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
4916         upon out-of-memory.
4917         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
4918         NULL upon out-of-memory.
4919         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
4920         upon out-of-memory.
4921         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
4922         NULL upon out-of-memory.
4923         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
4924         NULL upon out-of-memory.
4925         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
4926         upon out-of-memory.
4927         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
4928         (gl_sublist_list_implementation): Update.
4929         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
4930         upon out-of-memory.
4931         * modules/sublist (Depends-on): Remove xalloc.
4932
4933         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
4934         * tests/test-carray_list.c: Likewise.
4935         * tests/test-linked_list.c: Likewise.
4936         * tests/test-linkedhash_list.c: Likewise.
4937         * tests/test-avltree_list.c: Likewise.
4938         * tests/test-rbtree_list.c: Likewise.
4939         * tests/test-avltreehash_list.c: Likewise.
4940         * tests/test-rbtreehash_list.c: Likewise.
4941         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
4942         * modules/carray-list-tests (Makefile.am): Likewise.
4943         * modules/linked-list-tests (Makefile.am): Likewise.
4944         * modules/linkedhash-list-tests (Makefile.am): Likewise.
4945         * modules/avltree-list-tests (Makefile.am): Likewise.
4946         * modules/rbtree-list-tests (Makefile.am): Likewise.
4947         * modules/avltreehash-list-tests (Makefile.am): Likewise.
4948         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
4949
4950         * NEWS: Mention the changes.
4951
4952         * lib/clean-temp.c: Include gl_xlist.h.
4953         * modules/clean-temp (Depends-on): Add xlist.
4954
4955         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
4956         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
4957
4958         * tests/test-array_oset.c: Include gl_xlist.h.
4959         * modules/array-oset-tests (Depends-on): Add xlist.
4960
4961         Reported by José E. Marchesi <jemarch@gnu.org>.
4962
4963 2009-12-13  Bruno Haible  <bruno@clisp.org>
4964
4965         Move the malloc checking from module 'oset' to new module 'xoset'.
4966         * modules/xoset: New file.
4967         * lib/gl_xoset.h: New file.
4968         * lib/gl_xoset.c: New file.
4969         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
4970         declarations.
4971         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
4972         (struct gl_oset_implementation): Rename and change methods accordingly.
4973         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
4974         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
4975         'int'. Mark as __warn_unused_result__.
4976         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
4977         gl_oset_create_empty.
4978         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
4979         'int'.
4980         * lib/gl_array_oset.c: Don't include xalloc.h.
4981         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
4982         malloc, not xmalloc.
4983         (grow): Change return type to 'int'. Don't call xalloc_die.
4984         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
4985         to 'int'.
4986         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
4987         'int'.
4988         (gl_array_oset_implementation): Update.
4989         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
4990         gl_tree_create_empty.
4991         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
4992         'int'.
4993         * lib/gl_avltree_oset.c: Don't include xalloc.h.
4994         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
4995         xmalloc.
4996         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
4997         not xmalloc.
4998         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
4999         xmalloc.
5000         (gl_avltree_oset_implementation): Update.
5001         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
5002         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
5003         xmalloc.
5004         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
5005         not xmalloc.
5006         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
5007         xmalloc.
5008         (gl_rbtree_oset_implementation): Update.
5009         * modules/array-oset (Depends-on): Remove xalloc.
5010         * modules/avltree-oset (Depends-on): Likewise.
5011         * modules/rbtree-oset (Depends-on): Likewise.
5012         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
5013         * tests/test-avltree_oset.c: Likewise.
5014         * tests/test-rbtree_oset.c: Likewise.
5015         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
5016         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
5017         * modules/rbtree-oset-tests (Makefile.am): Likewise.
5018         * NEWS: Mention the change.
5019
5020 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
5021
5022         maint.mk: allow a project to override release-prep commands
5023         * top/maint.mk (alpha, beta, stable): Move release-preparatory
5024         commands into a new rule.
5025         (release-prep): New rule.
5026         (release-prep-hook): New overridable variable.
5027
5028 2009-12-13  Bruno Haible  <bruno@clisp.org>
5029
5030         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
5031
5032 2009-12-13  Jim Meyering  <meyering@redhat.com>
5033
5034         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
5035         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
5036
5037 2009-12-12  Bruno Haible  <bruno@clisp.org>
5038
5039         duplocale: Tweak.
5040         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
5041
5042 2009-12-12  Karl Berry  <karl@gnu.org>
5043
5044         * config/srclist.txt (strtoll.c): tab changes, no more sync.
5045
5046 2009-12-12  Bruno Haible  <bruno@clisp.org>
5047
5048         * m4/po.m4: Undo incorrect untabification.
5049
5050 2009-12-12  Bruno Haible  <bruno@clisp.org>
5051
5052         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
5053         * modules/c-strtod (Depends-on): Add locale.
5054         * modules/c-strtold (Depends-on): Likewise.
5055
5056 2009-12-12  Bruno Haible  <bruno@clisp.org>
5057
5058         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
5059
5060 2009-12-11  Eric Blake  <ebb9@byu.net>
5061
5062         setenv: relax requirement in light of POSIX ruling
5063         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
5064         not NULL.
5065         * tests/test-setenv.c (main): Relax test.
5066         * tests/test-unsetenv.c (main): Likewise.
5067         * doc/posix-functions/setenv.texi (setenv): Document this.
5068         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
5069
5070 2009-12-11  Bruno Haible  <bruno@clisp.org>
5071
5072         New module 'fd-safer-flag'.
5073         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
5074         * lib/dup-safer.c (dup_safer_flag): Remove function.
5075         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
5076         * lib/fd-safer.c (fd_safer_flag): Remove function.
5077         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
5078         * modules/cloexec (configure.ac): Drop indicator macro.
5079         * modules/fd-safer-flag: New file.
5080         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
5081         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
5082         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
5083
5084 2009-12-11  Bruno Haible  <bruno@clisp.org>
5085
5086         Tests for module 'nl_langinfo'.
5087         * modules/nl_langinfo-tests: New file.
5088         * tests/test-nl_langinfo.sh: New file.
5089         * tests/test-nl_langinfo.c: New file.
5090
5091         New module 'nl_langinfo'.
5092         * lib/nl_langinfo.c: New file.
5093         * m4/nl_langinfo.m4: New file.
5094         * modules/nl_langinfo: New file.
5095         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
5096
5097 2009-12-11  Bruno Haible  <bruno@clisp.org>
5098
5099         Tests for module 'langinfo'.
5100         * modules/langinfo-tests: New file.
5101         * tests/test-langinfo.c: New file.
5102
5103         New module 'langinfo'.
5104         * lib/langinfo.in.h: New file.
5105         * m4/langinfo_h.m4: New file.
5106         * modules/langinfo: New file.
5107         * doc/posix-headers/langinfo.texi: Mention the new module.
5108
5109 2009-12-11  Bruno Haible  <bruno@clisp.org>
5110
5111         * lib/config.charset: Untabify.
5112
5113 2009-12-11  Bruno Haible  <bruno@clisp.org>
5114
5115         * modules/unistd-safer (configure.ac): Drop indicator macro.
5116
5117 2009-12-11  Bruno Haible  <bruno@clisp.org>
5118
5119         Move pipe2-safer code to its own file.
5120         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
5121         * lib/pipe-safer.c (pipe2_safer): Remove function.
5122         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
5123         (Makefile.am): Add it to lib_SOURCES.
5124
5125 2009-12-10  Bruno Haible  <bruno@clisp.org>
5126
5127         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
5128
5129 2009-12-10  Bruno Haible  <bruno@clisp.org>
5130
5131         Declare which arguments expect non-NULL values, for GCC and clang.
5132         * build-aux/arg-nonnull.h: New file.
5133         * modules/arg-nonnull: New file.
5134         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
5135         (inet_ntop, inet_pton): Use it.
5136         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
5137         (closedir, dirfd, opendir, scandir, alphasort): Use it.
5138         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
5139         (open, openat): Use it.
5140         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
5141         (fnmatch): Use it.
5142         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
5143         (getopt, getopt_long, getopt_long_only): Use it.
5144         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
5145         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
5146         Use it.
5147         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
5148         (iconv_open): Use it.
5149         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
5150         (strtoimax, strtoumax): Use it.
5151         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
5152         (duplocale): Use it.
5153         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
5154         (frexp, frexpl): Use it.
5155         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
5156         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
5157         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
5158         (tsearch, tfind, tdelete, twalk): Use it.
5159         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
5160         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
5161         sigpending): Use it.
5162         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
5163         (posix_spawn, posix_spawnp, posix_spawnattr_init,
5164         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
5165         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
5166         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
5167         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
5168         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
5169         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
5170         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
5171         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
5172         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
5173         Use it.
5174         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
5175         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
5176         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
5177         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
5178         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
5179         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
5180         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
5181         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
5182         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
5183         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
5184         strtoull, unsetenv): Use it.
5185         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
5186         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
5187         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
5188         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5189         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5190         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
5191         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
5192         (strcasecmp, strncasecmp): Use it.
5193         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
5194         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
5195         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
5196         rpl_setsockopt): Use it.
5197         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
5198         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
5199         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
5200         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
5201         (gettimeofday): Use it.
5202         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
5203         (times): Use it.
5204         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
5205         (uname): Use it.
5206         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
5207         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
5208         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
5209         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
5210         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
5211         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
5212         unlinkat, write): Use it.
5213         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
5214         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
5215         * lib/argv-iter.h: Include arg-nonnull.h.
5216         (_ATTRIBUTE_NONNULL_): Remove macro.
5217         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
5218         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
5219         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
5220         optimization.
5221         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
5222         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
5223         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
5224         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
5225         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
5226         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
5227         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
5228         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
5229         * modules/arpa_inet (Depends-on): Add arg-nonnull.
5230         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
5231         * modules/dirent (Depends-on): Add arg-nonnull.
5232         (Makefile.am): Insert arg-nonnull.h into dirent.h.
5233         * modules/fcntl-h (Depends-on): Add arg-nonnull.
5234         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
5235         * modules/fnmatch (Depends-on): Add arg-nonnull.
5236         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
5237         * modules/getopt-posix (Depends-on): Add arg-nonnull.
5238         (Makefile.am): Insert arg-nonnull.h into getopt.h.
5239         * modules/glob (Depends-on): Add arg-nonnull.
5240         (Makefile.am): Insert arg-nonnull.h into glob.h.
5241         * modules/iconv_open (Depends-on): Add arg-nonnull.
5242         (Makefile.am): Insert arg-nonnull.h into iconv.h.
5243         * modules/inttypes (Depends-on): Add arg-nonnull.
5244         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
5245         * modules/locale (Depends-on): Add arg-nonnull.
5246         (Makefile.am): Insert arg-nonnull.h into locale.h.
5247         * modules/math (Depends-on): Add arg-nonnull.
5248         (Makefile.am): Insert arg-nonnull.h into math.h.
5249         * modules/netdb (Depends-on): Add arg-nonnull.
5250         (Makefile.am): Insert arg-nonnull.h into netdb.h.
5251         * modules/search (Depends-on): Add arg-nonnull.
5252         (Makefile.am): Insert arg-nonnull.h into search.h.
5253         * modules/signal (Depends-on): Add arg-nonnull.
5254         (Makefile.am): Insert arg-nonnull.h into signal.h.
5255         * modules/spawn (Depends-on): Add arg-nonnull.
5256         (Makefile.am): Insert arg-nonnull.h into spawn.h.
5257         * modules/stdio (Depends-on): Add arg-nonnull.
5258         (Makefile.am): Insert arg-nonnull.h into stdio.h.
5259         * modules/stdlib (Depends-on): Add arg-nonnull.
5260         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
5261         * modules/string (Depends-on): Add arg-nonnull.
5262         (Makefile.am): Insert arg-nonnull.h into string.h.
5263         * modules/strings (Depends-on): Add arg-nonnull.
5264         (Makefile.am): Insert arg-nonnull.h into strings.h.
5265         * modules/sys_socket (Depends-on): Add arg-nonnull.
5266         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
5267         * modules/sys_stat (Depends-on): Add arg-nonnull.
5268         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
5269         * modules/sys_time (Depends-on): Add arg-nonnull.
5270         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
5271         * modules/sys_times (Depends-on): Add arg-nonnull.
5272         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
5273         * modules/sys_utsname (Depends-on): Add arg-nonnull.
5274         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
5275         * modules/time (Depends-on): Add arg-nonnull.
5276         (Makefile.am): Insert arg-nonnull.h into time.h.
5277         * modules/unistd (Depends-on): Add arg-nonnull.
5278         (Makefile.am): Insert arg-nonnull.h into unistd.h.
5279         * modules/wchar (Depends-on): Add arg-nonnull.
5280         (Makefile.am): Insert arg-nonnull.h into wchar.h.
5281         * modules/argv-iter (Depends-on): Add arg-nonnull.
5282         * tests/test-canonicalize.c (null_ptr): New function.
5283         (main): Use it.
5284         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
5285         (main): Use it.
5286         * tests/test-memmem.c (null_ptr): New function.
5287         (main): Use it.
5288         Reported by Jim Meyering.
5289
5290 2009-12-10  Bruno Haible  <bruno@clisp.org>
5291
5292         Use spaces for indentation, not tabs.
5293         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
5294         * m4/*.m4: Untabify.
5295         * build-aux/*.h: Untabify.
5296         * tests/**/*.[hc]: Untabify.
5297         * README: New section "Indent with spaces, not TABs", based on
5298         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
5299         * NEWS: Mention the change.
5300
5301 2009-12-10  Bruno Haible  <bruno@clisp.org>
5302
5303         pty test: Fix link error.
5304         * modules/pty-tests (Makefile.am): Add the default LDADD value to
5305         test_pty_LDADD.
5306
5307 2009-12-07  Simon Josefsson  <simon@josefsson.org>
5308
5309         * modules/pty: New file.
5310         * modules/pty-tests: New file.
5311         * m4/pty.m4: New file.
5312         * tests/test-pty.c: New file.
5313         * doc/glibc-headers/pty.texi: Modified.
5314         * doc/glibc-functions/forkpty.texi: Modified.
5315         * doc/glibc-functions/openpty.texi: Modified.
5316
5317 2009-12-10  Bruno Haible  <bruno@clisp.org>
5318
5319         Avoid syntax error in C++ mode.
5320         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
5321
5322 2009-12-10  Bruno Haible  <bruno@clisp.org>
5323
5324         Use sed with option -e.
5325         * gnulib-tool (func_version, func_emit_copyright_notice,
5326         func_emit_initmacro_end, func_import, func_create_testdir): Pass
5327         option -e to sed.
5328         * modules/link-warning (Makefile.am): Likewise.
5329
5330 2009-12-10  Jim Meyering  <meyering@redhat.com>
5331
5332         mgetgroups: do not write bytes beyond end of malloc'd buffer
5333         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
5334         username, we call getgroups with a one-element-shorter buffer,
5335         but still told it the length was original, max_n_groups.
5336
5337 2009-12-09  Eric Blake  <ebb9@byu.net>
5338
5339         cloexec: relax license
5340         * modules/cloexec (Maintainer): Add myself.
5341         (License): Use LGPL, not GPL.
5342
5343         link-warning: optimize generation
5344         * modules/link-warning (Makefile.am): Reduce process usage.
5345
5346 2009-12-09  Bruno Haible  <bruno@clisp.org>
5347
5348         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
5349         workaround was added on 2009-11-17.
5350
5351 2009-12-09  Jim Meyering  <meyering@redhat.com>
5352             Bruno Haible  <bruno@clisp.org>
5353
5354         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
5355         * modules/link-warning (Makefile.am): Make the comment-removing sed
5356         command more robust in the face of bootstrap-prepended comment lines.
5357
5358 2009-12-09  Bruno Haible  <bruno@clisp.org>
5359
5360         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
5361         most one group.
5362
5363 2009-12-09  Simon Josefsson <simon@josefsson.org>
5364             Bruno Haible  <bruno@clisp.org>
5365
5366         * build-aux/link-warning.h: Add copyright notice.
5367         * modules/link-warning (Makefile.am): Generate link-warning.h from
5368         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
5369         * NEWS: Mention change in link-warning module.
5370         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
5371         * modules/dirent (Makefile.am): Add dependency to dirent.h.
5372         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
5373         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
5374         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
5375         * modules/math (Makefile.am): Add dependency to math.h.
5376         * modules/search (Makefile.am): Add dependency to search.h.
5377         * modules/signal (Makefile.am): Add dependency to signal.h.
5378         * modules/spawn (Makefile.am): Add dependency to spawn.h.
5379         * modules/stdio (Makefile.am): Add dependency to stdio.h.
5380         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
5381         * modules/string (Makefile.am): Add dependency to string.h.
5382         * modules/strings (Makefile.am): Add dependency to strings.h.
5383         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
5384         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
5385         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
5386         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
5387         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
5388         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
5389         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
5390         * modules/unistd (Makefile.am): Add dependency to unistd.h.
5391         * modules/wchar (Makefile.am): Add dependency to wchar.h.
5392
5393 2009-12-09  Bruno Haible  <bruno@clisp.org>
5394
5395         fchdir: Optimize away rpl_fstat when possible.
5396         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
5397         REPLACE_OPEN_DIRECTORY.
5398         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
5399
5400 2009-12-09  Bruno Haible  <bruno@clisp.org>
5401
5402         * lib/fchdir.c: Update comment.
5403
5404 2009-12-09  Bruno Haible  <bruno@clisp.org>
5405
5406         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
5407
5408 2009-12-08  Eric Blake  <ebb9@byu.net>
5409
5410         fchdir: avoid memory leak on re-registration.
5411         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
5412
5413 2009-12-08  Jim Meyering  <meyering@redhat.com>
5414
5415         init.sh: avoid Solaris 10 /bin/sh portability problem
5416         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
5417         sourced script:
5418           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
5419           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
5420           bar
5421         tests/init.sh relied on that, accepting a --set-path=DIR argument,
5422         and two tests used that idiom.
5423         * tests/init.sh: Update suggested usage comments.
5424         (path_prepend_): New function, to be used in place
5425         of the --src-path=DIR option.
5426         (setup_): Move PATH-prepending code into path_prepend_.
5427         * tests/test-pread.sh: Adapt to new usage.
5428         * tests/test-xalloc-die.sh: Likewise.
5429
5430 2009-12-08  Simon Josefsson  <simon@josefsson.org>
5431
5432         * doc/gnulib.texi (Glibc pty.h): Add.
5433         * doc/glibc-functions/forkpty.texi: Add.
5434         * doc/glibc-functions/openpty.texi: Add.
5435         Suggested by Bruno Haible.
5436
5437 2009-12-08  Eric Blake  <ebb9@byu.net>
5438
5439         fchdir: fix logic bugs
5440         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
5441         * tests/test-fchdir.c (main): Enhance test.
5442         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
5443         is in use.
5444
5445         dup2: fix logic bugs
5446         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
5447         REPLACE_DUP2 to decide when rpl_dup2 is needed.
5448         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
5449         exists.
5450         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
5451
5452 2009-12-07  Eric Blake  <ebb9@byu.net>
5453
5454         unlink: fix m4 detection
5455         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
5456
5457         unistd-safer: add unit test
5458         * modules/unistd-safer-tests: New file.
5459         * tests/test-dup-safer.c: Likewise.
5460         * tests/test-cloexec.c (setmode): Avoid compiler warning.
5461         * tests/test-dup2.c (setmode): Likewise.
5462         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
5463
5464         cloexec: preserve text vs. binary across dup_cloexec
5465         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
5466         mode.
5467         * modules/dup2-tests (Depends-on): Add binary-io.
5468         * modules/cloexec-tests (Depends-on): Likewise.
5469         * tests/test-dup2.c (setmode, is_mode): New helpers.
5470         (main): Add tests that translation mode is preserved.
5471         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
5472         Reported by Bruno Haible.
5473
5474         mgetgroups: reduce duplicate listings
5475         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
5476         resulting array.
5477         * tests/test-chown.h (test_chown): Simplify client.
5478         * tests/test-lchown.h (test_lchown): Likewise.
5479
5480 2009-12-06  Bruno Haible  <bruno@clisp.org>
5481
5482         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
5483         value.
5484
5485 2009-12-06  Bruno Haible  <bruno@clisp.org>
5486
5487         * lib/progname.c: Include stdio.h, stdlib.h.
5488         (set_program_name): Reject a NULL argument.
5489
5490 2009-12-05  Eric Blake  <ebb9@byu.net>
5491
5492         pipe2-safer: new module
5493         * modules/pipe2-safer: New file.
5494         * lib/unistd-safer.h (pipe2_safer): New prototype.
5495         * lib/unistd--.h (pipe2): New wrapper.
5496         * lib/pipe-safer.c (pipe2_safer): New function.
5497         * modules/pipe (Depends-on): Add pipe2-safer.
5498         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
5499
5500         stdlib-safer: preserve cloexec flag for mkostemp[s]
5501         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
5502         fd_safer_flag.
5503
5504         unistd-safer: allow preservation of cloexec status via flag
5505         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
5506         prototypes.
5507         * lib/dup-safer.c (dup_safer_flag): New function.
5508         * lib/fd-safer.c (fd_safer_flag): Likewise.
5509         * modules/cloexec (configure.ac): Set witness.
5510
5511         test-dup2: enhance test
5512         * modules/dup2-tests (Depends-on): Add cloexec.
5513         * tests/test-dup2.c (main): Enhance test.
5514
5515         cloexec: add dup_cloexec
5516         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
5517         header and comments.
5518         * lib/cloexec.c (set_cloexec_flag): Add comments.
5519         (dup_cloexec): New function, with mingw implementation borrowed
5520         from...
5521         * lib/w32spawn.h (dup_noinherit): ...here.
5522         * modules/execute (Depends-on): Add cloexec.
5523         * modules/pipe (Depends-on): Likewise.
5524         * modules/cloexec (Depends-on): Add dup2.
5525         * modules/cloexec-tests (Files): New file.
5526         * tests/test-cloexec.c: Likewise.
5527
5528         test-xalloc-die: fix test for mingw
5529         * modules/xalloc-die-tests (Files): Add tests/init.sh.
5530         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
5531         directory and .exe suffix off argv[0] output.
5532
5533         test-fseeko: fix test for mingw
5534         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
5535         than undefining fseek, so test will pass on mingw.
5536
5537 2009-12-05  Bruno Haible  <bruno@clisp.org>
5538
5539         * lib/progname.h (set_program_name): Clarify specification.
5540         * lib/progname.c (set_program_name): Likewise.
5541         Reported by Jim Meyering.
5542
5543 2009-12-05  Jim Meyering  <meyering@redhat.com>
5544
5545         maint.mk: backslash-escape parens in default regexp
5546         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
5547         backslash-escape the literal parentheses.
5548
5549         maint.mk: news-date-check: use grep -E
5550         * top/maint.mk (today): Define a Make variable, not a...
5551         (news-date-check): ...shell variable.
5552         (news-date-regexp): Use the Make variable.
5553         Use grep's -E option.  Change the failing diagnostic to mention
5554         the variable, $(news-date-regexp).
5555
5556 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
5557
5558         maintainer-makefile: allow customization of NEWS entry format
5559         * top/maint.mk (news-date-regexp): New overridable variable.
5560         (news-date-check): Use it.
5561
5562 2009-12-04  Eric Blake  <ebb9@byu.net>
5563
5564         mgetgroups: add xgetgroups, and avoid ENOSYS failures
5565         * lib/mgetgroups.h (xgetgroups): New prototype.
5566         * lib/mgetgroups.c (xgetgroups): New wrapper.
5567         (mgetgroups): Handle ENOSYS.
5568         * modules/mgetgroups (Depends-on): Add realloc.
5569         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
5570
5571         mgetgroups: avoid argument promotion issues with -1
5572         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
5573         for invalid gid_t.
5574         * tests/test-chown.h (getegid, test_chown): Likewise.
5575         * tests/test-lchown.h (getegid, test_lchown): Likewise.
5576
5577 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
5578
5579         exclude: Fix header file problems.
5580         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
5581
5582 2009-12-01  Jim Meyering  <meyering@redhat.com>
5583
5584         fts: fts_open: do not let an empty string cause immediate failure
5585         This is required in support of GNU rm, for which the command
5586         "rm A '' B" must process and remove both A and B, in spite of
5587         the empty string argument.
5588         * lib/fts.c (fts_open): Do not let the presence of an empty string
5589         cause fts_open to fail immediately.  Most fts-using tools must be
5590         able to process all arguments, in order, and can be expected to
5591         diagnose such arguments themselves.
5592
5593 2009-11-30  Eric Blake  <ebb9@byu.net>
5594
5595         utimens: fix compilation error
5596         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
5597         Declare variable at right scope.
5598
5599 2009-11-29  Jim Meyering  <meyering@redhat.com>
5600
5601         bootstrap: handle perl-5.11's changed --version output
5602         * build-aux/bootstrap (get_version): Handle perl separately,
5603         since perl-5.11's --version output is different.
5604
5605 2009-11-28  Jim Meyering  <meyering@redhat.com>
5606
5607         userspec: depend on the inttostr module, too
5608         * modules/userspec (Depends-on): Add inttostr.
5609
5610         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
5611         * lib/userspec.c (parse_with_separator): Do not accept a user ID
5612         number of MAXUID when it evaluates to (uid_t) -1.
5613         Likewise for group ID.  Reported by Matt McCutchen in
5614         <http://savannah.gnu.org/bugs/?28113>
5615
5616         userspec: reformat to use spaces, not TABs
5617         * lib/userspec.c: Expand TABs to spaces.
5618         Add Emacs' "indent-tabs-mode: nil" hint.
5619
5620 2009-11-27  Eric Blake  <ebb9@byu.net>
5621
5622         getopt-gnu: flush out another BSD bug
5623         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
5624         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
5625         flush out BSD bug.
5626         * tests/test-getopt.h (test_getopt): End lists with NULL.
5627         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5628         (test_getopt_long_posix): Enhance test.
5629         * modules/getopt-posix-tests (Depends-on): Add stdbool.
5630         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
5631         getopt-gnu.
5632         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5633         Likewise.
5634
5635 2009-11-27  Simon Josefsson  <simon@josefsson.org>
5636
5637         * modules/idpriv-droptemp-tests (Notice): Fix text.
5638
5639 2009-11-27  Jim Meyering  <meyering@redhat.com>
5640
5641         test-xalloc-die: avoid spurious failure due to libtool argv difference
5642         In a libtool-enabled project, this test would fail due to a difference
5643         in the emitted program name, e.g.,
5644         -test-xalloc-die: memory exhausted
5645         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
5646         Use program to avoid that.
5647         * modules/xalloc-die-tests (Depends-on): Add progname.
5648         * tests/test-xalloc-die.c: Include progname.h".
5649         (program_name): Remove decl.
5650         (main): Call set_program_name.
5651         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
5652
5653 2009-11-26  Richard Jones  <rjones@redhat.com>
5654
5655         w32sock: leave win32 error in place.
5656         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
5657
5658 2009-11-26  Eric Blake  <ebb9@byu.net>
5659
5660         init.sh: suggest to use skip_ and fail_ functions in comments
5661         * tests/init.sh: Add a sentence.
5662
5663 2009-11-25  Bruno Haible  <bruno@clisp.org>
5664
5665         init.sh: add documentation in comments
5666         * tests/init.sh: Add some developer and user documentation.
5667
5668 2009-11-26  Jim Meyering  <meyering@redhat.com>
5669
5670         init.sh: accommodate even those who specify bogus srcdir manually
5671         * tests/init.sh: Normally, srcdir is guaranteed by automake and
5672         configure-time tests to be sanitized, so that there is no need to
5673         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
5674         (with no double quotes) suffices.  However, since tests may be
5675         invoked manually, and since you may explicitly set srcdir to the
5676         name of a directory containing spaces, do quote its uses here.
5677         * tests/test-pread.sh: Likewise.
5678         Suggested by Bruno Haible.
5679
5680         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
5681         * tests/test-pread.sh: Write no data into the pipe, because
5682         test-pread actually reads none.  This avoids a diagnostic,
5683         "bash: echo: write error: Broken pipe", that arises in the unusual
5684         event something is ignoring SIGPIPE, and might be interpreted
5685         as some sort of failure.  Reported by Bruno Haible.
5686
5687 2009-11-25  Jim Meyering  <meyering@redhat.com>
5688
5689         test-pread: cover failure with ESPIPE and EINVAL
5690         * tests/test-pread.c (main): Test for failure, too.
5691         * tests/test-pread.sh: Invoke with stdin on a pipe.
5692         Suggested by Eric Blake.
5693
5694         pread: improvement and fix
5695         * modules/pread (Depends-on): Depend on lseek, for portability to
5696         e.g., mingw.  Suggested by Eric Blake.
5697         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
5698
5699         unistd.in.h: correct declaration of pread
5700         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
5701         Reported by Richard W.M. Jones.
5702
5703         test-pread.sh: distribute the test script
5704         * modules/pread-tests (Files): Include test-pread.sh.
5705
5706         test-pread.sh: clean up
5707         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
5708         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
5709         That is unnecessary, since it's always ".".
5710         Suggestion from Eric Blake.
5711
5712         test-pread.sh: make executable
5713         * tests/test-pread.sh: Set executable bit.
5714         Reported by Eric Blake.
5715
5716         correct typo in test-pread.sh
5717         * tests/test-pread.sh: Add #! line.
5718
5719         test pread
5720         * tests/test-pread.c: New file.
5721         * tests/test-pread.sh: Likewise.
5722         * modules/pread-tests: Likewise.
5723
5724         pread: new module
5725         * modules/pread: New file.
5726         * lib/unistd.in.h (pread): Define/declare.
5727         * lib/pread.c (pread): New file.
5728         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
5729         * modules/unistd (Makefile.am): Substitute witnesses.
5730         * doc/posix-functions/pread.texi (pread): Update.
5731         * MODULES.html.sh: Add pread.
5732
5733 2009-11-25  Jim Meyering  <meyering@redhat.com>
5734
5735         tests/init.sh: new file to be used via most *.sh tests
5736         * tests/init.sh: New file.
5737
5738 2009-11-25  Eric Blake  <ebb9@byu.net>
5739
5740         utimens: work around older Linux failure with symlinks
5741         * lib/utimens.c (lutimensat_works_really): New variable.
5742         (fdutimens, lutimens): Use it to manage kernels that support
5743         nanosecond times on files, but not on symlinks.
5744         Reported by Ondřej Vašík.
5745
5746         utimes: fix configure grammar
5747         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
5748
5749 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
5750
5751         regex: Fix fastmap for multibyte character ranges.
5752         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
5753         characters when a multibyte character range is included.
5754
5755 2009-11-22  Andy Wingo  <wingo@pobox.com>
5756
5757         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
5758         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
5759
5760 2009-11-24  Bruno Haible  <bruno@clisp.org>
5761
5762         doc: Most *_l functions exist in MacOS X 10.5.
5763         * doc/posix-functions/duplocale.texi: Update platforms list.
5764         * doc/posix-functions/freelocale.texi: Likewise.
5765         * doc/posix-functions/newlocale.texi: Likewise.
5766         * doc/posix-functions/uselocale.texi: Likewise.
5767         * doc/posix-functions/isalnum_l.texi: Likewise.
5768         * doc/posix-functions/isalpha_l.texi: Likewise.
5769         * doc/posix-functions/isblank_l.texi: Likewise.
5770         * doc/posix-functions/iscntrl_l.texi: Likewise.
5771         * doc/posix-functions/isdigit_l.texi: Likewise.
5772         * doc/posix-functions/isgraph_l.texi: Likewise.
5773         * doc/posix-functions/islower_l.texi: Likewise.
5774         * doc/posix-functions/isprint_l.texi: Likewise.
5775         * doc/posix-functions/ispunct_l.texi: Likewise.
5776         * doc/posix-functions/isspace_l.texi: Likewise.
5777         * doc/posix-functions/isupper_l.texi: Likewise.
5778         * doc/posix-functions/iswalnum_l.texi: Likewise.
5779         * doc/posix-functions/iswalpha_l.texi: Likewise.
5780         * doc/posix-functions/iswblank_l.texi: Likewise.
5781         * doc/posix-functions/iswcntrl_l.texi: Likewise.
5782         * doc/posix-functions/iswctype_l.texi: Likewise.
5783         * doc/posix-functions/iswdigit_l.texi: Likewise.
5784         * doc/posix-functions/iswgraph_l.texi: Likewise.
5785         * doc/posix-functions/iswlower_l.texi: Likewise.
5786         * doc/posix-functions/iswprint_l.texi: Likewise.
5787         * doc/posix-functions/iswpunct_l.texi: Likewise.
5788         * doc/posix-functions/iswspace_l.texi: Likewise.
5789         * doc/posix-functions/iswupper_l.texi: Likewise.
5790         * doc/posix-functions/iswxdigit_l.texi: Likewise.
5791         * doc/posix-functions/isxdigit_l.texi: Likewise.
5792         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
5793         * doc/posix-functions/strcasecmp_l.texi: Likewise.
5794         * doc/posix-functions/strcoll_l.texi: Likewise.
5795         * doc/posix-functions/strfmon_l.texi: Likewise.
5796         * doc/posix-functions/strftime_l.texi: Likewise.
5797         * doc/posix-functions/strncasecmp_l.texi: Likewise.
5798         * doc/posix-functions/strxfrm_l.texi: Likewise.
5799         * doc/posix-functions/tolower_l.texi: Likewise.
5800         * doc/posix-functions/toupper_l.texi: Likewise.
5801         * doc/posix-functions/towctrans_l.texi: Likewise.
5802         * doc/posix-functions/towlower_l.texi: Likewise.
5803         * doc/posix-functions/towupper_l.texi: Likewise.
5804         * doc/posix-functions/wcscoll_l.texi: Likewise.
5805         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
5806         * doc/posix-functions/wctrans_l.texi: Likewise.
5807         * doc/posix-functions/wctype_l.texi: Likewise.
5808         * doc/glibc-functions/strptime_l.texi: Likewise.
5809         * doc/glibc-functions/strtod_l.texi: Likewise.
5810         * doc/glibc-functions/strtof_l.texi: Likewise.
5811         * doc/glibc-functions/strtol_l.texi: Likewise.
5812         * doc/glibc-functions/strtold_l.texi: Likewise.
5813         * doc/glibc-functions/strtoll_l.texi: Likewise.
5814         * doc/glibc-functions/strtoul_l.texi: Likewise.
5815         * doc/glibc-functions/strtoull_l.texi: Likewise.
5816         * doc/glibc-functions/wcsftime_l.texi: Likewise.
5817         * doc/glibc-functions/wcstod_l.texi: Likewise.
5818         * doc/glibc-functions/wcstof_l.texi: Likewise.
5819         * doc/glibc-functions/wcstol_l.texi: Likewise.
5820         * doc/glibc-functions/wcstold_l.texi: Likewise.
5821         * doc/glibc-functions/wcstoll_l.texi: Likewise.
5822         * doc/glibc-functions/wcstoul_l.texi: Likewise.
5823         * doc/glibc-functions/wcstoull_l.texi: Likewise.
5824
5825 2009-11-24  Bruno Haible  <bruno@clisp.org>
5826
5827         duplocale: Fix logic bug.
5828         * lib/duplocale.c: Don't include <langinfo.h>.
5829         (_NL_LOCALE_NAME): Remove macro.
5830         (rpl_duplocale): Use setlocale instead of nl_langinfo.
5831         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
5832
5833 2009-11-23  Jim Meyering  <meyering@redhat.com>
5834
5835         test-update-copyright: don't hard-code /usr/bin/perl
5836         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
5837         perl to print the current year.  Gilles Espinasse reported that
5838         the replaced use of perl was hard-coded as /usr/bin/perl.
5839
5840 2009-11-23  Bruno Haible  <bruno@clisp.org>
5841
5842         duplocale: Add support for glibc 2.3.x.
5843         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
5844
5845 2009-11-22  Bruno Haible  <bruno@clisp.org>
5846
5847         vasnprintf: Tiny optimization.
5848         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
5849         MacOS X.
5850
5851 2009-11-22  Bruno Haible  <bruno@clisp.org>
5852
5853         Tests for module 'duplocale'.
5854         * modules/duplocale-tests: New file.
5855         * tests/test-duplocale.c: New file.
5856
5857         New module 'duplocale'.
5858         * m4/duplocale.m4: New file.
5859         * lib/locale.in.h (duplocale): New declaration.
5860         * lib/duplocale.c: New file.
5861         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
5862         gl_LOCALE_H_DEFAULTS): New macros.
5863         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
5864         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
5865         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
5866         REPLACE_DUPLOCALE.
5867         * modules/duplocale: New file.
5868         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
5869
5870 2009-11-22  Bruno Haible  <bruno@clisp.org>
5871
5872         * modules/locale-tests (configure.ac): Test for newlocale function.
5873         * tests/test-locale.c: When the system has extended locale functions,
5874         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
5875
5876         locale: Make locale_t available when possible.
5877         * lib/locale.in.h: Include <xlocale.h> when it exists.
5878         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
5879         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
5880         * modules/locale (Depends-on): Add extensions.
5881         (Makefile.am): Also substitute HAVE_XLOCALE_H.
5882         * doc/posix-headers/locale.texi: Document the problem with locale_t.
5883
5884 2009-11-22  Bruno Haible  <bruno@clisp.org>
5885
5886         Add comments.
5887         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
5888         invocation.
5889         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
5890         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
5891         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
5892
5893 2009-11-22  Bruno Haible  <bruno@clisp.org>
5894
5895         error: account for the possibility of freopen (stdout).
5896         * lib/error.c: Include <unistd.h>.
5897         (flush_stdout): New function, extracted from error and error_at_line.
5898         Determine stdout's fd dynamically.
5899         (error, error_at_line): Invoke flush_stdout.
5900         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
5901         * modules/error (Depends-on): Add unistd.
5902
5903 2009-11-22  Bruno Haible  <bruno@clisp.org>
5904
5905         diffseq: Add comment.
5906         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
5907
5908 2009-11-22  Jim Meyering  <meyering@redhat.com>
5909
5910         c-stack: avoid defining an unused static function
5911         * lib/c-stack.c (find_stack_direction): Do not define this function
5912         when it will not be used.
5913
5914         diffseq: avoid spurious gcc warnings
5915         * lib/diffseq.h (IF_LINT2): Define.
5916         (compareseq): Use it to initialize two members of "part".
5917         This avoids two used-uninitialized warnings.
5918
5919 2009-11-21  Jim Meyering  <meyering@redhat.com>
5920
5921         c-stack: avoid "ignoring return value of `write'" warning
5922         * lib/c-stack.c: Include "ignore-value.h".
5923         (die): Explicitly ignore each write return value.
5924         * modules/c-stack (Depends-on): Add ignore-value.
5925
5926 2009-11-21  Bruno Haible  <bruno@clisp.org>
5927
5928         diffseq: reduce scope of variable 'best'.
5929         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
5930         variable, earlier used for two different purposes.
5931
5932 2009-11-21  Jim Meyering  <meyering@redhat.com>
5933
5934         diffseq: remove useless assignment to "best"
5935         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
5936         assignment.  At that point "best" is already guaranteed to be zero.
5937
5938 2009-11-20  Eric Blake  <ebb9@byu.net>
5939
5940         build: mention ftp redirector in release announcements
5941         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
5942         values that used to come from cfg.mk; mention FTP redirect URL.
5943         * build-aux/announce-gen: Mention the mirror list.
5944         Suggested by Karl Berry.
5945
5946         nanosleep: improve port to mingw
5947         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
5948         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
5949         LIB_NANOSLEEP, but only when needed.
5950         * modules/select (Link): Document LIBSOCKET.
5951         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
5952         enough.
5953
5954         nanosleep: work around cygwin bug
5955         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
5956         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
5957         bug.
5958         (getnow): Delete, not needed.
5959         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
5960         LIB_CLOCK_GETTIME.
5961         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
5962         clock-time, gettime.
5963         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
5964         bug.
5965         * modules/nanosleep-tests: New test.
5966         * tests/test-nanosleep.c: New file.
5967
5968         sleep: work around cygwin bug
5969         * lib/sleep.c (rpl_sleep): Work around the bug.
5970         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
5971         (gl_PREREQ_SLEEP): Delete unused macro.
5972         * modules/sleep (Depends-on): Add verify.
5973         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
5974         * modules/unistd (Makefile.am): Substitute witness.
5975         * lib/unistd.in.h (sleep): Update prototype.
5976         * doc/posix-functions/sleep.texi (sleep): Document the bug.
5977         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
5978         * modules/sleep-tests (Depends-on): Check for alarm.
5979
5980 2009-11-20  Jim Meyering  <meyering@redhat.com>
5981
5982         maint.mk: improve sc_prohibit_magic_number_exit
5983         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
5984         so it does not match uses like System.exit(1).
5985         Add comments showing how to correct all offenders.
5986
5987 2009-11-19  Eric Blake  <ebb9@byu.net>
5988
5989         xalloc-die-tests: add missing library
5990         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
5991
5992         test-xvasprintf: silence compiler warnings
5993         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
5994         empty string from gcc.
5995
5996 2009-11-19  Jim Meyering  <meyering@redhat.com>
5997
5998         xfreopen: new module, from coreutils
5999         * modules/xfreopen: New module.
6000         * lib/xfreopen.c: New file.
6001         * lib/xfreopen.h: New file.
6002         * MODULES.html.sh (File stream based Input/Output"): Add it.
6003
6004 2009-11-19  Eric Blake  <ebb9@byu.net>
6005
6006         manywarnings: depend on warnings
6007         * modules/manywarnings (Depends-on): Add warnings.
6008
6009         build: avoid compiler warnings
6010         * lib/select.c (rpl_select): Delete unused variable.
6011         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
6012
6013 2009-11-18  Eric Blake  <ebb9@byu.net>
6014
6015         tests: avoid false negative with --with-packager
6016         * tests/test-version-etc.sh: Discard packager information.
6017         * tests/test-argp-version-etc-1.sh: Likewise.
6018         Reported by Mike Frysinger.
6019
6020         utimens: fix regression on Solaris
6021         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
6022         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
6023         can only change fd timestamps via futimesat.  Instead, use an
6024         additional witness macro to avoid BSD bug.
6025         Reported by Jim Meyering.
6026
6027 2009-11-17  Eric Blake  <ebb9@byu.net>
6028
6029         usleep: use it to simplify tests
6030         * modules/stat-time-tests (Depends-on): Add usleep.
6031         (configure.ac): Drop usleep check.
6032         * modules/chown-tests (Depends-on, configure.ac): Likewise.
6033         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
6034         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
6035         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
6036         * modules/openat-tests (Depends-on, configure.ac): Likewise.
6037         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
6038         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
6039         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
6040         Likewise.
6041         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
6042         * tests/test-lchown.h (nap): Likewise.
6043         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
6044         * tests/test-stat-time.c (nap): Likewise.
6045         * tests/test-utimens-common.h (nap): Update comments.
6046
6047         usleep: new module
6048         * modules/usleep: New file.
6049         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
6050         * lib/usleep.c (usleep): Likewise.
6051         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
6052         * modules/unistd (Makefile.am): Substitute witnesses.
6053         * lib/unistd.in.h (usleep): Add declaration.
6054         * doc/pastposix-functions/usleep.texi (usleep): Document this.
6055         * MODULES.html.sh (Date and time): Likewise.
6056         * modules/usleep-tests (Depends-on): New test.
6057         * tests/test-usleep.c: New file.
6058
6059         chown: work around OpenBSD bug
6060         * lib/chown.c (rpl_chown): Work around the bug.
6061         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
6062         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
6063         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
6064         * modules/chown (Depends-on): Add stdbool.
6065         * modules/lchown (Depends-on): Likewise.
6066         * doc/posix-functions/chown.texi (chown): Document the bug.
6067         * doc/posix-functions/lchown.texi (lchown): Likewise.
6068         * tests/test-lchown.h (test_chown): Relax test.
6069
6070         mkstemp: avoid conflict with C++ keyword template
6071         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
6072         * lib/mkostemp.c (mkostemp): Likewise.
6073         * lib/mkostemps.c (mkostemps): Likewise.
6074         * lib/mkstemp.c (mkstemp): Likewise.
6075         * lib/mkstemps.c (mkstemps): Likewise.
6076
6077         xalloc-die-tests: optimize
6078         * tests/test-xalloc-die.sh: Reduce number of processes.
6079
6080 2009-11-17  Simon Josefsson  <simon@josefsson.org>
6081
6082         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
6083         patch from ludo@gnu.org (Ludovic Courtès).
6084
6085 2009-11-17  Jim Meyering  <meyering@redhat.com>
6086
6087         version-etc: use proper license string
6088         * modules/version-etc (License): Use LGPL, not LGPLv3+.
6089         * modules/version-etc-fsf: Likewise.
6090
6091 2009-11-17  Simon Josefsson  <simon@josefsson.org>
6092
6093         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
6094         printed to stdout.  Deal with EOL differences.
6095
6096 2009-11-17  Eric Blake  <ebb9@byu.net>
6097
6098         unsetenv: work around Solaris bug
6099         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
6100         * lib/unsetenv.c (rpl_unsetenv): Work around it.
6101         Reported by Jim Meyering.
6102
6103         vasnprintf: avoid compiler warnings
6104         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
6105         variables.
6106         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
6107
6108 2009-11-17  Simon Josefsson  <simon@josefsson.org>
6109
6110         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
6111         settings since xalloc-die is no longer the self test,
6112         xalloc-die.sh is.
6113
6114 2009-11-17  Jim Meyering  <meyering@redhat.com>
6115
6116         test-xalloc-die.sh: make the code agree with the commit log
6117         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
6118         at the end, just in case you happen to have a test-xalloc-die
6119         program in some other PATH directory.
6120
6121         test-xalloc-die.sh: fix a portability bug
6122         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
6123         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
6124         Otherwise, argv[0] (as often seen in diagnostics) would be too
6125         system-dependent, sometimes with, and sometimes without the leading "./".
6126
6127         version-etc-fsf: relax license to LGPLv3+
6128         * modules/version-etc-fsf (License): Relax license.
6129
6130 2009-11-16  Eric Blake  <ebb9@byu.net>
6131
6132         xalloc-die-tests: avoid printing null pointer
6133         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
6134         shell script.
6135         * tests/test-xalloc-die.c (program_name): Declare.
6136         * tests/test-xalloc-die.sh (tmpfiles): New file.
6137
6138         setenv, unsetenv: work around various bugs
6139         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
6140         (setenv) [HAVE_SETENV]: Work around bugs.
6141         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
6142         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
6143         for bugs.
6144         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
6145         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
6146         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
6147         * modules/stdlib (Makefile.am): Update substitutions.
6148         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
6149         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
6150         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
6151         * modules/setenv-tests: New test.
6152         * modules/unsetenv-tests: Likewise.
6153         * tests/test-setenv.c: New file.
6154         * tests/test-unsetenv.c: Likewise.
6155
6156 2009-11-16  Jim Meyering  <meyering@redhat.com>
6157
6158         version-etc: relax license to LGPLv3+
6159         * modules/version-etc (License): Relax license.
6160
6161         better AC_REQUIRE expanded-before-required-warning avoidance
6162         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
6163         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
6164         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
6165         which is no longer needed.
6166
6167 2009-11-16  Eric Blake  <ebb9@byu.net>
6168
6169         test-freading: clean up temporary file
6170         * tests/test-freading.c (main): Remove file on success, and use
6171         ASSERT more liberally.
6172         Reported by Jim Meyering.
6173
6174 2009-11-16  Jim Meyering  <meyering@redhat.com>
6175
6176         avoid new AC_REQUIRE expanded-before-required warnings
6177         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
6178         merely using it.
6179         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
6180         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
6181
6182 2009-11-15  Simon Josefsson  <simon@josefsson.org>
6183
6184         * tests/test-xalloc-die.c: New file.
6185         * modules/xalloc-die-tests: New file.
6186         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
6187         XFAIL_TESTS so it can be appended by modules.
6188
6189 2009-11-15  Simon Josefsson  <simon@josefsson.org>
6190
6191         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
6192         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
6193
6194 2009-11-14  Eric Blake  <ebb9@byu.net>
6195
6196         fnmatch: avoid compiler warning
6197         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
6198         to silence compiler warning about mismatch signedness in ?:.
6199         Reported by Robert Millan.
6200
6201         intprops: add double-inclusion guard
6202         * lib/intprops.h: Allow idempotent includes.
6203         Suggested by Bruce Korb.
6204
6205         openat: detect Solaris fchownat bug
6206         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
6207         penalizing glibc chownat when only lchownat is broken.
6208         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
6209         trailing slash bugs.
6210         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
6211         * modules/openat-tests (Files): Include more files.
6212         (Depends-on): Add mgetgroups, sleep, stat-time.
6213         (configure.ac): Add additional checks.
6214         (Makefile.am): Build new test.
6215         * tests/test-fchownat.c: New file.
6216
6217         lchown: detect Solaris and FreeBSD bug
6218         * lib/lchown.c (rpl_lchown): Work around bug.
6219         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
6220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
6221         * modules/unistd (Makefile.am): Populate it.
6222         * lib/unistd.in.h (lchown): Update declaration.
6223         * doc/posix-functions/lchown.texi (lchown): Document the bug.
6224         * modules/lchown-tests: New file.
6225         * tests/test-lchown.h (test_lchown): Likewise.
6226         * tests/test-lchown.c (main): Likewise.
6227
6228         chown: detect Solaris and FreeBSD bug
6229         * lib/chown.c (rpl_chown): Work around bug.
6230         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
6231         (gl_PREREQ_CHOWN): Delete.
6232         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
6233         * modules/unistd (Makefile.am): Populate it.
6234         * lib/unistd.in.h (chown): Update declaration.
6235         * lib/lchown.c (chown): Update client.
6236         * modules/lchown (Depends-on): Add lstat.
6237         * doc/posix-functions/chown.texi (chown): Document the bug.
6238         * doc/posix-functions/getgroups.texi (getgroups): Document
6239         getgroups pitfall.
6240         * modules/chown-tests: New file.
6241         * tests/test-chown.h (test_chown): Likewise.
6242         * tests/test-chown.c (main): Likewise.
6243
6244 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
6245
6246         gnulib-tool: correctly detect absence of m4 directories
6247         * gnulib-tool: Avoid extra newline on data passed to wc -l.
6248
6249 2009-11-14  Jim Meyering  <meyering@redhat.com>
6250
6251         maint.mk: Prohibit inclusion of "xalloc.h" without use.
6252         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
6253
6254 2009-11-14  John W. Eaton  <jwe@gnu.org>
6255
6256         strftime.h: wrap funtion declaration in extern "C" block
6257         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
6258
6259 2009-11-13  Eric Blake  <ebb9@byu.net>
6260
6261         getgroups: avoid compiler warning
6262         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
6263
6264         getgroups: work around FreeBSD bug
6265         * lib/getgroups.c (rpl_getgroups): Work around the bug.
6266         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
6267         * doc/posix-functions/getgroups.texi (getgroups): Document it.
6268         * tests/test-getgroups.c (main): Fix buffer overrun.
6269
6270         getgroups: avoid compilation failure
6271         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
6272         * modules/getgroups (Depends-on): Add stdint.
6273
6274 2009-11-13  Jim Meyering  <meyering@redhat.com>
6275
6276         test-getgroups: avoid compilation failure
6277         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
6278
6279 2009-11-13  Eric Blake  <ebb9@byu.net>
6280
6281         mgetgroups: new module, taken from coreutils
6282         * modules/mgetgroups: New file.
6283         * lib/mgetgroups.h: Likewise.
6284         * lib/mgetgroups.c (mgetgroups): Likewise.
6285         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
6286         * MODULES.html.sh (Users and groups): Mention it.
6287
6288         getgroups: don't expose GETGROUPS_T to user
6289         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
6290         an element at a time if GETGROUPS_T is wrong size.
6291         * lib/getugroups.h (getugroups): Change signature.
6292         * lib/unistd.in.h (getgroups): Likewise.
6293         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
6294         signature needs fixing.
6295         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
6296         AC_TYPE_GETGROUPS.
6297         * modules/group-member (Depends-on): Add getgroups.
6298         * lib/group-member.c (group_info, get_group_info): Use gid_t.
6299         (group_member): Rely on getgroups replacement.
6300         * lib/getugroups.c (getugroups): Use gid_t.
6301         * tests/test-getgroups.c (main): Likewise.
6302         * NEWS: Mention the signature change.
6303         * doc/posix-functions/getgroups.texi (getgroups): Mention the
6304         problem with signature.
6305         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
6306         GETGROUPS_T is still useful for setgroups.
6307
6308         getgroups, getugroups: provide stubs for mingw
6309         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
6310         * lib/getugroups.c (getugroups): Likewise.
6311         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
6312         function.  Modernize replacement scheme.
6313         (gl_PREREQ_GETGROUPS): Delete.
6314         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
6315         * modules/getgroups (configure.ac): Declare witness.
6316         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
6317         * modules/unistd (Depends-on): Substitute witness.
6318         * lib/unistd.in.h (getgroups): Declare replacement.
6319
6320         getgroups: avoid calling exit
6321         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
6322         drop xalloc.
6323         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
6324         dependencies.
6325         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
6326         exiting, in the rare case of malloc failure.
6327
6328         getgroups: fix logic error
6329         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
6330         has more than 20 groups.
6331         * modules/getgroups-tests: New test.
6332         * tests/test-getgroups.c: New file.
6333
6334 2009-11-13  Simon Josefsson  <simon@josefsson.org>
6335
6336         * tests/test-base64.c: Improve.
6337
6338 2009-11-13  Simon Josefsson  <simon@josefsson.org>
6339
6340         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
6341         Blake <ebb9@byu.net>.
6342
6343 2009-11-13  Simon Josefsson  <simon@josefsson.org>
6344
6345         * tests/test-xvasprintf.c: Add %s%s related checks.
6346
6347 2009-11-12  Eric Blake  <ebb9@byu.net>
6348
6349         version-etc: match standards.texi style
6350         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
6351         and use <> only for URLs.
6352
6353 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
6354
6355         fts: do not fail on a submount during traversal
6356         * lib/fts.c (fts_build): Read the stat info again after opening
6357         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
6358         Original report at http://bugzilla.redhat.com/501848.
6359
6360 2009-11-12  Jim Meyering  <meyering@redhat.com>
6361
6362         bootstrap: sync from coreutils
6363         * build-aux/bootstrap (bootstrap_epilogue): New function.
6364         Use git_modules_config in one more place.  This make bootstrap's
6365         --gnulib-srcdir option more useful for testing.
6366
6367         bootstrap: generalize autoheader check
6368         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
6369         AC_CONFIG_HEADERS.
6370
6371 2009-11-11  Eric Blake  <ebb9@byu.net>
6372
6373         mkfifoat: use new modules for Solaris and BSD bugs
6374         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
6375         * lib/mkfifoat.c (mknodat): Split...
6376         * lib/mknodat.c (mknodat): ...into new file.
6377         * modules/mkfifoat (Files): Ship new file.
6378         (Depends-on): Add mkfifo, mknod.
6379         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
6380         (Depends-on): Add symlink.
6381         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
6382         redundant with test_mkfifo.h.
6383         (do_mkfifoat, do_mknodat): New helpers.
6384
6385         mknod: new module
6386         * modules/mknod: New file.
6387         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
6388         * lib/mknod.c (mknod): Likewise.
6389         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
6390         defaults.
6391         * modules/sys_stat (Makefile.am): Substitute them.
6392         * lib/sys_stat.in.h (mknod): Declare replacement.
6393         * MODULES.html.sh (Support for systems lacking POSIX:2008):
6394         Document it.
6395         * doc/posix-functions/mknod.texi (mknod): Likewise.
6396         * modules/mknod-tests: New test.
6397         * tests/test-mknod.c: Likewise.
6398
6399         mkfifo: new module
6400         * modules/mkfifo: New file.
6401         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
6402         * lib/mkfifo.c (mkfifo): Likewise.
6403         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
6404         defaults.
6405         * modules/sys_stat (Makefile.am): Substitute them.
6406         * lib/sys_stat.in.h (mkfifo): Declare replacement.
6407         * MODULES.html.sh (Support for systems lacking POSIX:2008):
6408         Document it.
6409         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
6410         * modules/mkfifo-tests: New test.
6411         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
6412         from test-mkfifoat.c.
6413         * tests/test-mkfifo.c: New file.
6414
6415         readlink: detect FreeBSD bug
6416         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
6417         slash on symlink.
6418         * doc/posix-functions/readlink.texi (readlink): Document the bug.
6419         * tests/test-readlink.h (test_readlink): Enhance test.
6420
6421         symlink: detect FreeBSD bug
6422         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
6423         slash on symlink.
6424         * doc/posix-functions/symlink.texi (symlink): Document the bug.
6425         * tests/test-symlink.h (test_symlink): Enhance test.
6426
6427 2009-11-10  Eric Blake  <ebb9@byu.net>
6428
6429         link: detect FreeBSD bug
6430         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
6431         symlink.
6432         * doc/posix-functions/link.texi (link): Document the bug.
6433         * tests/test-link.h (test_link): Enhance test.
6434         * tests/test-linkat.c (main): Update caller.
6435
6436         unlink, remove: detect FreeBSD bug
6437         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
6438         slash on symlink.
6439         * doc/posix-functions/unlink.texi (unlink): Document the bug.
6440         * doc/posix-functions/remove.texi (remove): Likewise.
6441         * tests/test-unlink.h (test_unlink): Enhance test.
6442         * tests/test-remove.c (main): Likewise.
6443
6444 2009-11-09  Eric Blake  <ebb9@byu.net>
6445
6446         rename: detect FreeBSD bug
6447         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
6448         slash on symlink.
6449         * modules/renameat-tests (Depends-on): Add filenamecat.
6450         * tests/test-rename.h (test_rename): Allow one more errno.
6451         * tests/test-renameat.c (main): Likewise.
6452         * doc/posix-functions/rename.texi (rename): Document the bug.
6453
6454         open: detect FreeBSD bug
6455         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
6456         symlink.
6457         * doc/posix-functions/open.texi (open): Document the bug.
6458         * doc/posix-functions/utimes.texi (utimes): Likewise.
6459         * tests/test-open.h (test_open): Add parameters, and test symlink
6460         handling.
6461         * tests/test-open.c (main): Adjust caller.
6462         * tests/test-fcntl-safer.c (main): Likewise.
6463         * modules/open-tests (Depends-on): Add stdbool, symlink.
6464         * modules/fcntl-safer-tests (Depends-on): Likewise.
6465         * tests/test-openat.c (main): Add test-open tests.
6466
6467         stat: detect FreeBSD bug
6468         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
6469         symlink.
6470         * doc/posix-functions/stat.texi (stat): Document the bug.
6471         * tests/test-stat.h (test_stat_func): Add argument.
6472         * tests/test-stat.c (main): Adjust caller.
6473         * tests/test-fstatat.c (main): Likewise.
6474         * modules/stat-tests (Depends-on): Add stdbool, symlink.
6475         Reported by Jim Meyering.
6476
6477 2009-11-09  James Youngman  <jay@gnu.org>
6478
6479         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
6480         * lib/strftime.c: Correct placement of #include "ignore-value.h".
6481
6482 2009-11-08  Jim Meyering  <meyering@redhat.com>
6483
6484         utimens: remove invalid futimesat call
6485         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
6486         It used the file descriptor of the target file as the DIR_FD
6487         parameter and NULL as the file name.  That caused failure with
6488         errno == EFAULT on FreeBSD-8.0-rc2
6489
6490 2009-11-07  Eric Blake  <ebb9@byu.net>
6491
6492         fflush, freadseek: use fseeko, not fseek
6493         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
6494         (clear_ungetc_buffer): Avoid potential problems on large files.
6495         * lib/freadseek.c (freadseek): Likewise.
6496         * modules/freadseek (Depends-on): Add fseeko.
6497         * modules/fseek (configure.ac): Set a witness.
6498         * tests/test-fflush.c (main): Use fseeko.
6499         * tests/test-fpurge.c (fseek): Disable link warning.
6500         * tests/test-freadable.c (fseek): Likewise.
6501         * tests/test-freading.c (fseek): Likewise.
6502         * tests/test-fseeko.c (fseek): Likewise.
6503         * tests/test-ftell.c (fseek): Likewise.
6504         * tests/test-ftello.c (fseek): Likewise.
6505         * tests/test-fwritable.c (fseek): Likewise.
6506         * tests/test-fwriting.c (fseek): Likewise.
6507
6508 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6509
6510         * modules/memchr (Depends-on): Drop getpagesize dependency.
6511
6512 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6513
6514         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
6515         Reported by Ludovic Courtès.
6516         * build-aux/pmccabe2html: Improve example usage.
6517         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
6518
6519 2009-11-06  Jim Meyering  <meyering@redhat.com>
6520
6521         do-release-commit-and-tag: New module.
6522         Automate the release-commit and tag process.
6523         * build-aux/do-release-commit-and-tag: New script, from coreutils.
6524         * modules/do-release-commit-and-tag: New file.
6525         * MODULES.html.sh (Support for maintaining and releasing): Add it.
6526
6527 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6528
6529         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
6530         because test-select.c uses inet_pton.
6531
6532 2009-11-06  Simon Josefsson  <simon@josefsson.org>
6533
6534         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
6535         GETADDRINFO_LIB.  Bump serial number.
6536         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
6537         Suggested by Eric Blake <ebb9@byu.net>.
6538
6539 2009-11-05  Eric Blake  <ebb9@byu.net>
6540
6541         strtod: detect darwin bug
6542         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
6543         Reported by Leo Davis.
6544
6545         freopen-safer: new module
6546         * modules/freopen-safer: New module.
6547         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
6548         * lib/freopen-safer.c (freopen_safer): New file.
6549         * lib/stdio-safer.h (freopen_safer): New declaration.
6550         * lib/stdio--.h (freopen): New override.
6551         * MODULES.html.sh (File stream based Input/Output): Mention it.
6552         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
6553         freopen-safer module.
6554         * doc/posix-functions/stderr.texi (stderr): Likewise.
6555         * doc/posix-functions/stdin.texi (stdin): Likewise.
6556         * doc/posix-functions/stdout.texi (stdout): Likewise.
6557         * modules/freopen-safer-tests: New test.
6558         * tests/test-reopen-safer.c: New file.
6559
6560 2009-11-05  Jim Meyering  <meyering@redhat.com>
6561
6562         maint.mk: Prohibit inclusion of "close-stream.h" without use.
6563         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
6564
6565 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6566
6567         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
6568
6569 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6570
6571         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
6572
6573 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6574
6575         Fix link error.
6576         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
6577         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
6578
6579 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6580
6581         * tests/test-func.c: Also test value of __func__.
6582
6583 2009-11-05  Simon Josefsson  <simon@josefsson.org>
6584
6585         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
6586         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
6587
6588 2009-11-05  Bruno Haible  <bruno@clisp.org>
6589
6590         Fix link error.
6591         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
6592         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
6593         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
6594
6595 2009-11-05  Bruno Haible  <bruno@clisp.org>
6596
6597         Tests for module 'inet_pton'.
6598         * modules/inet_pton-tests: New file.
6599         * tests/test-inet_pton.c: New file.
6600
6601 2009-11-05  Bruno Haible  <bruno@clisp.org>
6602
6603         Tests for module 'inet_ntop'.
6604         * modules/inet_ntop-tests: New file.
6605         * tests/test-inet_ntop.c: New file.
6606
6607 2009-11-04  Eric Blake  <ebb9@byu.net>
6608
6609         stdlib-safer: wrap all mkstemp variants
6610         * modules/mkostemp (configure.ac): Set witness.
6611         * modules/mkostemps (configure.ac): Likewise.
6612         * modules/mkstemps (configure.ac): Likewise.
6613         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
6614         (mkstemps_safer): Wrap more functions.
6615         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
6616         wrapping.
6617         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
6618         (mkstemps_safer): Implement the wrappers.
6619
6620         mkstemps, mkostemps: new modules
6621         * modules/mkostemps: New module.
6622         * modules/mkstemps: Likewise.
6623         * lib/mkostemps.c (mkostemps): New file.
6624         * lib/mkstemps.c (mkstemps): Likewise.
6625         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
6626         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
6627         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
6628         * modules/stdlib (Makefile.am): Substitute them.
6629         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
6630         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
6631         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
6632         * doc/gnulib.texi (Glibc stdlib.h): Include them.
6633         * MODULES.html.sh (File system functions): Mention them.
6634
6635         tempname: resync from glibc
6636         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
6637         same values for __GT_FILE as glibc.  Abort even when assertions
6638         are disabled.
6639         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
6640         match its value otherwise.  Allow idempotent inclusion.
6641         * lib/mkdtemp.c (mkdtemp): Adjust caller.
6642         * lib/mkostemp.c (mkostemp): Likewise.
6643         * lib/mkstemp.c (mkstemp): Likewise.
6644         * lib/tmpfile.c (tmpfile): Likewise.
6645         * NEWS: Document this.
6646
6647         utimens: fix use of futimens on older Linux
6648         * lib/utimens.c (fdutimens): Use updated, rather than original,
6649         timespec to avoid bug in older Linux kernel.
6650         Reported by Simon Josefsson.
6651
6652 2009-11-04  Bruno Haible  <bruno@clisp.org>
6653
6654         Make num_processors more flexible and consistent.
6655         * lib/nproc.h (enum nproc_query): New type.
6656         (num_processors): Add a 'query' argument.
6657         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
6658         (num_processors): Add a 'query' argument. Test the value of the
6659         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
6660         mingw, count the number of CPUs available for the current process.
6661         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
6662         Check for sched_getaffinity and sched_getaffinity_np.
6663         * modules/nproc (Depends-on): Add c-ctype, extensions.
6664         * NEWS: Mention the change.
6665
6666 2009-11-03  Bruno Haible  <bruno@clisp.org>
6667
6668         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
6669
6670 2009-11-03  Jim Meyering  <meyering@redhat.com>
6671
6672         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
6673         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
6674         if it is defined.
6675
6676 2009-11-02  Eric Blake  <ebb9@byu.net>
6677
6678         mktime, timegm: share common declaration
6679         * lib/mktime-internal.h: New file.
6680         * lib/mktime.c: Use it rather than open-coding a declaration.
6681         * lib/timegm.c: Likewise.
6682         * modules/mktime (Files): Ship it.
6683         * modules/timegm (Files): Likewise.
6684         Suggested by Bruno Haible.
6685
6686         test-update-copyright: update test to match script changes
6687         * tests/test-update-copyright.sh: Avoid hard-coding perl
6688         location.  Don't update *.bak created by earlier runs.
6689
6690 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
6691             Simon Josefsson  <simon@josefsson.org>
6692             Bruno Haible  <bruno@clisp.org>
6693
6694         Fix link error on Solaris 8.
6695         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
6696         also in libnsl. Define also INET_PTON_LIB.
6697         * modules/inet_pton (Link): New section.
6698
6699 2009-11-02  Simon Josefsson  <simon@josefsson.org>
6700             Bruno Haible  <bruno@clisp.org>
6701
6702         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
6703         * modules/inet_ntop (Link): New section.
6704         Reported by Boyan Kasarov <bkasarov@gmail.com>.
6705
6706 2009-11-02  Eric Blake  <ebb9@byu.net>
6707
6708         maint: avoid compiler warnings in m4 macros
6709         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
6710         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
6711
6712 2009-11-02  Simon Josefsson  <simon@josefsson.org>
6713
6714         * m4/pmccabe2html.m4: Remove file.
6715         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
6716         function.  Change maintainer.
6717         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
6718         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
6719         Courtès).
6720
6721 2009-10-31  Eric Blake  <ebb9@byu.net>
6722
6723         fseeko: fix m4 regression
6724         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
6725         regression from 2009-10-27.
6726         Reported by Ralf Wildenhues.
6727
6728 2009-10-31  Jim Meyering  <meyering@redhat.com>
6729
6730         inttostr: aesthetics and improved (compile-time) safety
6731         Define inttype_is_signed rather than inttype_is_unsigned,
6732         since the sole use is via "#if inttype_is_signed".
6733         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
6734         inttype_is_unsigned.
6735         * lib/offtostr.c (inttype_is_signed): Likewise.
6736         * lib/uinttostr.c (inttype_is_signed): Likewise.
6737         * lib/umaxtostr.c (inttype_is_signed): Likewise.
6738         * lib/inttostr.c (inttostr): Use verify to cross-check the
6739         inttype_is_signed value and the signedness of the actual type.
6740         * modules/inttostr (Depends-on): Add verify.
6741
6742 2009-10-30  Eric Blake  <ebb9@byu.net>
6743
6744         build: avoid compiler warnings
6745         * lib/fchmodat.c (lchmod): Mark unused variables.
6746         * lib/getopt.c (_getopt_initialize): Likewise.
6747         * lib/mktime.c (__mktime_internal): Provide prototype.
6748         * lib/inttostr.c (inttostr): Avoid compiler warning even with
6749         older gcc that do not understand #pragma GCC diagnostic.
6750         * lib/uinttostr.c (inttype_is_unsigned): Define.
6751         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
6752
6753 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
6754
6755         stat: fix compilation on AIX
6756         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
6757         only see struct stat64.
6758
6759 2009-10-30  Eric Blake  <ebb9@byu.net>
6760
6761         exclude: make more robust
6762         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
6763         rather than masking a coding bug.
6764         Suggested by Bruno Haible.
6765
6766 2009-10-30  Jim Meyering  <meyering@redhat.com>
6767
6768         perl scripts: remove #!/usr/bin/perl in favor of more portable...
6769         Rather than putting #!/usr/bin/perl on the first line,
6770         start with a variant of what's recommended by "man perlrun" that
6771         invokes the first "perl" program from your shell's search path.
6772         * build-aux/gitlog-to-changelog: Replace #!... as above.
6773         Add a "Local Variables" perl mode setting.
6774         Prompted by a patch from Ludovic Courtès.
6775         Improved by Eric Blake.
6776         * build-aux/useless-if-before-free: Likewise.
6777         * build-aux/announce-gen: Likewise.
6778         * build-aux/update-copyright: Likewise.
6779
6780 2009-10-29  Eric Blake  <ebb9@byu.net>
6781
6782         filenamecat-lgpl: adjust clients
6783         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
6784         filenamecat.
6785         * modules/renameat (Depends-on): Likewise.
6786
6787         filenamecat: split into filenamecat-lgpl
6788         * modules/filenamecat-lgpl: New module.
6789         * modules/filenamecat (Files): Move library-safe files into
6790         filenamecat-lgpl.
6791         (Depends-on): Add filenamecat-lgpl.
6792         (configure.ac): Declare witness.
6793         * lib/filenamecat.h (file_name_concat): Only declare when using
6794         GPL module.
6795         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
6796         Move...
6797         * lib/filenamecat-lgpl.c: ...into new file.
6798         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
6799         (gl_FILE_NAME_CONCAT): Use it.
6800         * MODULES.html.sh (File system functions): Mention new module.
6801
6802         argp: avoid memory leak
6803         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
6804         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
6805         base_name, since the latter malloc()s and can call exit().
6806         Leak introduced 2006-07-03.
6807
6808         dirname-lgpl: adjust clients that don't need full dirname
6809         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
6810         * modules/filenamecat (Depends-on): Likewise.
6811         * modules/linkat (Depends-on): Likewise.
6812         * modules/mkancesdirs (Depends-on): Likewise.
6813         * modules/mkdir (Depends-on): Likewise.
6814         * modules/openat (Depends-on): Likewise.
6815         * modules/savewd (Depends-on): Likewise.
6816         * modules/rename (Depends-on): Likewise.
6817         (License): Relax license.
6818         * modules/mkdir-tests (Depends-on): Drop progname.
6819         (Makefile.am): Delete unneeded LDADD.
6820         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
6821
6822         dirname: split into dirname-lgpl
6823         * modules/dirname-lgpl: New module.
6824         * modules/dirname (Files): Move library-safe files into
6825         dirname-lgpl.
6826         (Depends-on): Add dirname-lgpl.
6827         (configure.ac): Declare witness.
6828         * modules/double-slash-root (License): Relax license.
6829         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
6830         module.
6831         * lib/dirname.c (dir_len, mdir_name): Move...
6832         * lib/dirname-lgpl.c: ...into new file.
6833         * lib/basename.c (last_component, base_len): Move...
6834         * lib/basename-lgpl.c: ...into new file.
6835         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
6836         (gl_DIRNAME): Use it.
6837         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
6838         Mention new module.
6839         * modules/dirname-tests (Depends-on): Add progname.
6840         * tests/test-dirname.c (program_name): Delete.
6841
6842         mkdir: make safe for libraries
6843         * modules/mkdir (Depends-on): Drop xalloc.
6844         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
6845         exit.
6846
6847         tests: avoid some compiler warnings
6848         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
6849         literals.
6850         * tests/test-memchr.c (main): Avoid type mismatch.
6851         * tests/test-arpa_inet.c (main): Avoid unused parameters.
6852         * tests/test-base64.c (main): Likewise.
6853         * tests/test-getdelim.c (main): Likewise.
6854         * tests/test-gethostname.c (main): Likewise.
6855         * tests/test-getline.c (main): Likewise.
6856         * tests/test-netinet_in.c (main): Likewise.
6857         * tests/test-select.c (open_server_socket, main): Likewise.
6858         * tests/test-select-stdin.c (main): Likewise.
6859         * tests/test-sockets.c (main): Likewise.
6860         * tests/test-strsignal.c (main): Likewise.
6861         * tests/test-sys_select.c (main): Likewise.
6862         * tests/test-sys_socket.c (main): Likewise.
6863         * tests/test-u64.c (main): Likewise.
6864         * tests/test-xfprintf-posix.c (main): Likewise.
6865         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
6866
6867         sockets: avoid compiler warning
6868         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
6869
6870         maint: detect usage(1) and other suspicious exits
6871         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
6872
6873 2009-10-29  Jim Meyering  <meyering@redhat.com>
6874
6875         timespec: long-to-int truncation could make timespec_cmp malfunction
6876         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
6877         a multiple of 2^32 nanoseconds as no difference.
6878
6879 2009-10-28  Jim Meyering  <meyering@redhat.com>
6880
6881         fprintftime: wrap macro code argument in "do {...} while(0)"
6882         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
6883         cpy macro must be a statement that can be followed by a semicolon.
6884         Now that the else clause contains a comment and is hence longer
6885         than one line, I require curly braces.  That in turn requires
6886         that we wrap this code block in the standard do...while(0).
6887
6888         fprintftime: remove stray semicolon from previous change
6889         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
6890
6891         fprintftime: avoid a warning about ignored fwrite return value
6892         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
6893         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
6894         that is unsafe.
6895         * modules/fprintftime (Depends-on): Add ignore-value.
6896
6897         exclude: avoid an unwarranted warning
6898         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
6899
6900 2009-10-27  Eric Blake  <ebb9@byu.net>
6901
6902         fseek: avoid compilation failure when fflush is replaced
6903         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
6904         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
6905         module is in use.
6906         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
6907         module is not in use; since REPLACE_FSEEK worked otherwise.
6908         (GNULIB_FTELLO): Likewise for ftell.
6909         Reported by Ian Beckwith and others.
6910
6911 2009-10-27  Bruno Haible  <bruno@clisp.org>
6912
6913         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
6914         Reported by Jim Meyering.
6915
6916 2009-10-27  Jim Meyering  <jim@meyering.net>
6917             Bruno Haible  <bruno@clisp.org>
6918
6919         Avoid warning despite dropping the return value of fwrite.
6920         * lib/unicodeio.c: Include ignore-value.h.
6921         (fwrite_success_callback): Explicitly ignore fwrite's return value.
6922         * modules/unicodeio (Depends-on): Add ignore-value.
6923
6924 2009-10-26  Eric Blake  <ebb9@byu.net>
6925
6926         areadlinkat: fix fallback path
6927         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
6928         pointer and zero.
6929
6930 2009-10-22  Pádraig Brady  <P@draigBrady.com>
6931
6932         Use a better IO block size for modern systems
6933         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
6934         * lib/md2.c: Likewise.
6935         * lib/md4.c: Likewise.
6936         * lib/md5.c: Likewise.
6937         * lib/sha1.c: Likewise.
6938         * lib/sha256.c: Likewise.
6939         * lib/sha512.c: Likewise.
6940
6941 2009-10-22  Eric Blake  <ebb9@byu.net>
6942
6943         tests: avoid several compiler warnings
6944         * tests/test-getcwd.c (main): Avoid buffer underflow.
6945         * tests/test-getdate.c (main): String literals are not safe with
6946         putenv, so use setenv.  Declare unused argument.
6947         * modules/getdate-tests (Depends-on): Add setenv.
6948         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
6949         problems with string literals in char *.
6950         * tests/test-hash.c (main): Avoid shadowing declaration.
6951         (insert_new): Treat string literals as char const *.
6952         * tests/test-getopt.h (test_getopt): Likewise.
6953         (getopt_loop): Alter types to minimize casting elsewhere.
6954         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
6955         (test_getopt_long_posix): Likewise.
6956         (do_getopt_long): Add wrapper to minimize casting.
6957         * tests/test-atexit.c (clear_temp_file): Use void.
6958         * tests/test-areadlink-with-size.c (main): Declare unused
6959         arguments.
6960         * tests/test-areadlink.c (main): Likewise.
6961         * tests/test-areadlinkat-with-size.c (main): Likewise.
6962         * tests/test-areadlinkat.c (main): Likewise.
6963         * tests/test-canonicalize-lgpl.c (main): Likewise.
6964         * tests/test-canonicalize.c (main): Likewise.
6965         * tests/test-dirent-safer.c (main): Likewise.
6966         * tests/test-dirname.c (main): Likewise.
6967         * tests/test-dup2.c (main): Likewise.
6968         * tests/test-fchdir.c (main): Likewise.
6969         * tests/test-fcntl-h.c (main): Likewise.
6970         * tests/test-fcntl-safer.c (main): Likewise.
6971         * tests/test-fdopendir.c (main): Likewise.
6972         * tests/test-fdutimensat.c (main): Likewise.
6973         * tests/test-fflush.c (main): Likewise.
6974         * tests/test-filenamecat.c (main): Likewise.
6975         * tests/test-filevercmp.c (main): Likewise.
6976         * tests/test-fopen-safer.c (main): Likewise.
6977         * tests/test-fopen.c (main): Likewise.
6978         * tests/test-fpending.c (main): Likewise.
6979         * tests/test-fpurge.c (main): Likewise.
6980         * tests/test-freading.c (main): Likewise.
6981         * tests/test-fstatat.c (main): Likewise.
6982         * tests/test-fsync.c (main): Likewise.
6983         * tests/test-futimens.c (main): Likewise.
6984         * tests/test-getndelim2.c (main): Likewise.
6985         * tests/test-gettimeofday.c (main): Likewise.
6986         * tests/test-getopt.c (main): Likewise.
6987         * tests/test-i-ring.c (main): Likewise.
6988         * tests/test-inttypes.c (main): Likewise.
6989         * tests/test-link.c (main): Likewise.
6990         * tests/test-lstat.c (main): Likewise.
6991         * tests/test-math.c (main): Likewise.
6992         * tests/test-md5.c (main): Likewise.
6993         * tests/test-memchr2.c (main): Likewise.
6994         * tests/test-memrchr.c (main): Likewise.
6995         * tests/test-mkdir.c (main): Likewise.
6996         * tests/test-mkdirat.c (main): Likewise.
6997         * tests/test-mkfifoat.c (main): Likewise.
6998         * tests/test-open.c (main): Likewise.
6999         * tests/test-openat-safer.c (main): Likewise.
7000         * tests/test-openat.c (main): Likewise.
7001         * tests/test-quotearg.c (main): Likewise.
7002         * tests/test-rawmemchr.c (main): Likewise.
7003         * tests/test-readlink.c (main): Likewise.
7004         * tests/test-remove.c (main): Likewise.
7005         * tests/test-rename.c (main): Likewise.
7006         * tests/test-renameat.c (main): Likewise.
7007         * tests/test-rmdir.c (main): Likewise.
7008         * tests/test-sha1.c (main): Likewise.
7009         * tests/test-signal.c (main): Likewise.
7010         * tests/test-sigaction.c (main): Likewise.
7011         * tests/test-stat.c (main): Likewise.
7012         * tests/test-stat-time.c (main): Likewise.
7013         * tests/test-stddef.c (main): Likewise.
7014         * tests/test-stdint.c (main): Likewise.
7015         * tests/test-stdio.c (main): Likewise.
7016         * tests/test-stdlib.c (main): Likewise.
7017         * tests/test-strchrnul.c (main): Likewise.
7018         * tests/test-strerror.c (main): Likewise.
7019         * tests/test-string.c (main): Likewise.
7020         * tests/test-strtod.c (main): Likewise.
7021         * tests/test-strverscmp.c (main): Likewise.
7022         * tests/test-symlink.c (main): Likewise.
7023         * tests/test-symlinkat.c (main): Likewise.
7024         * tests/test-sys_stat.c (main): Likewise.
7025         * tests/test-sys_time.c (main): Likewise.
7026         * tests/test-time.c (main): Likewise.
7027         * tests/test-unistd.c (main): Likewise.
7028         * tests/test-unlink.c (main): Likewise.
7029         * tests/test-unlinkat.c (main): Likewise.
7030         * tests/test-utimens.c (main): Likewise.
7031         * tests/test-utimensat.c (main): Likewise.
7032         * tests/test-version-etc.c (main): Likewise.
7033         * tests/test-wchar.c (main): Likewise.
7034         * tests/test-wctype.c (main): Likewise.
7035         * tests/test-xprintf-posix.c (main): Likewise.
7036         * tests/test-posixtm.c (main): Likewise.
7037         (STREQ): Delete unused macro.
7038         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
7039         shadowed variables.
7040         * tests/test-memchr.c (main): Likewise.
7041
7042 2009-10-21  Eric Blake  <ebb9@byu.net>
7043
7044         areadlinkat: avoid failure on older glibc
7045         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
7046         rather than mis-comparing 0 against FUNC_RESULT of char*.
7047
7048 2009-10-21  Bruno Haible  <bruno@clisp.org>
7049
7050         * modules/stpncpy (License): Relicense under LGPLv2+.
7051         Reported by David Lutterkort <lutter@redhat.com>.
7052
7053 2009-10-20  Eric Blake  <ebb9@byu.net>
7054
7055         utimensat: work around Solaris 9 bug
7056         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
7057         has trailing slash bugs.
7058         * tests/test-lutimens.h (test_lutimens): Enhance test.
7059         * tests/test-utimens.h (test_utimens): Likewise.
7060         * doc/posix-functions/utime.texi (utime): Enhance documentation.
7061         * doc/posix-functions/utimes.texi (utimes): Likewise.
7062         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
7063         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
7064         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
7065         * doc/posix-functions/futimens.texi (futimens): Likewise.
7066
7067         fdutimensat: new module
7068         * modules/fdutimensat: New file.
7069         * lib/fdutimensat.c (fdutimensat): Likewise.
7070         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
7071         * MODULES.html.sh (File system functions): Mention module.
7072         * modules/fdutimensat-tests: New test.
7073         * tests/test-fdutimensat.c: Likewise.
7074
7075         doc: regenerate INSTALL
7076         * doc/INSTALL: Reflect recent autoconf update.
7077         * doc/INSTALL.ISO: Likewise.
7078         * doc/INSTALL.UTF-8: Likewise.
7079
7080 2009-10-20  Pádraig Brady  <P@draigBrady.com>
7081
7082         acl: warn if ACL support is not detected
7083         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
7084
7085 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
7086
7087         * lib/nproc.h: Add extern "C" block for C++.
7088
7089 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
7090             Bruno Haible  <bruno@clisp.org>
7091
7092         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
7093         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
7094         * doc/posix-functions/isalpha.texi: Likewise.
7095         * doc/posix-functions/isblank.texi: Likewise.
7096         * doc/posix-functions/iscntrl.texi: Likewise.
7097         * doc/posix-functions/isdigit.texi: Likewise.
7098         * doc/posix-functions/isgraph.texi: Likewise.
7099         * doc/posix-functions/islower.texi: Likewise.
7100         * doc/posix-functions/isprint.texi: Likewise.
7101         * doc/posix-functions/ispunct.texi: Likewise.
7102         * doc/posix-functions/isspace.texi: Likewise.
7103         * doc/posix-functions/isupper.texi: Likewise.
7104         * doc/posix-functions/isxdigit.texi: Likewise.
7105
7106 2009-10-18  Bruno Haible  <bruno@clisp.org>
7107
7108         Tests for module 'isblank'.
7109         * modules/isblank-tests: New file.
7110         * tests/test-isblank.c: New file.
7111
7112         New module 'isblank'.
7113         * lib/isblank.c: New file.
7114         * m4/isblank.m4: New file.
7115         * modules/isblank: New file.
7116         * doc/posix-functions/isblank.texi: Mention the new module.
7117
7118 2009-10-18  Bruno Haible  <bruno@clisp.org>
7119
7120         New module 'ctype'.
7121         * lib/ctype.in.h: New file.
7122         * m4/ctype.m4: New file.
7123         * modules/ctype: New file.
7124         * doc/posix-headers/ctype.texi: Mention the new module.
7125
7126 2009-10-18  Jim Meyering  <meyering@redhat.com>
7127
7128         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
7129         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
7130         right after its initialization, rather than farther down.
7131         Keeping these in close proximity makes it easier to ensure
7132         that each such variable is initialized.  E.g.,
7133
7134             LIB_CLOCK_GETTIME=
7135             AC_SUBST([LIB_CLOCK_GETTIME])
7136
7137         This change also increments these serial numbers.
7138         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
7139         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
7140         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7141
7142 2009-10-18  Bruno Haible  <bruno@clisp.org>
7143
7144         Don't let environment variables perturb build.
7145         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
7146         (gl_PREREQ_GETHRXTIME): ... not here.
7147
7148 2009-10-18  Bruno Haible  <bruno@clisp.org>
7149
7150         Avoid symlink attack in localcharset module.
7151         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
7152         (O_NOFOLLOW): Define fallback.
7153         (get_charset_aliases): Don't open the file if it is a symbolic link.
7154         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
7155         gl_FCNTL_H.
7156         (gl_FCNTL_H): Require it.
7157         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
7158         * modules/localcharset (Files): Add m4/fcntl_h.m4.
7159         Reported by Fergal Glynn <fglynn@veracode.com>.
7160
7161 2009-10-18  Bruno Haible  <bruno@clisp.org>
7162
7163         Implement nproc for mingw.
7164         * lib/nproc.c: Include <windows.h>
7165         (num_processors): On native Windows platforms, try GetSystemInfo.
7166
7167 2009-10-18  Bruno Haible  <bruno@clisp.org>
7168
7169         Implement nproc for IRIX.
7170         * lib/nproc.c: Include <sys/sysmp.h>.
7171         (num_processors): On IRIX systems, try sysmp.
7172         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
7173
7174 2009-10-18  Bruno Haible  <bruno@clisp.org>
7175
7176         Implement nproc for HP-UX.
7177         * lib/nproc.c: Include <sys/pstat.h>
7178         (num_processors): On HP-UX systems, try pstat_getdynamic.
7179         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
7180         pstat_getdynamic.
7181
7182 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
7183             Bruno Haible  <bruno@clisp.org>
7184
7185         Implement nproc for NetBSD, OpenBSD.
7186         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
7187         (ARRAY_SIZE): New macro.
7188         (num_processors): On BSD systems, try sysctl of HW_NCPU.
7189         * m4/nproc.m4: New file.
7190         * modules/nproc (Files): Add m4/nproc.m4.
7191         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
7192         (Makefile.am): Instead, augment lib_SOURCES.
7193
7194 2009-10-18  Bruno Haible  <bruno@clisp.org>
7195
7196         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
7197         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
7198         sys/param.h.
7199
7200 2009-10-16  Eric Blake  <ebb9@byu.net>
7201
7202         utimensat: new module
7203         * modules/utimensat: New file.
7204         * lib/utimensat.c (utimensat): Likewise.
7205         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7206         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
7207         so we can work around Linux bugs.
7208         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
7209         * modules/sys_stat (Makefile.am): Substitute them.
7210         * lib/sys_stat.in.h (utimensat): Declare it.
7211         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7212         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
7213         * modules/utimensat-tests: New test.
7214         * tests/test-utimensat.c: Likewise.
7215
7216         utimens: let lutimens work on non-symlinks
7217         * lib/utimens.c (lutimens): Fall back to utimens rather than
7218         failing with ENOSYS, when file is not a symlink.
7219         (utimens): Reduce redirection.
7220         * tests/test-lutimens.h (test_lutimens): Update test to cover
7221         non-symlinks.
7222         * tests/test-utimens.h (test_utimens): Update test to cover
7223         symlinks.
7224         * tests/test-utimens.c (main): Update caller.
7225
7226         utimens: cache whether utimensat syscall works
7227         * lib/utimens.c (utimensat_works_really): New cache variable.
7228         (fdutimens, lutimens): Use it to avoid failing syscall.
7229
7230         test-stat-time, test-utimens: improve portability
7231         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
7232         ext4 on alpha, and for cygwin.
7233         * tests/test-utimens-common.h: New file.
7234         (nap): Factor delays into single function.
7235         * tests/test-lutimens.h (test_lutimens): Use new header.
7236         * tests/test-futimens.h (test_futimens): Likewise.
7237         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
7238         timestamps to occur from same machine, as was done previously for
7239         test_utimens.
7240         * modules/utimens-tests (Files): Ship new file.
7241         * modules/futimens-tests (Files): Likewise.
7242         Reported in part by Jim Meyering.
7243
7244         sys_stat: sort replacement declarations
7245         * lib/sys_stat.in.h: Sort declarations.
7246         * lib/futimens.c (futimens): Fix typo.
7247
7248 2009-10-15  Jim Meyering  <meyering@redhat.com>
7249
7250         don't let environment settings perturb build
7251         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
7252         could cause a configure-time and/or build-time malfunction.
7253         Typically, a configure-time function-in-library test is performed
7254         via code like this:
7255
7256           LIB_VAR=
7257           AC_SUBST([LIB_VAR])
7258           prefix_saved_LIBS=$LIBS
7259             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
7260                        [test "$ac_cv_search_FUNC" = "none required" ||
7261                         LIB_VAR=$ac_cv_search_FUNC])
7262           LIBS=$prefix_saved_LIBS
7263
7264         However, in each of the files affected by this change, the LIB_VAR=
7265         initialization was omitted.  Thus, when set in the environment, its
7266         value would propagate into generated Makefiles when FUNC is not found
7267         in LIB_NAME.
7268         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
7269         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
7270         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7271
7272 2009-10-14  Eric Blake  <ebb9@byu.net>
7273
7274         fchdir: avoid infinite recursion in mingw
7275         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
7276         recursing.
7277
7278         test-stat-time: port to mingw
7279         * tests/test-stat-time.c (force_unlink): Return a value.
7280         (test_ctime) [W32]: Fix compilation error.
7281         (nap): Don't call usleep with too large an argument.  Use
7282         force_unlink.
7283         * doc/pastposix-functions/usleep.texi (usleep): Document the
7284         portability issue.
7285
7286 2009-10-13  Jim Meyering  <meyering@redhat.com>
7287
7288         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
7289         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
7290         * modules/pipe-filter-ii: Likewise.
7291         * modules/sys_socket-tests: Likewise.
7292         * modules/tsearch-tests: Likewise.
7293         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
7294         (check): Depend on it.
7295
7296 2009-10-12  Eric Blake  <ebb9@byu.net>
7297
7298         utimens-tests: port to NFS file systems
7299         * tests/test-utimens.h (test_utimens): Refactor utimecmp
7300         comparisons to avoid spurious failures from timestamp drift
7301         between NFS machines.
7302
7303 2009-10-12  Eric Blake  <ebb9@byu.net>
7304
7305         stat-time-tests: minor cleanups
7306         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
7307         * tests/test-stat-time.c (nap): Separate assignment from call.
7308         Suggested by Paolo Bonzini and Bruno Haible.
7309
7310         sys_stat: guarantee struct timespec
7311         * lib/sys_stat.in.h (includes): Always include <time.h>
7312         * modules/sys_stat (Depends-on): Add time.
7313         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
7314         mode_t permission values.
7315         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
7316         get at subsecond timestamps.
7317
7318 2009-10-10  Eric Blake  <ebb9@byu.net>
7319
7320         futimens: new module
7321         * modules/futimens: New file.
7322         * lib/futimens.c (futimens): Likewise.
7323         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
7324         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
7325         we can work around Linux bugs.
7326         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
7327         * modules/sys_stat (Makefile.am): Substitute them.
7328         * lib/sys_stat.in.h (futimens): Declare it.
7329         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7330         * doc/posix-functions/futimens.texi (futimens): Likewise.
7331         * modules/futimens-tests: New test.
7332         * tests/test-futimens.c: Likewise.
7333
7334         utimens: introduce fdutimens
7335         * lib/utimens.h (fdutimens): New prototype.
7336         * lib/utimens.c (gl_futimens): Move guts...
7337         (fdutimens): ...to new interface.
7338         * tests/test-utimens.c (do_fdutimens): Use it.
7339
7340         utimens: add UTIME_NOW and UTIME_OMIT support
7341         * lib/utimens.c (validate_timespec, update_timespec): New helper
7342         functions.
7343         (gl_futimens, lutimens): Use them.
7344         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
7345         stdbool, sys_stat.
7346         (Link): Mention resulting library dependency.
7347         * modules/utimecmp (Link): Likewise.
7348         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
7349         (Makefile.am): Pick up library dependency.
7350         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
7351         definition.
7352         * tests/test-sys_stat.c: Test the definitions.
7353         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
7354         * NEWS: Document library dependency.
7355
7356         utimecmp: support symlink timestamps
7357         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
7358         hashing when possible.  Use pathconf when available.
7359         (SYSCALL_RESOLUTION): Recognize tighter resolution.
7360         * modules/utimecmp (Depends-on): Add lstat.
7361
7362         utimens: add lutimens interface
7363         * lib/utimens.c (lutimens): New function.
7364         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
7365         * lib/utimens.h (lutimens): Declare new interface.
7366         * tests/test-utimens.c (main): Enhance test.
7367         * tests/test-lutimens.h (test_lutimens): New file.
7368         * modules/utimens-tests (Files): Distribute it.
7369         (Depends-on): Add symlink.
7370         (configure.ac): Check for usleep.
7371
7372         utimens: validate futimens usage
7373         * lib/utimens.c (gl_futimens): Require valid fd up front, using
7374         fewer syscalls on failure later on.  Avoid compiler warning on
7375         mingw.
7376         * modules/utimens (Depends-on): Add dup2.
7377
7378         utimens: add test
7379         * modules/utimens-tests: New test.
7380         * tests/test-utimens.h: New file.
7381         * tests/test-futimens.h: Likewise.
7382         * tests/test-utimens.c: Likewise.
7383
7384         doc: mention timestamp portability issues
7385         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
7386         instead.
7387         * doc/posix-functions/utime.texi (utime): Likewise.
7388         * doc/posix-functions/utimes.texi (utimes): Likewise.
7389         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
7390         instead.
7391         * doc/posix-functions/futimens.texi (futimens): Mention utimens
7392         module.
7393         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
7394         Mention weakness with symlink timestamps.
7395         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
7396         to utimensat/futimens instead.
7397         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
7398
7399         test-dup2: enhance test
7400         * tests/test-dup2.c (main): Also check AT_FDCWD.
7401
7402         test-stat-time: avoid more spurious failures
7403         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
7404         xfs; and avoid race if the two timestamps cross quantization edge.
7405
7406         relocatable: prefer 'file system' over 'filesystem'
7407         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
7408         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
7409         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
7410         * doc/relocatable.texi (Enabling Relocatability): Likewise.
7411         * lib/relocatable.c (compute_curr_prefix): Likewise.
7412
7413 2009-10-10  Jim Meyering  <meyering@redhat.com>
7414
7415         stat-time-tests: check for the usleep function
7416         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
7417
7418 2009-10-10  Bruno Haible  <bruno@clisp.org>
7419
7420         * modules/xnanosleep: Put the Link section after the Include section.
7421
7422 2009-10-09  Eric Blake  <ebb9@byu.net>
7423
7424         dup2: work around FreeBSD 6.1 bug
7425         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
7426         * doc/posix-functions/dup2.texi (dup2): Document it.
7427         Reported by Nelson H. F. Beebe and Jim Meyering.
7428
7429         test-stat-time: port to buggy NFS clients
7430         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
7431         (test_ctime): Also skip test if mtime and ctime are skewed.
7432
7433         maint: prefer 'file system' over 'filesystem'
7434         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
7435         * doc/posix-functions/lstat.texi (lstat): Likewise.
7436         * lib/file-has-acl.c (file_has_acl): Likewise.
7437         * lib/fwriteerror.c [TEST]: Likewise.
7438         * tests/test-areadlink.h (test_areadlink): Likewise.
7439         * tests/test-areadlinkat-with-size.c (main): Likewise.
7440         * tests/test-areadlinkat.c (main): Likewise.
7441         * tests/test-canonicalize-lgpl.c (main): Likewise.
7442         * tests/test-canonicalize.c (main): Likewise.
7443         * tests/test-fstatat.c (main): Likewise.
7444         * tests/test-linkat.c (main): Likewise.
7445         * tests/test-lstat.h (test_lstat_func): Likewise.
7446         * tests/test-mkdir.h (test_mkdir): Likewise.
7447         * tests/test-readlink.h (test_readlink): Likewise.
7448         * tests/test-remove.c (main): Likewise.
7449         * tests/test-rename.h (test_rename): Likewise.
7450         * tests/test-renameat.c (main): Likewise.
7451         * tests/test-rmdir.h (test_rmdir_func): Likewise.
7452         * tests/test-symlink.h (test_symlink): Likewise.
7453         * tests/test-symlinkat.c (main): Likewise.
7454         * tests/test-unlink.h (test_unlink_func): Likewise.
7455         * tests/test-unlinkat.c (main): Likewise.
7456
7457         maint: make realtime library usage explicit
7458         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
7459         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
7460         * modules/settime (Link): Likewise.
7461         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
7462
7463         test-stat-time: speed up execution
7464         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
7465         warning on mingw.
7466         (nap): New helper function.
7467         (prepare_test): Use it to reduce sleep time.
7468         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
7469         execution.
7470         * modules/stat-time-tests (configure.ac): Check for usleep.
7471
7472 2009-10-09  Jim Meyering  <meyering@redhat.com>
7473
7474         selinux-h: always use getfilecon wrappers
7475         * lib/getfilecon.c: New file.
7476         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
7477         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
7478         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
7479         (fgetfilecon): Provide a stub.
7480         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
7481         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
7482         file unconditionally.
7483         When <selinux/selinux.h> is found, arrange to use wrappers.
7484         * modules/selinux-h (Files): Add getfilecon.c.
7485         (Makefile.am): Substitute include-next-related bits
7486         into the now-always-generated selinux/selinux.h file.
7487         * doc/glibc-functions/lgetfilecon.texi: New file.
7488         * doc/glibc-functions/fgetfilecon.texi: New file.
7489         * doc/glibc-functions/getfilecon.texi: New file.
7490         * doc/glibc-functions/getfilecon-desc.texi: New file.
7491         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
7492         which to pull in the new files.
7493         * MODULES.html.sh (Misc): Add selinux-h.
7494
7495 2009-10-08  Jim Meyering  <meyering@redhat.com>
7496
7497         unistd: fix comment typo
7498         * lib/unistd.in.h (euidaccess): Fix a comment typo.
7499
7500 2009-10-08  Eric Blake  <ebb9@byu.net>
7501
7502         areadlink: use SIZE_MAX consistently
7503         * modules/areadlink (Depends-on): Add stdint.
7504         * modules/areadlink-with-size (Depends-on): Likewise.
7505         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
7506         gives NULL; drop sys/types, since unistd gives size_t; and add
7507         stdint for SIZE_MAX.
7508         (SIZE_MAX): Rely on headers.
7509         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
7510         and add stdint.
7511         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
7512         (SIZE_MAX): Likewise.
7513         (INITIAL_BUF_SIZE): Turn into enum.
7514         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
7515
7516 2009-10-08  Jim Meyering  <meyering@redhat.com>
7517
7518         areadlinkat: avoid compilation failure
7519         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
7520         Fix typo in comment.
7521
7522 2009-10-07  Eric Blake  <ebb9@byu.net>
7523
7524         areadlinkat-with-size: new module
7525         * modules/areadlinkat-with-size: New module.
7526         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
7527         * lib/areadlink.h (areadlinkat): Declare it.
7528         * MODULES.html.sh (File system functions): Mention it.
7529         * modules/areadlinkat-with-size-tests: New test.
7530         * tests/test-areadlinkat-with-size.c: New file.
7531
7532         xreadlinkat: new module
7533         * modules/xreadlinkat: New module.
7534         * lib/xreadlinkat.c (xreadlinkat): New file.
7535         * lib/xreadlink.h (xreadlinkat): Declare it.
7536         * MODULES.html.sh (File system functions): Mention it.
7537
7538         areadlinkat: new module
7539         * lib/at-func.c (FUNC_FAIL): New define.
7540         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
7541         * modules/areadlinkat: New module.
7542         * lib/linkat.c (areadlinkat): Move...
7543         * lib/areadlinkat.c (areadlinkat): ...to new file.
7544         * lib/areadlink.h (areadlinkat): Declare it.
7545         * modules/linkat (Depends-on): Add areadlinkat.
7546         * MODULES.html.sh (File system functions): Mention it.
7547         * modules/areadlinkat-tests: New test.
7548         * tests/test-areadlinkat.c: New file.
7549
7550         areadlink, areadlink-with-size: add tests
7551         * modules/areadlink-tests: New test.
7552         * modules/areadlink-with-size-tests: Likewise.
7553         * tests/test-areadlink.h: New file.
7554         * tests/test-areadlink.c: Likewise.
7555         * tests/test-areadlink-with-size.c: Likewise.
7556
7557         maint: minor cleanups
7558         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
7559         _UNUSED_PARAMETER_ instead.
7560         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
7561         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
7562         * modules/linkat-tests (Files): Distribute test-link.h.
7563
7564         openat, utimens: whitespace cleanup
7565         * lib/openat.c: Prefer space throughout, rather than mix of 8
7566         spaces vs. tabs.
7567         * lib/at-func.c: Likewise.
7568         * lib/utimens.c: Likewise.
7569
7570         openat: avoid using wrong fd
7571         * lib/openat.c (openat_permissive): Reject user's fd if saving the
7572         working directory chooses same fd.
7573         * lib/at-func.c (AT_FUNC_NAME): Likewise.
7574
7575         mkdir, mkdirat: fix cygwin 1.5.x bug
7576         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
7577         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
7578         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
7579         bug.
7580         (gl_PREREQ_MKDIR): Delete unused macro.
7581         * modules/mkdir (Files): Track file rename.
7582         (configure.ac): Update macro name.
7583         * modules/openat (Depends-on): Add mkdir.
7584         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
7585
7586         mkdir, mkdirat: add tests
7587         * modules/mkdir-tests: New test.
7588         * tests/test-mkdir.h: New file.
7589         * tests/test-mkdir.c: Likewise.
7590         * tests/test-mkdirat.c: Likewise.
7591         * modules/openat-tests (Files): Add new files.
7592         (Makefile.am): Run new test.
7593
7594 2009-10-06  Eric Blake  <ebb9@byu.net>
7595
7596         doc: tweak *at function documentation
7597         * doc/posix-functions/faccessat.texi (faccessat): Mention
7598         known issue with replacement.
7599         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
7600         * doc/posix-functions/linkat.texi (linkat): Likewise.
7601         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
7602         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
7603         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
7604         * doc/posix-functions/renameat.texi (renameat): Likewise.
7605         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
7606
7607         openat: fix GNU/Hurd bug in unlinkat
7608         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
7609         broken.
7610         * doc/posix-functions/unlink.texi (unlink): Document this.
7611         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
7612
7613         fdopendir: fix GNU/Hurd bug
7614         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
7615         allowing non-directory fds.
7616         * lib/fdopendir.c (rpl_fdopendir): Work around it.
7617         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
7618         * modules/dirent (Makefile.am): Substitute it.
7619         * lib/dirent.in.h (fdopendir): Declare replacement.
7620         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
7621         * tests/test-fdopendir.c (main): Test something other than
7622         /dev/null, since on Hurd that behaves like a directory.
7623
7624         test-symlink: port to GNU/Hurd
7625         * tests/test-symlink.h (test_symlink): Relax expected errno.
7626
7627         doc: tweak more cygwin information
7628         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
7629         now compatible with glibc.
7630         * doc/posix-functions/getopt.texi (getopt): Likewise.
7631
7632         getopt-gnu: add another test
7633         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
7634         guarantee behavior relied on by m4.
7635         * tests/test-getopt.c (main): Use it.
7636         * modules/getopt-posix-tests (Depends-on): Add setenv.
7637         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
7638
7639         getopt: fix compilation on darwin
7640         * lib/getopt.in.h (includes): Leave breadcrumbs during system
7641         include.
7642         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
7643         Reported by Ludovic Courtès.
7644
7645 2009-10-06  Bruno Haible  <bruno@clisp.org>
7646
7647         * modules/size_max (Description): Discourage its use.
7648         Reported by Simon Josefsson.
7649
7650 2009-10-06  Jim Meyering  <meyering@redhat.com>
7651
7652         linkat: avoid compilation failure
7653         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
7654
7655 2009-10-05  Eric Blake  <ebb9@byu.net>
7656
7657         linkat: support Linux 2.6.17
7658         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
7659         linkat on Linux, but allow cache variable override.
7660         * lib/linkat.c (rpl_linkat): Define override.
7661         * modules/linkat (Depends-on): Add symlinkat.
7662         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
7663         * modules/unistd (Makefile.am): Substitute it.
7664         * lib/unistd.in.h (linkat): Declare replacement.
7665         Reported by Pádraig Brady.
7666
7667         quotearg: port test to systems with C.UTF-8 locale
7668         * tests/test-quotearg.c (struct result_strings): Add another
7669         member, differentiating between C.ASCII and C.UTF-8 handling.
7670         (compare_strings): Add parameter.
7671         (main): Adjust all callers.
7672
7673         getopt: avoid clash with FreeBSD _getopt_internal
7674         * lib/getopt.in.h (_getopt_internal): Override the name.
7675         * lib/getopt_int.h (includes): Pick up any overrides.
7676         Reported by Reuben Thomas.
7677
7678         hash: allow C89 compilation
7679         * lib/hash.c (check_tuning): Move declaration before statement.
7680         Reported by Reuben Thomas.
7681
7682 2009-10-05  Karl Berry  <karl@gnu.org>
7683
7684         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
7685
7686 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
7687             Bruno Haible  <bruno@clisp.org>
7688
7689         * lib/uname.c (uname): Use a table-driven algorithm to compute
7690         Windows NT versions.
7691
7692 2009-10-04  Bruno Haible  <bruno@clisp.org>
7693
7694         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
7695         program_invocation_short_name.
7696         * modules/progname (configure.ac): Test for presence of
7697         program_invocation_short_name.
7698         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
7699
7700 2009-10-04  Bruno Haible  <bruno@clisp.org>
7701
7702         * lib/progname.c (set_program_name): Fix comment.
7703         Reported by Jim Meyering.
7704
7705 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
7706             Bruno Haible  <bruno@clisp.org>
7707
7708         * lib/uname.c: Include <string.h>.
7709         (uname): Do only one call to GetVersionEx in the common case.
7710
7711 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
7712             Bruno Haible  <bruno@clisp.org>
7713
7714         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
7715         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
7716         (uname): Add support for Windows CE and various non-x86 CPU types.
7717
7718 2009-10-03  Bruno Haible  <bruno@clisp.org>
7719
7720         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
7721         invocation to tests/configure.ac.
7722         Reported by Ian Beckwith <ianb@erislabs.net>.
7723
7724 2009-10-02  Eric Blake  <ebb9@byu.net>
7725
7726         fchdir: avoid compiler warning
7727         * lib/fchdir.c (canonicalize_file_name)
7728         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
7729
7730         test-open: support mingw errno values
7731         * tests/test-open.h (test_open): Relax test.
7732         * tests/test-fopen.h (test_fopen): Likewise.
7733         * tests/test-openat-safer.c (main): Likewise.
7734
7735         open: fix opening directory on mingw
7736         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
7737
7738         test-open: on GNU/Hurd, /dev/null is a directory
7739         * tests/test-fopen.h (main): Rename...
7740         (test_fopen): ...to this.  Use a guaranteed non-directory when
7741         confirming open behavior on trailing slash.
7742         * tests/test-openat-safer.c (main): Likewise.
7743         * tests/test-open.h (main): Likewise....
7744         (test_open): ...to this.
7745         * tests/test-fopen.c (main): Adjust caller.
7746         * tests/test-fopen-safer.c (main): Likewise.
7747         * tests/test-open.c (main): Likewise.
7748         * tests/test-fcntl-safer.c (main): Likewise.
7749         Reported by Samuel Thibault.
7750
7751         rename, fchdir: don't ignore chdir failure
7752         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
7753         * lib/rename.c (rpl_rename) [W32]: Likewise.
7754         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
7755         an empty destination directory if source cannot be renamed,
7756         although there is still possibility for failure.
7757         * doc/posix-functions/rename.texi (rename): Document the race.
7758         Reported by Jim Meyering.
7759
7760         maint: cleanup whitespace in recent commits
7761         * lib/rename.c (rpl_rename): Remove tabs.
7762         * tests/test-link.h (test_link): Likewise.
7763         * lib/fchdir.c (get_name): Likewise.
7764         Reported by Jim Meyering.
7765
7766 2009-10-02  Ben Pfaff  <blp@gnu.org>
7767
7768         relocatable-prog-wrapper: Add missing dependency on
7769         double-slash-root.
7770         * modules/relocatable-prog-wrapper: Add dependency.
7771         Reported by Ian Beckwith <ianb@erislabs.net>.
7772
7773 2009-10-02  Eric Blake  <ebb9@byu.net>
7774
7775         renameat: fix Solaris bugs
7776         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
7777         needed fixing.
7778         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
7779         * modules/stdio (Makefile.am): Substitute it.
7780         * lib/stdio.in.h (renameat): Declare replacement.
7781         * lib/renameat.c (rpl_renameat): Implement fix.
7782
7783         renameat: new module
7784         * modules/renameat: New file.
7785         * lib/renameat.c (renameat): Likewise.
7786         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
7787         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
7788         * modules/stdio (Makefile.am): Substitute them.
7789         * lib/stdio.in.h (renameat): Declare it.
7790         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
7791         * doc/posix-functions/renameat.texi (renameat): Likewise.
7792         * modules/renameat-tests: New test.
7793         * tests/test-renameat.c: Likewise.
7794
7795         rename: fix mingw bugs
7796         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
7797         directory overwrite bugs.
7798
7799         rename: fix another cygwin 1.5 bug
7800         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
7801         checks.
7802         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
7803         unnecessary cygwin workarounds.  Also work around bug with moving
7804         full directory onto an empty one.
7805         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
7806
7807         rename-dest-slash: merge into rename module
7808         * modules/rename-dest-slash (Status): Mark obsolete.
7809         (Depends-on): Add rename.
7810         (Files): Let rename do it all.
7811         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
7812         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
7813         * m4/rename-dest-slash.m4: ...so this file can be deleted.
7814         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
7815         * lib/rename.c (rpl_rename): Update comments.
7816
7817         rename: fix cygwin 1.5.x bugs
7818         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
7819         * lib/rename.c (rpl_rename): Work around them.
7820         * modules/rename (Depends-on): Add same-inode.
7821
7822         rename: fix Solaris 10 bug
7823         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
7824         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
7825         was the only bug.
7826
7827         rename: fix Solaris 9 bug
7828         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
7829         on non-directory.  Avoid calling exit.
7830         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
7831         strdup.
7832         * modules/rename-tests (Depends-on): Drop lstat.
7833         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
7834         (gl_PREREQ_RENAME): Delete unused macro.
7835
7836         rename-dest-slash: fix NetBSD bug
7837         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
7838         links.
7839         * modules/rename-dest-slash (Depends-on): Add same-inode.
7840
7841         rename-tests: new test, exposes several platform bugs
7842         * modules/rename-tests: New file.
7843         * tests/test-rename.h: Likewise.
7844         * tests/test-rename.c: Likewise.
7845         * doc/posix-functions/rename.texi (rename): Improve documentation,
7846         including bugs that will eventually be fixed in gnulib.
7847
7848 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
7849
7850         * lib/uname.c: Include <stdlib.h>
7851         (uname): Assume version info is available.
7852
7853 2009-10-02  Jim Meyering  <meyering@redhat.com>
7854
7855         gnu-web-doc-update: correct --help output
7856         * build-aux/gnu-web-doc-update: Make --help output relevant.
7857
7858         gnu-web-doc-update: add standard options
7859         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
7860
7861         gnu-web-doc-update: New module.
7862         Use this script to automatically update the on-line web documentation
7863         for your GNU project at http://www.gnu.org/software/$pkg/manual/
7864         * modules/gnu-web-doc-update: New file, from coreutils.
7865         * build-aux/gnu-web-doc-update: New script.
7866
7867 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
7868
7869         link: LoadLibrary is not needed.
7870         * lib/link.c: Use GetModuleHandle.
7871
7872 2009-10-01  Eric Blake  <ebb9@byu.net>
7873
7874         getopt: bump serial number
7875         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
7876         change.
7877
7878         tests: tighten link, rmdir, and remove tests
7879         * tests/test-link.h (includes): No need to use <config.h> here.
7880         Clean up if directory hard link was created, otherwise test for
7881         trailing '.'.
7882         * tests/test-linkat.c (main): Simplify.
7883         * tests/test-remove.c (main): Enhance test for trailing '.'.
7884         * tests/test-rmdir.h (test_rmdir_func): Likewise.
7885
7886 2009-10-01  Jim Meyering  <meyering@redhat.com>
7887
7888         maint.mk: requiring "make major" was annoying, for a "minor" release.
7889         What is intended is "stable", to contrast with alpha and beta,
7890         so require "make stable", not "make major".
7891         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
7892         (get_tool_versions): Likewise.
7893         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
7894
7895 2009-09-30  Ben Pfaff  <blp@gnu.org>
7896
7897         Fix broken build of replacement for Windows tmpfile().
7898         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
7899         flags argument added along with the 'mkostemp' module.
7900
7901 2009-09-28  Bruno Haible  <bruno@clisp.org>
7902
7903         Avoid identifier clash with POSIX function 'remove' defined as a macro.
7904         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
7905         to 'remove_elt'.
7906         (gl_list_remove): Update.
7907         * lib/gl_list.c (gl_list_remove): Update.
7908         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
7909         to 'remove_elt'.
7910         (gl_oset_remove): Update.
7911         * lib/gl_list.c (gl_oset_remove): Update.
7912         Reported by Eric Blake.
7913
7914 2009-09-28  Eric Blake  <ebb9@byu.net>
7915
7916         doc: mention yet more cygwin 1.7 status
7917         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
7918         cygwin.
7919         * doc/glibc-functions/execvpe.texi (execvpe): New file.
7920         * doc/gnulib.texi (Glibc unistd.h): Mention it.
7921
7922         argp: fix test failure
7923         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
7924         that are not upper-case.  Pass correct range to tolower.
7925
7926 2009-09-27  Jim Meyering  <meyering@redhat.com>
7927
7928         test-yesno: work around sparc-dash here-document infelicity
7929         Without this change, the literal \177 byte in a here document
7930         would make dash 0.5.5.1-3 access uninitialized memory.
7931         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
7932         Instead, use a marker, "@", and filter through tr to create the desired
7933         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
7934
7935 2009-09-27  Bruno Haible  <bruno@clisp.org>
7936
7937         Disable untested support for new flavours of ACLs on AIX.
7938         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
7939         progress.
7940         * lib/set-mode-acl.c (qset_acl): Likewise.
7941
7942 2008-12-07  Bruno Haible  <bruno@clisp.org>
7943
7944         Add support for new flavours of ACLs on AIX. (Untested.)
7945         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
7946         (file_has_acl): Add support for newer AIX.
7947         * lib/set-mode-acl.c (qset_acl): Likewise.
7948         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
7949         Rainer Tammer <tammer@tammer.net>.
7950
7951 2009-09-26  Eric Blake  <ebb9@byu.net>
7952
7953         argp: fix compilation of getopt
7954         * lib/getopt.in.h (includes): Use different guard than glibc.
7955         Reported by Sergey Poznyakoff.
7956
7957         doc: mention more cygwin 1.7 status
7958         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
7959         bug.
7960         * doc/posix-functions/execl.texi (execl): Likewise.
7961         * doc/posix-functions/execle.texi (execle): Likewise.
7962         * doc/posix-functions/execlp.texi (execlp): Likewise.
7963         * doc/posix-functions/execv.texi (execv): Likewise.
7964         * doc/posix-functions/execve.texi (execve): Likewise.
7965         * doc/posix-functions/execvp.texi (execvp): Likewise.
7966         * doc/glibc-functions/canonicalize_file_name.texi
7967         (canonicalize_file_name): Cygwin 1.7 now provides this.
7968         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
7969         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
7970         on AT_SYMLINK_NOFOLLOW.
7971
7972 2009-09-24  Eric Blake  <ebb9@byu.net>
7973
7974         test-linkat: make test more robust
7975         * tests/test-linkat.c (main): Avoid collision with EEXIST.
7976
7977         getopt: fix inclusion guards for cygwin
7978         * modules/getopt-posix (Depends-on): Add include-next.
7979         (Makefile.am): Substitute more items in replacement header.
7980         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
7981         <getopt.h>.
7982         * lib/getopt.in.h (includes): Use split inclusion guard, and
7983         prefer <getopt.h> over include <unistd.h> when one is present.
7984         (option): Also override name of 'struct option'.
7985
7986         same-inode: revert prior change; it is not yet ready
7987         * NEWS: Undo mention of this change.
7988         * lib/same-inode.h (same-inode.h): Undo tri-state change.
7989         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
7990         * lib/cycle-check.c (cycle_check): Likewise.
7991         * lib/same.c (same_name): Likewise.
7992         * lib/at-func2.c (at_func2): Likewise.
7993
7994 2009-09-23  Eric Blake  <ebb9@byu.net>
7995
7996         linkat: new module
7997         * modules/linkat: New file.
7998         * lib/at-func2.c (at_func2): Likewise.
7999         * lib/linkat.c (linkat): Likewise.
8000         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
8001         * lib/openat-priv.h (at_func2): Add declaration.
8002         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
8003         * modules/unistd (Makefile.am): Substitute them.
8004         * lib/unistd.in.h (linkat): Declare it.
8005         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
8006         * doc/posix-functions/linkat.texi (linkat): Likewise.
8007         * doc/posix-functions/link.texi (link): Tweak wording.
8008         * tests/test-link.c (main): Move guts...
8009         * tests/test-link.h (test_link): ...into new file.
8010         * modules/linkat-tests: New test.
8011         * tests/test-linkat.c: Likewise.
8012         * modules/link-tests (Files): Ship new file.
8013         (Depends-on): Add stdbool.
8014
8015         dirname: add library-safe mdir_name
8016         * lib/dirname.h (mdir_name): New prototype.
8017         * lib/dirname.c (dir_name): Move guts...
8018         (mdir_name): ...to new function that avoids xalloc_die.
8019
8020         fchdir: another mingw fix
8021         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
8022         * lib/fchdir.c (get_name): New helper method; skips canonicalize
8023         on mingw (where it has not yet been ported), and make it optional
8024         elsewhere.
8025         (_gl_register_fd): Use it.
8026
8027         same-inode: make SAME_INODE tri-state, to port to mingw
8028         * NEWS: Mention this change.
8029         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
8030         st_ino always being 0.
8031         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
8032         * lib/cycle-check.c (cycle_check): Likewise.
8033         * lib/same.c (same_name): Likewise.
8034
8035         lstat: avoid mingw compilation error
8036         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
8037         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
8038         lstat ourselves.
8039         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
8040         was adequate.
8041         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
8042         the checks for lstat.
8043         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
8044
8045         link: fix test failure on Solaris 9
8046         * lib/link.c (rpl_link): Don't assume link will catch bogus
8047         trailing slash on source.
8048
8049         test-symlinkat: enhance test
8050         * tests/test-readlink.c (main): Move guts...
8051         * tests/test-readlink.h (test_readlink): ...into new file.
8052         * tests/test-symlink.c (main): Move guts...
8053         * tests/test-symlink.h (test_symlink): ...into new file.
8054         * tests/test-symlinkat.c (main): Use new files for further
8055         coverage.
8056         (do_symlink, do_readlink): New helper functions.
8057         * modules/symlink-tests (Files): Ship new file.
8058         (Depends-on): Add stdbool.
8059         * modules/readlink-tests (Files): Ship new file.
8060         (Depends-on): Add stdbool.
8061         * modules/symlinkat-tests (Files): Use new files.
8062
8063 2009-09-23  Eric Blake  <ebb9@byu.net>
8064
8065         readlink: document portability issue with symlink length
8066         * doc/posix-functions/lstat.texi (lstat): Mention that some file
8067         systems have bogus st_size on symlinks, and mention the
8068         areadlink-with-size module.
8069         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
8070         * doc/posix-functions/readlink.texi (readlink): Mention the
8071         areadlink module, and ERANGE failure.
8072         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
8073         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
8074
8075         readlink: fix Solaris 9 bug with trailing slash
8076         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
8077         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
8078         * doc/posix-functions/readlink.texi (readlink): Document this.
8079         * modules/readlink-tests: New test.
8080         * tests/test-readlink.c: Likewise.
8081
8082         readlink: fix cygwin 1.5.x bug with return type
8083         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
8084         * lib/unistd.in.h (readlink): Use ssize_t.
8085         * lib/readlink.c (readlink): Likewise.
8086         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8087         * modules/unistd (Makefile.am): Substitute it.
8088         * lib/unistd.in.h (readlink): Declare replacement.
8089         * doc/posix-functions/readlink.texi (readlink): Document this.
8090
8091         symlink: use throughout gnulib
8092         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
8093         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
8094         symlink is not used.
8095         * modules/symlinkat (Depends-on): Add symlink.
8096         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
8097         * modules/canonicalize-tests (Depends-on): Likewise.
8098         * modules/lstat-tests (Depends-on): Likewise.
8099         * modules/openat-tests (Depends-on): Likewise.
8100         * modules/remove-tests (Depends-on): Likewise.
8101         * modules/rmdir-tests (Depends-on): Likewise.
8102         * modules/unlink-tests (Depends-on): Likewise.
8103         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
8104         * tests/test-canonicalize.c (symlink): Likewise.
8105         * tests/test-fstatat.c (symlink): Likewise.
8106         * tests/test-lstat.c (symlink): Likewise.
8107         * tests/test-remove.c (symlink): Likewise.
8108         * tests/test-rmdir.c (symlink): Likewise.
8109         * tests/test-unlink.c (symlink): Likewise.
8110         * tests/test-unlinkat.c (symlink): Likewise.
8111
8112         symlink: new module, for Solaris 9 bug
8113         * modules/symlink: New file.
8114         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
8115         * lib/symlink.c: Likewise.
8116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
8117         * modules/unistd (Makefile.am): Substitute them.
8118         * lib/unistd.in.h (symlink): Declare replacement.
8119         * MODULES.html.sh (File system functions): Mention it.
8120         * doc/posix-functions/symlink.texi (symlink): Likewise.
8121         * modules/symlink-tests: New test.
8122         * tests/test-symlink.c: Likewise.
8123
8124 2009-09-23  Bruno Haible  <bruno@clisp.org>
8125
8126         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
8127         when needed.
8128         Test case: gnulib-tool --import --with-tests atexit inttypes.
8129         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
8130
8131 2009-09-23  Bruno Haible  <bruno@clisp.org>
8132
8133         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
8134         subcommand, not in a subshell.
8135
8136 2009-09-22  Eric Blake  <ebb9@byu.net>
8137
8138         unistd: sort replacement declarations
8139         * lib/unistd.in.h: Sort declarations.
8140
8141         open, openat: minor optimization
8142         * lib/open.c (open): If open succeeded, len is non-zero.
8143         * lib/openat.c (rpl_openat): Likewise.
8144
8145         link-follow: ensure correct result
8146         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
8147         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
8148         distinguish between possible failures.
8149
8150 2009-09-21  Eric Blake  <ebb9@byu.net>
8151
8152         fts: avoid compiler warning
8153         * lib/fts.c (dirent_inode_sort_may_be_useful)
8154         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
8155
8156 2009-09-19  Bruno Haible  <bruno@clisp.org>
8157
8158         * lib/progreloc.c (canonicalize_file_name): New declaration.
8159
8160 2009-09-19  Eric Blake  <ebb9@byu.net>
8161
8162         link: fix quoting
8163         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
8164
8165         openat: fix openat bugs on Solaris 9
8166         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
8167         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
8168         * modules/openat (Depends-on): Add open.
8169         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
8170         * modules/fcntl-h (Makefile.am): Substitute it.
8171         * lib/fcntl.in.h (openat): Declare replacement.
8172         * doc/posix-functions/openat.texi (openat): Document this.
8173
8174         openat: move fstatat and unlinkat into correct files
8175         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
8176         compiled.
8177         * lib/openat.c (fstatat, unlinkat): Move...
8178         * lib/fstatat.c (fstatat): ...into correct files.
8179         * lib/unlinkat.c (unlinkat): Likewise.
8180
8181         openat: fix unlinkat bugs on Solaris 9
8182         * lib/unlinkat.c (unlinkat): New file.
8183         * modules/openat (Depends-on): Add unlink.
8184         (Files): Distribute it.
8185         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
8186         trailing slash behavior is broken.
8187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8188         * modules/unistd (Makefile.am): Substitute it.
8189         * lib/unistd.in.h (unlinkat): Declare replacement.
8190         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
8191
8192         openat: fix fstatat bugs on Solaris 9
8193         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
8194         stat.
8195         * doc/posix-functions/fstatat.texi (fstatat): Document this.
8196
8197         test-unlinkat: enhance test, to expose Solaris 9 bug
8198         * tests/test-unlink.c (main): Factor guts...
8199         * tests/test-unlink.h (test_rmdir_func): ...into new file.
8200         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
8201         * tests/test-rmdir.c (main): Adjust caller.
8202         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
8203         (unlinker): New helper function.
8204         (rmdirat): Enhance check.
8205         * modules/rmdir-tests (Depends-on): Add stdbool.
8206         * modules/unlink-tests (Depends-on): Likewise.
8207         (Files): Add test-unlink.h.
8208         * modules/openat-tests (Files): Likewise.
8209         (Depends-on): Add unlinkdir.
8210
8211         test-fstatat: new test, to expose Solaris 9 bugs
8212         * tests/test-stat.c (main): Factor guts...
8213         * tests/test-stat.h (test_stat_func): ...into new file.
8214         * tests/test-lstat.c (main): Factor guts...
8215         * tests/test-lstat.h (test_lstat_func): ...into new file.
8216         * tests/test-fstatat.c: New file.
8217         * modules/stat-tests (Files): Add test-stat.h.
8218         * modules/lstat-tests (Files): Add test-lstat.h.
8219         (Depends-on): Add stdbool.
8220         * modules/openat-tests (Depends-on): Add pathmax.
8221         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
8222         (Makefile.am): Run new test.
8223
8224         remove: new module, for mingw and Solaris 9 bugs
8225         * modules/remove: New file.
8226         * lib/remove.c: Likewise.
8227         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
8228         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
8229         * modules/stdio (Makefile.am): Use them.
8230         * lib/stdio.in.h (remove): Declare replacement.
8231         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
8232         * doc/posix-functions/remove.texi (remove): Likewise.
8233         * modules/remove-tests: New test.
8234         * tests/test-remove.c: Likewise.
8235
8236         unlink: new module, for Solaris 9 bug
8237         * modules/unlink: New file.
8238         * lib/unlink.c: Likewise.
8239         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
8240         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
8241         * modules/unistd (Makefile.am): Use them.
8242         * lib/unistd.in.h (stat): Declare replacement.
8243         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
8244         * doc/posix-functions/unlink.texi (unlink): Likewise.
8245         * modules/unlink-tests: New test.
8246         * tests/test-unlink.c: Likewise.
8247
8248         lstat: fix Solaris 9 bug
8249         * lib/lstat.c (lstat): Also check for trailing slash on
8250         non-symlink, non-directories.  Use stat module to simplify logic.
8251         * doc/posix-functions/lstat.texi (lstat): Document it.
8252         * modules/lstat-tests (Depends-on): Add errno, same-inode.
8253         (configure.ac): Check for symlink.
8254         * tests/test-lstat.c (main): Add more tests.
8255
8256         stat: add as dependency to other modules
8257         * modules/chown (Depends-on): Add stat.
8258         * modules/euidaccess (Depends-on): Likewise.
8259         * modules/fchdir (Depends-on): Likewise.
8260         * modules/isdir (Depends-on): Likewise.
8261         * modules/link (Depends-on): Likewise.
8262         * modules/lstat (Depends-on): Likewise.
8263         * modules/mkdir-p (Depends-on): Likewise.
8264         * modules/modechange (Depends-on): Likewise.
8265         * modules/open (Depends-on): Likewise.
8266         * modules/readlink (Depends-on): Likewise.
8267         * modules/same (Depends-on): Likewise.
8268
8269         stat: fix Solaris 9 bug
8270         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
8271         slash.
8272         * lib/stat.c (rpl_stat): Work around it.
8273         * doc/posix-functions/stat.texi (stat): Update documentation.
8274
8275         stat: new module, for mingw bug
8276         * modules/stat: New file.
8277         * lib/stat.c: Likewise.
8278         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8279         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
8280         * modules/sys_stat (Makefile.am): Use them.
8281         * lib/sys_stat.in.h (stat): Declare replacement.
8282         * lib/openat.c (fstatat): Deal with lstat and stat being function
8283         macros.
8284         * modules/openat (Depends-on): Add inline.
8285         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
8286         * doc/posix-functions/stat.texi (stat): Likewise.
8287         * modules/stat-tests: New test.
8288         * tests/test-stat.c: Likewise.
8289
8290 2009-09-19  Jim Meyering  <meyering@redhat.com>
8291
8292         syntax-check: detect unnecessary inclusion of canonicalize.h
8293         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
8294
8295 2009-09-19  Eric Blake  <ebb9@byu.net>
8296
8297         canonicalize-lgpl: adjust clients to use correct header
8298         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
8299         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
8300         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
8301         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
8302         * lib/progreloc.c (includes): Likewise.
8303
8304 2009-09-19  Jim Meyering  <meyering@redhat.com>
8305
8306         test-posixtm.c: correct a comment
8307         * tests/test-posixtm.c: Correct first-line comment.
8308         Spotted by Eric Blake.
8309
8310 2009-09-16  Jim Meyering  <meyering@redhat.com>
8311
8312         posixtm-tests: make T const-correct; add a test case
8313         * tests/test-posixtm.c (T): Declare const.
8314         Add a test for -(2^31+1).
8315         Remove useless can-succeed-only-in-2002 test.
8316
8317         posixtm-tests: adjust the sole failing test
8318         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
8319         expected output matches what mktime now produces.  Cross-checked via
8320         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
8321
8322         posixtm: move #ifdef'd tests into a new module
8323         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
8324         * tests/test-posixtm.c: ... this new file.
8325         * modules/posixtm-tests: New module.
8326
8327 2009-09-19  Eric Blake  <ebb9@byu.net>
8328
8329         openat: simplify use of at-func.c
8330         * lib/at-func.c (includes): Include prerequisites here, to
8331         simplify requirements on client files.
8332         * lib/openat-priv.h: Add double-inclusion guard.
8333         * lib/faccessat.c (includes): Simplify.
8334         * lib/fchmodat.c (includes): Likewise.
8335         * lib/fchownat.c (includes): Likewise.
8336         * lib/mkdirat.c (includes): Likewise.
8337         * lib/mkfifoat.c (includes): Likewise.
8338         * lib/symlinkat.c (includes): Likewise.
8339
8340         openat: allow return of fd 0
8341         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
8342         * modules/save-cwd (Depends-on): Replace fcntl-safer with
8343         unistd-safer.
8344         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
8345         <fcntl.h>; this module does not leak fds.
8346         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
8347         must be allowed to return 0, leaving openat_safer to add the
8348         safety.
8349         (openat_permissive): Avoid writing to just-opened fd 2 if
8350         restoring the current directory fails.
8351         * lib/openat-die.c (openat_restore_fail): Add comment.
8352         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
8353         (save_cwd): Guarantee safe fd, but without use of open_safer.
8354         * tests/test-openat.c: New test.
8355         * modules/openat-tests (Files, Makefile.am): Distribute and build
8356         new file.
8357
8358         relocatable-prog-wrapper: fix build
8359         * modules/relocatable-prog-wrapper (Files): Update name of
8360         canonicalize m4 file, broken on 2009-09-17.
8361         Reported by emad hajjar <aleppos@hotmail.com>.
8362
8363 2009-09-19  Bruno Haible  <bruno@clisp.org>
8364
8365         * lib/safe-alloc.h: Use the standard header with GPL copyright.
8366         * lib/safe-alloc.c: Likewise.
8367         Reported by Ian Beckwith <ianb@erislabs.net>.
8368
8369 2009-09-18  Bruno Haible  <bruno@clisp.org>
8370
8371         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
8372         Reported by <erobles@sensacd.com.mx>.
8373
8374 2009-09-17  Eric Blake  <ebb9@byu.net>
8375
8376         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
8377         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
8378         slashes when checking if last component is missing.
8379         * tests/test-canonicalize.c (main): Test this.
8380
8381         canonicalize, canonicalize-lgpl: honor // if distinct from /
8382         * modules/canonicalize (Files): Add double-slash-root.m4.
8383         * modules/canonicalize-lgpl (Files): Likewise.
8384         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
8385         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
8386         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
8387         fallback definition.
8388         (canonicalize_filename_mode): Use it to protect //.
8389         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
8390         (__realpath): Likewise.
8391         * tests/test-canonicalize.c (main): Test this.
8392         * tests/test-canonicalize-lgpl.c (main): Likewise.
8393         * modules/canonicalize-tests (Depends-on): Add same-inode.
8394         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
8395
8396         canonicalize-lgpl: fix glibc bug with trailing slash
8397         * m4/canonicalize-lgpl.m4: Move contents...
8398         * m4/canonicalize.m4: ...here.
8399         (gl_CANONICALIZE_LGPL): Factor realpath check...
8400         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
8401         glibc 2.3.5 bug, fixed 2005-04-27.
8402         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
8403         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
8404         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
8405         * modules/canonicalize-lgpl (Files): Manage file rename.
8406         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
8407         * modules/stdlib (Makefile.am): Substitute witness.
8408         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
8409         is needed.
8410         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
8411         replacement is required.
8412         * lib/canonicalize.c (canonicalize_file_name): Likewise.
8413         * doc/glibc-functions/canonicalize_file_name.texi
8414         (canonicalize_file_name): Document this.
8415         * doc/posix-functions/realpath.texi (realpath): Likewise.
8416
8417         canonicalize-lgpl: reject non-directory with trailing slash
8418         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
8419         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
8420         catches failures in glibc 2.3.5.
8421         * tests/test-canonicalize.c (main): Likewise.
8422
8423         canonicalize-lgpl: use native realpath if it works
8424         * lib/canonicalize-lgpl.c (realpath): Guard with
8425         FUNC_REALPATH_WORKS.
8426         * lib/stdlib.in.h (realpath): Make declaration optional based on
8427         HAVE_REALPATH.
8428         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
8429         native realpath works.
8430         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
8431         * modules/stdlib (Makefile.am): Substitute witness.
8432
8433         canonicalize, canonicalize-lgpl: use <stdlib.h>
8434         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
8435         (Include): Mention <stdlib.h>.
8436         (configure.ac): Mention functions we provide.
8437         * modules/canonicalize (configure.ac): Likewise.
8438         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
8439         realpath if canonicalize_file_name is missing.
8440         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
8441         * modules/stdlib (Makefile.am): Substitute witnesses.
8442         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
8443         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
8444         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
8445         * NEWS: Document this.
8446         * doc/glibc-functions/canonicalize_file_name.texi
8447         (canonicalize_file_name): Likewise.
8448         * doc/posix-functions/realpath.texi (realpath): Likewise.
8449         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
8450
8451         test-canonicalize: consolidate into single C program
8452         * tests/test-canonicalize.sh: Delete; move setup into...
8453         * tests/test-canonicalize.c (main): ...the program, making it
8454         easier to run in debugger.  Add some tests.
8455         * modules/canonicalize-tests (Files): Remove unused file.
8456         (Depends-on): Add progname.
8457         (configure.ac, Makefile.am): Simplify.
8458
8459         test-canonicalize-lgpl: consolidate into single C program
8460         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
8461         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
8462         easier to run in debugger.  Add some tests.
8463         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
8464         (configure.ac, Makefile.am): Simplify.
8465
8466         canonicalize: avoid resolvepath
8467         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
8468         unnecessary checks.
8469         * lib/canonicalize.c (includes): Simplify.
8470         (canonicalize_file_name): Drop resolvepath implementation.
8471         * modules/canonicalize (Depends-on): Drop filenamecat.
8472
8473         canonicalize: don't lose errno
8474         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
8475         over calls to free.
8476
8477         canonicalize: simplify errno handling
8478         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
8479         assignment.
8480
8481         canonicalize, canonicalize-lgpl: update module dependencies
8482         * modules/canonicalize (Depends-on): Add extensions, lstat,
8483         pathmax, stdlib.
8484         (Files): Drop pathmax.h.
8485         (configure.ac): Adjust macro name.
8486         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
8487         lstat, stdlib, sys_stat.
8488         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
8489         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
8490         extensions.
8491         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
8492         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
8493         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
8494         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
8495         declaration, if available.
8496         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
8497         we can rely on the readlink module.
8498         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
8499         (includes): Use <unistd.h> unconditionally.
8500
8501 2009-09-17  Eric Blake  <ebb9@byu.net>
8502
8503         maint: make Include sections of modules consistent
8504         * modules/alloca: Use only header name; no need to list #include.
8505         * modules/alloca-opt: Likewise.
8506         * modules/arpa_inet: Likewise.
8507         * modules/canon-host: Likewise.
8508         * modules/configmake: Likewise.
8509         * modules/dirent: Likewise.
8510         * modules/eealloc: Likewise.
8511         * modules/environ: Likewise.
8512         * modules/fchdir: Likewise.
8513         * modules/fcntl: Likewise.
8514         * modules/fcntl-h: Likewise.
8515         * modules/gethrxtime: Likewise.
8516         * modules/gettime: Likewise.
8517         * modules/ignore-value: Likewise.
8518         * modules/inet_ntop: Likewise.
8519         * modules/inet_pton: Likewise.
8520         * modules/inttypes: Likewise.
8521         * modules/isnand-nolibm: Likewise.
8522         * modules/isnanf-nolibm: Likewise.
8523         * modules/mbchar: Likewise.
8524         * modules/mbfile: Likewise.
8525         * modules/mbiter: Likewise.
8526         * modules/mbuiter: Likewise.
8527         * modules/netdb: Likewise.
8528         * modules/netinet_in: Likewise.
8529         * modules/nproc: Likewise.
8530         * modules/pagealign_alloc: Likewise.
8531         * modules/poll: Likewise.
8532         * modules/printf-frexp: Likewise.
8533         * modules/pthread: Likewise.
8534         * modules/putenv: Likewise.
8535         * modules/random_r: Likewise.
8536         * modules/relocatable-prog: Likewise.
8537         * modules/search: Likewise.
8538         * modules/select: Likewise.
8539         * modules/selinux-h: Likewise.
8540         * modules/settime: Likewise.
8541         * modules/signal: Likewise.
8542         * modules/size_max: Likewise.
8543         * modules/socklen: Likewise.
8544         * modules/ssize_t: Likewise.
8545         * modules/stdarg: Likewise.
8546         * modules/stdbool: Likewise.
8547         * modules/stddef: Likewise.
8548         * modules/stdint: Likewise.
8549         * modules/stdio: Likewise.
8550         * modules/stdlib: Likewise.
8551         * modules/string: Likewise.
8552         * modules/strings: Likewise.
8553         * modules/sys_file: Likewise.
8554         * modules/sys_ioctl: Likewise.
8555         * modules/sys_select: Likewise.
8556         * modules/sys_socket: Likewise.
8557         * modules/sys_stat: Likewise.
8558         * modules/sys_time: Likewise.
8559         * modules/sys_times: Likewise.
8560         * modules/sys_utsname: Likewise.
8561         * modules/sys_wait: Likewise.
8562         * modules/sysexits: Likewise.
8563         * modules/time: Likewise.
8564         * modules/times: Likewise.
8565         * modules/tmpfile: Likewise.
8566         * modules/trim: Likewise.
8567         * modules/unistd: Likewise.
8568         * modules/wchar: Likewise.
8569         * modules/wctype: Likewise.
8570
8571 2009-09-17  Bruno Haible  <bruno@clisp.org>
8572
8573         Make getdate.y compile on QNX and NetBSD 5 / i386.
8574         * m4/getdate.m4 (gl_GETDATE): Conditionally define
8575         TIME_T_FITS_IN_LONG_INT.
8576         * lib/getdate.y (long_time_t): New type.
8577         (relative_time): Change type of 'seconds' field to long_time_t.
8578         (get_date): Update types of local variables. Check against overflow
8579         during conversion from long_time_t to time_t.
8580         Reported by Matt Kraai <kraai@ftbfs.org>
8581         and Hasso Tepper <hasso@netbsd.org>.
8582
8583 2009-09-17  Bruno Haible  <bruno@clisp.org>
8584
8585         * modules/COPYING: Update copyright years.
8586         * modules/README: Likeiwse.
8587         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
8588         Reported by Ian Beckwith <ianb@erislabs.net>.
8589
8590 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
8591
8592         * users.txt: Update references for gnuit package.
8593
8594 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
8595
8596         * m4/getdelim.m4: Fix typo in copyright line.
8597
8598 2009-09-17  Bruno Haible  <bruno@clisp.org>
8599
8600         * lib/atoll.c: Use the standard header with GPL copyright.
8601         * lib/argz.in.h: Likewise.
8602         * lib/glob.c: Likewise.
8603         * lib/glob-libc.h: Likewise.
8604         * lib/random_r.c: Likewise.
8605         * lib/siglist.h: Likewise.
8606         * lib/strsignal.c: Likewise.
8607         Reported by Ian Beckwith <ianb@erislabs.net>.
8608
8609 2009-09-17  Eric Blake  <ebb9@byu.net>
8610
8611         rmdir: ensure correct dependency order
8612         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
8613
8614 2009-09-17  Bruno Haible  <bruno@clisp.org>
8615
8616         Disable assertion that fails on NetBSD 5 / i386.
8617         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
8618         Reported by Sam Steingold <sds@gnu.org>
8619         and Hasso Tepper <hasso@netbsd.org>.
8620
8621 2009-09-16  Eric Blake  <ebb9@byu.net>
8622
8623         unlinkdir: port to mingw
8624         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
8625         on which no one can unlink a directory.
8626
8627         stdlib: sort witness names
8628         * modules/stdlib (Makefile.am): Sort replacements.
8629         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
8630         * lib/stdlib.in.h: Likewise.
8631
8632         parse-duration-tests: avoid link failure
8633         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
8634         LIBINTL.
8635         Reported by Tom G. Christensen.
8636
8637         openat-tests: ensure unlinkat behaves like rmdir
8638         * tests/test-rmdir.c (main): Factor guts...
8639         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
8640         * modules/rmdir-tests (Files): Ship new file.
8641         * modules/openat-tests: New test.
8642         * tests/test-unlinkat.c: Likewise.
8643
8644         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
8645         * modules/rmdir-errno (Status, Notice): Now obsolete.
8646
8647         rmdir: work around cygwin 1.5.x and mingw bugs
8648         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
8649         * lib/rmdir.c (rmdir): Work around it.
8650         * modules/rmdir (Status, Notice): No longer obsolete.
8651         (Files): Add dos.m4.
8652         (Depends-on): Add unistd.
8653         (configure.ac): Set witnesses.
8654         (License): Relax to LGPLv2+.
8655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
8656         * modules/unistd (Makefile.am): Substitute witnesses.
8657         * lib/unistd.in.h (rmdir): Declare replacement.
8658         * doc/posix-functions/rmdir.texi (rmdir): Document this.
8659         * modules/rmdir-tests: New tests.
8660         * tests/test-rmdir.c: Likewise.
8661
8662 2009-09-15  Eric Blake  <ebb9@byu.net>
8663
8664         fchdir: improve use of replacement functions
8665         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
8666         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
8667         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
8668         REPLACE_CLOSEDIR.
8669         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
8670         * modules/sys_stat (Makefile.am): Substitute correct witness.
8671         * modules/dirent (Makefile.am): Likewise.
8672         * modules/unistd (Makefile.am): Likewise.
8673         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
8674         * lib/unistd.in.h (dup): Likewise.
8675         * lib/sys_stat.in.h (fstat): Likewise.
8676
8677         maint: ignore gnulib-tool temp files
8678         * .gitignore: Ignore files created during gnulib-tool --test.
8679
8680 2009-09-13  Jim Meyering  <meyering@redhat.com>
8681
8682         posixtm: don't reject a time that specify "60" as the number of seconds
8683         * lib/posixtm.c (posixtime): The code to reject invalid dates
8684         would also reject a time specified with the .60 suffix.
8685         But POSIX allows that, in order to accommodate leap seconds.
8686         So don't reject it.
8687         (main): Adjust tests accordingly.
8688         * modules/posixtm (Depends-on): Add stpcpy.
8689
8690 2009-09-11  Jim Meyering  <meyering@redhat.com>
8691
8692         announce-gen: include [$release_type] in emitted Subject:
8693         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
8694         e.g., [stable] in the emitted Subject: line.
8695
8696 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8697
8698         Remove obsolete macros from several modules.
8699         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
8700         obsolete Autoconf macros with their modern counterparts.
8701         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
8702         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
8703         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
8704         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
8705         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
8706         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8707         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
8708         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
8709         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
8710         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
8711         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8712         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8713         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
8714         * m4/sockets.m4 (gl_SOCKETS): Likewise.
8715         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
8716         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
8717         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
8718         * m4/time_r.m4 (gl_TIME_R): Likewise.
8719         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
8720         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
8721         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
8722
8723         Fix copyright header in build-aux scripts.
8724         * build-aux/git-version-gen: Fix copyright header to match GPLv3
8725         recommendation.
8726         * build-aux/ncftpput-ftp: Likewise.
8727         * build-aux/update-copyright: Likewise.
8728
8729 2009-09-09  Eric Blake  <ebb9@byu.net>
8730
8731         test-link: allow Linux choice of errno
8732         * tests/test-link.c (main): Relax test for alternate error.
8733
8734         strndup: fix improper m4 caching
8735         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
8736         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
8737         (gl_PREREQ_STRNDUP): Delete.
8738         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
8739         * modules/string (Makefile.am): Substitute it.
8740         * lib/string.in.h (strndup): Modernize prototype.
8741
8742         getcwd: port to mingw
8743         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
8744         different from the POSIX assumptions made throughout the getcwd
8745         module; fortunately, the mingw getcwd does not need replacement.
8746         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
8747         * modules/getcwd-tests: New test.
8748         * tests/test-getcwd.c: Likewise.
8749
8750         link: fix platform bugs
8751         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
8752         * lib/link.c (link): Work around them.  Fix related mingw bug.
8753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
8754         * modules/unistd (Makefile.am): Substitute it.
8755         * lib/unistd.in.h (link): Declare replacement.
8756         * doc/posix-functions/link.texi (link): Document this.
8757         * modules/link (Depends-on): Add strdup-posix, sys_stat.
8758
8759         test-link: consolidate into single C program, test more cases
8760         * tests/test-link.sh: Delete.
8761         * tests/test-link.c: Test more error conditions.  Exposes bugs on
8762         at least Cygwin and Solaris.
8763         * modules/link-tests (Files): Remove unused file.
8764         (Depends-on): Add errno, sys_stat.
8765         (Makefile.am): Simplify.
8766
8767 2009-09-08  Bruno Haible  <bruno@clisp.org>
8768
8769         Work around towlower, towupper bug on mingw.
8770         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
8771         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
8772         * doc/posix-functions/towlower.texi: Mention the mingw bug.
8773         * doc/posix-functions/towupper.texi: Likewise.
8774         Reported by Eric Blake.
8775
8776 2009-09-08  Jim Meyering  <meyering@redhat.com>
8777
8778         build: don't try to run autoheader if we don't use it
8779         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
8780         is not used in configure.ac.
8781
8782 2009-09-08  Eric Blake  <ebb9@byu.net>
8783
8784         euidaccess: fix compilation error
8785         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
8786
8787         rawmemchr: relax license
8788         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
8789         okay.
8790         Reported by Jim Meyering.
8791
8792         mkfifoat: new module
8793         * modules/mkfifoat: New file.
8794         * lib/mkfifoat.c: Likewise.
8795         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
8796         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
8797         * modules/sys_stat (Makefile.am): Use them.
8798         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
8799         * MODULES.html.sh (File system functions): Mention module.
8800         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
8801         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
8802         * modules/mkfifoat-tests: New test.
8803         * tests/test-mkfifoat.c: Likewise.
8804
8805         strchrnul: relax license
8806         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
8807         okay.
8808         Reported by Jim Meyering.
8809
8810 2009-09-08  Eric Blake  <ebb9@byu.net>
8811
8812         fstatat: fix compilation on Solaris
8813         * lib/fstatat.c (includes): Add fcntl.h.
8814         Reported by Pádraig Brady.
8815
8816 2009-09-07  Eric Blake  <ebb9@byu.net>
8817
8818         rename: modernize replacement
8819         * modules/rename (Depends-on): Add stdio.
8820         (configure.ac): Declare witness.
8821         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
8822         stdio take care of replacement.
8823         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
8824         * modules/stdio (Makefile.am): Substitute them.
8825         * lib/stdio.in.h (rename): Declare replacement.
8826         * lib/rename.c (includes): Allow cross-compilation to non-windows
8827         machines.
8828         * doc/posix-functions/rename.texi (rename): Improve
8829         documentation.
8830
8831         stdio: sort witness names
8832         * modules/stdio (Makefile.am): Sort replacements.
8833         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
8834         * lib/stdio.in.h: Likewise.
8835
8836         getcwd: minor cleanups
8837         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
8838         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
8839
8840         openat: provide more convenience names
8841         * modules/faccessat (configure.ac): Add C witness.
8842         * lib/unistd.in.h (readlinkat): Fix typo.
8843         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
8844         convenience wrappers.
8845         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
8846         wrappers in syntax checks.
8847
8848 2009-09-06  Eric Blake  <ebb9@byu.net>
8849
8850         doc: fix comments in recent patches
8851         * lib/faccessat.c: Mention correct function.
8852         * lib/fchmodat.c: Likewise.
8853         * lib/fchownat.c: Likewise.
8854         * lib/symlinkat.c: Likewise.
8855         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
8856         constants.
8857
8858         faccessat, symlinkat: continue cleanup of previous patch
8859         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
8860         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
8861         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
8862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
8863         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
8864         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
8865         set.
8866
8867 2009-09-06  Bruno Haible  <bruno@clisp.org>
8868
8869         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
8870         (fstatat): Declare if GNULIB_FSTATAT is set.
8871         (mkdirat): Declare if GNULIB_MKDIRAT is set.
8872         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
8873         (unlinkat): Declare if GNULIB_UNLINKAT is set.
8874         * modules/fcntl-h (Files): Remove m4/openat.m4.
8875         * modules/sys_stat (Files): Remove m4/openat.m4.
8876         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
8877         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
8878         * modules/unistd (Files): Remove m4/openat.m4.
8879         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
8880         GNULIB_OPENAT.
8881         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
8882         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
8883         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
8884         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
8885         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
8886         gl_OPENAT_DEFAULTS.
8887         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
8888         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
8889         Don't require gl_OPENAT_DEFAULTS.
8890         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
8891         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
8892         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
8893         (gl_OPENAT_DEFAULTS): Remove macro.
8894
8895 2009-09-06  Bruno Haible  <bruno@clisp.org>
8896
8897         * modules/openat (configure.ac): Remove unneeded witness.
8898
8899 2009-09-06  Bruno Haible  <bruno@clisp.org>
8900
8901         Set errno to ENOSYS when a function is entirely unsupported.
8902         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
8903         EOPNOTSUPP.
8904         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
8905         * modules/chown (Depends-on): Remove errno.
8906
8907 2009-09-06  Bruno Haible  <bruno@clisp.org>
8908
8909         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
8910
8911 2009-09-06  Bruno Haible  <bruno@clisp.org>
8912
8913         * lib/sys_stat.in.h: Fix preprocessor command indentation.
8914
8915 2009-09-06  Ben Pfaff  <blp@gnu.org>
8916             Bruno Haible  <bruno@clisp.org>
8917
8918         Work around a glibc bug in strtok_r.
8919         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
8920         Undefine if UNDEFINE_STRTOK_R is set.
8921         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
8922         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
8923         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
8924         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
8925         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
8926         UNDEFINE_STRTOK_R.
8927         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
8928
8929 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
8930
8931         exclude: minor fix
8932         * lib/exclude.c: Include wctype.h
8933
8934 2009-09-06  Akim Demaille  <demaille@gostai.com>
8935
8936         bootstrap: improve error message
8937         * build-aux/bootstrap (find_tool): Upon failure, report the list
8938         of candidates.
8939         Honor the initial value of the envvar.
8940
8941 2009-09-05  Eric Blake  <ebb9@byu.net>
8942
8943         symlinkat: new module
8944         * modules/symlinkat: New file.
8945         * lib/symlinkat.c: Likewise.
8946         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
8947         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
8948         * modules/unistd (Makefile.am): Use them.
8949         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
8950         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
8951         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
8952         * MODULES.html.sh (File system functions): Mention module.
8953         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
8954         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
8955         * modules/symlinkat-tests: New test.
8956         * tests/test-symlinkat.c: Likewise.
8957
8958         test-openat-safer: add more checks
8959         * tests/test-openat-safer.c (main): Check more code paths.
8960
8961 2009-09-05  Jim Meyering  <meyering@redhat.com>
8962
8963         syntax-check: detect unnecessary inclusion of openat.h
8964         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
8965
8966 2009-09-05  Bruno Haible  <bruno@clisp.org>
8967
8968         Support towlower, towupper.
8969         * doc/posix-functions/towlower.texi: Mention module wctype.
8970         * doc/posix-functions/towupper.texi: Likewise.
8971         * lib/wctype.in.h (towlower, towupper): New functions.
8972         * tests/test-wctype.c: Include stdio.h, stdlib.h.
8973         (ASSERT): New macro.
8974         (e): New variable.
8975         (main): Test also towlower, towupper. Test WEOF argument.
8976         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
8977
8978 2009-09-05  Bruno Haible  <bruno@clisp.org>
8979
8980         Fix conversion behaviour when the input is invalid.
8981         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
8982         mark occurring in first pass of indirect conversion.
8983         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
8984         input.
8985         Found by clang's static analyzer.
8986
8987 2009-09-05  Bruno Haible  <bruno@clisp.org>
8988
8989         * tests/test-striconveh.c (main): Test indirect conversion on platforms
8990         where direct conversion is possible.
8991
8992 2009-09-04  Eric Blake  <ebb9@byu.net>
8993
8994         openat: fail with ENOENT on empty name
8995         * lib/openat-proc.c (openat_proc_name): Special-case the empty
8996         buffer.
8997
8998         link-follow: fix logic bug in prior patch
8999         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
9000         reversed sense of yes and no in prior patch.  Avoid confusing
9001         compilation failure with desired semantics.
9002
9003         link-follow: accomodate mingw and cross-compilation
9004         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
9005         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
9006         cross-compilation results to -1, to make linkat easier to
9007         implement when cross-compiling.  Trivially support mingw.
9008         * modules/link-follow (configure.ac): Call new name.
9009         * NEWS: Mention this.
9010
9011 2009-09-03  Eric Blake  <ebb9@byu.net>
9012
9013         faccessat: compile replacement
9014         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
9015         needed.
9016
9017         fts: fix compilation error
9018         * lib/fts.c (includes): Re-add "openat.h", for
9019         openat_needs_fchdir.
9020
9021         faccessat: new module
9022         * modules/faccessat: New file.
9023         * lib/faccessat.c: Likewise.
9024         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
9025         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9026         * modules/unistd (Makefile.am): Use it.
9027         * lib/unistd.in.h (faccessat): Declare it.
9028         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
9029         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
9030         * MODULES.html.sh (File system functions): Mention it.
9031         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
9032         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
9033
9034         euidaccess: prefer POSIX over non-standard implementation
9035         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
9036         * lib/euidaccess.c (euidaccess): Use it if available.
9037
9038         openat: make template easier to use
9039         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
9040         AT_FUNC_F2 to be undefined.
9041         (VALIDATE_FLAG): New macro; use it to reject bad flags.
9042         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
9043         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
9044         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
9045         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
9046         Likewise.
9047         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
9048         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
9049         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
9050         Likewise.
9051
9052         openat: declare in POSIX headers
9053         * NEWS: Mention this.
9054         * modules/openat (configure.ac): Declare witnesses.
9055         (Depends-on): Add fcntl-h, sys_stat, unistd.
9056         (Include): Mention correct headers.
9057         * modules/fcntl-h (Depends-on): Add link-warning.
9058         (Files): Add openat.m4.
9059         (Makefile.am): Substitute witnesses.
9060         * modules/sys_stat (Files, Makefile.am): Likewise.
9061         * modules/unistd (Files, Makefile.am): Likewise.
9062         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
9063         (gl_OPENAT_DEFAULTS): New macro.
9064         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
9065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
9066         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
9067         (SYS_STAT_H): Remove unused variable.
9068         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
9069         * lib/fcntl--.h (includes): Remove unneeded header.
9070         * lib/openat-safer.c (includes): Likewise.
9071         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
9072         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
9073         appropriate headers.
9074         (__OPENAT_PREFIX): Delete.
9075         * lib/fcntl.in.h (openat): Provide declaration.
9076         (AT_FDCWD): Fix Solaris bug.
9077         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
9078         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
9079         * lib/fchmodat.c (includes):  Adjust to find declaration.
9080         * lib/fchownat.c (includes): Likewise.
9081         * lib/mkdirat.c (includes): Likewise.
9082         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
9083         still visible.
9084
9085 2009-09-02  Eric Blake  <ebb9@byu.net>
9086
9087         errno: use consistently
9088         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
9089         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
9090         * lib/canonicalize.c (ELOOP): Likewise.
9091         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
9092         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
9093         * lib/lchown.c (EOPNOTSUPP): Likewise.
9094         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
9095         * lib/savewd.c (ESTALE): Likewise.
9096         * lib/settime.c (ENOSYS): Likewise.
9097         * lib/utimens.c (ENOSYS): Likewise.
9098         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
9099         * lib/chdir-safer.c (ELOOP): Likewise.
9100         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
9101         * modules/c-stack (Depends-on): Add errno.
9102         * modules/canonicalize (Depends-on): Likewise.
9103         * modules/chdir-safer (Depends-on): Likewise.
9104         * modules/fdopendir (Depends-on): Likewise.
9105         * modules/inet_ntop (Depends-on): Likewise.
9106         * modules/inet_pton (Depends-on): Likewise.
9107         * modules/lchown (Depends-on): Likewise.
9108         * modules/openat (Depends-on): Likewise.
9109         * modules/savewd (Depends-on): Likewise.
9110         * modules/settime (Depends-on): Likewise.
9111         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
9112
9113         fts: avoid leaking fds
9114         * modules/fts (Depends-on): Add cloexec.
9115         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
9116         flag.
9117
9118         fts: make directory fds more robust
9119         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
9120         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
9121
9122         backupfile, chdir-long, fts, savedir: make safer
9123         * lib/backupfile.c (includes): Use "dirent--.h", since
9124         numbered_backup can write to stderr during readdir.
9125         * lib/savedir.c (includes): Likewise.
9126         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
9127         emulation can write to stderr on failure.
9128         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
9129         * lib/getcwd.c: Document why opendir_safer is unused.
9130         * lib/glob.c: Likewise.
9131         * lib/scandir.c: Likewise.
9132         * lib/openat-proc.c: Likewise, for open_safer.
9133         * modules/backupfile (Depends-on): Add dirent-safer.
9134         * modules/savedir (Depends-on): Likewise.
9135         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
9136         * modules/chdir-long (Depends-on): Add openat-safer.
9137
9138         openat-safer: new module
9139         * modules/openat-safer: New file.
9140         * lib/openat-safer.c: Likewise.
9141         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
9142         * lib/fcntl-safer.h (openat_safer): Declare.
9143         * lib/fcntl--.h (openat): Override.
9144         * MODULES.html.sh (File descriptor based I/O): Mention it.
9145         * lib/openat.h: Add double-inclusion guards.
9146         * lib/openat.c (includes): Only include "fcntl-safer.h", not
9147         "fcntl--.h", so we can implement openat.
9148         * modules/openat-safer-tests: New test.
9149         * tests/test-openat-safer.c: New file.
9150
9151         dirent-safer: new module
9152         * modules/dirent-safer: New file.
9153         * lib/dirent--.h: Likewise.
9154         * lib/dirent-safer.h: Likewise.
9155         * lib/opendir-safer.c: Likewise.
9156         * m4/dirent-safer.m4: Likewise.
9157         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
9158         * modules/dirent-safer-tests: New test.
9159         * tests/test-dirent-safer.c: New file.
9160         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
9161
9162         fdopendir: optimize on mingw
9163         * lib/unistd.in.h (_gl_directory_name): New prototype.
9164         * lib/fchdir.c (_gl_directory_name): Implement it.
9165         (fchdir): Use it to simplify implementation.
9166         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
9167         fchdir, when available, to avoid calling [f]chdir().
9168
9169         fdopendir: split into its own module
9170         * lib/openat.c (fdopendir): Move...
9171         * lib/fdopendir.c: ...into new file.
9172         * modules/fdopendir: New module.
9173         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
9174         * modules/openat (Depends-on): Add fdopendir.
9175         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
9176         fdopendir here.
9177         * modules/savedir (Depends-on): Only need fdopendir, not full
9178         openat.
9179         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
9180         * lib/openat.h (fdopendir): Drop prototype.
9181         * lib/dirent.in.h (fdopendir): Provide prototype.
9182         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
9183         * modules/dirent (Makefile.am): Substitute them.
9184         * MODULES.html.sh (File system functions): Mention it.
9185         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
9186         * modules/fdopendir-tests: New file.
9187         * tests/test-fdopendir.c: Likewise.
9188
9189         fchdir: use more consistent macro convention
9190         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
9191         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
9192         REPLACE_FCHDIR, rather than relying on config.h macros.
9193         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
9194         inside a single make-time REPLACE_FCHDIR block, rather than using
9195         the config.h FCHDIR_REPLACEMENT.
9196         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
9197         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
9198         Manage fstat replacement.
9199         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
9200         REPLACE_FCHDIR.
9201         * modules/sys_stat (Files): Add m4/unistd_h.m4.
9202         (Makefile.am): Substitute REPLACE_FCHDIR.
9203         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
9204         FCHDIR_REPLACEMENT.
9205         * lib/dup-safer.c (dup_safer): Likewise.
9206         * lib/dup2.c (rpl_dup2): Likewise.
9207         * lib/dup3.c (rpl_dup3): Likewise.
9208         * lib/open.c (rpl_open): Likewise.
9209
9210         fchdir: simplify error handling, and support dup3
9211         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
9212         stdbool, malloc-posix, realloc-posix.
9213         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
9214         (ensure_dirs_slot): Return false on allocation failure.
9215         (rpl_dup2): Delete.
9216         (_gl_register_dup): New function.
9217         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
9218         (_gl_register_fd): Close fd on allocation failure.
9219         * lib/fcntl.in.h (_gl_register_fd): Update signature.
9220         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
9221         prototype.
9222         (rpl_dup2_fchdir): Delete prototype.
9223         * lib/open.c (open): Update caller.
9224         * lib/dup2.c (dup2): Track fchdir metadata.
9225         * lib/dup3.c (dup3): Likewise.
9226         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
9227         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
9228
9229 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9230
9231         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
9232         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
9233         don't pass arguments to AC_OUTPUT.
9234
9235 2009-09-02  Bruno Haible  <bruno@clisp.org>
9236
9237         * modules/mkdtemp (License): Relicense under LGPLv2+.
9238         Reported by Paolo Bonzini.
9239
9240 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9241
9242         Replace uses of obsolete autoconf macros in Jim's modules.
9243         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
9244         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
9245         can evoke a warning from autoconf when run with -Wobsolete
9246         enabled.  They were declared obsolete for good reasons (see
9247         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
9248         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
9249         should not continue using the deprecated macros.
9250         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
9251         obsolete Autoconf macros with modern counterparts.
9252         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9253         * m4/dos.m4 (gl_AC_DOS): Likewise.
9254         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
9255         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
9256         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
9257         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
9258         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
9259         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
9260         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
9261         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
9262         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
9263         Likewise.
9264         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
9265         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
9266         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
9267         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
9268         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
9269         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
9270
9271 2009-09-01  Eric Blake  <ebb9@byu.net>
9272
9273         fchdir: fix off-by-one bug in previous patch
9274         * lib/fchdir.c (rpl_fstat): Use correct bounds.
9275         (_gl_unregister_fd): Delete useless if.
9276
9277 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
9278
9279         maint.mk: sort the list of syntax-check rules
9280         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
9281         easier to get a sense of progress when the rules are run sequentially
9282         and take a long time.
9283
9284 2009-09-01  Simon Josefsson  <simon@josefsson.org>
9285
9286         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
9287         * modules/netinet_in: Likewise.
9288         * modules/sys_file: Likewise.
9289         * modules/sys_ioctl: Likewise.
9290         * modules/sys_select: Likewise.
9291         * modules/sys_socket: Likewise.
9292         * modules/sys_stat: Likewise.
9293         * modules/sys_time: Likewise.
9294         * modules/sys_times: Likewise.
9295         * modules/sys_utsname: Likewise.
9296         * modules/sys_wait: Likewise.
9297
9298 2009-09-01  Jim Meyering  <meyering@redhat.com>
9299
9300         fts: help ensure that return values are not ignored
9301         * lib/fts_.h (__GNUC_PREREQ): Define.
9302         (__attribute_warn_unused_result__): Define.
9303         (fts_children, fts_close, fts_open, fts_read): Declare with
9304         __attribute_warn_unused_result__.
9305
9306         fts: fts_close now fails also when closing a dir file descriptor fails
9307         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
9308         and propagate to caller, along with errno.
9309
9310         announce-gen: correct formatting in --help output
9311         * build-aux/announce-gen (usage): Move the one-line description in
9312         --help output "up", to where it belongs, just after Usage:.
9313
9314 2009-08-31  Eric Blake  <ebb9@byu.net>
9315
9316         fchdir: port to mingw
9317         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
9318         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
9319         opened, then use a substitute.
9320         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
9321         replacement.
9322         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
9323         (_gl_register_fd): No need to check stat if open already filters
9324         all directories.
9325         (fchdir): Fix error condition to match POSIX.
9326         * modules/fchdir (Depends-on): Add sys_stat.
9327         * doc/posix-functions/open.texi (open): Document the limitation.
9328         * modules/fchdir-tests: New file.
9329         * tests/test-fchdir.c: Likewise.
9330
9331         canonicalize: allow cross-testing from cygwin to mingw
9332         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
9333         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
9334         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
9335         Likewise.
9336         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
9337         target does not support symlinks.
9338         * tests/test-canonicalize-lgpl.sh: Likewise.
9339
9340         chown: avoid compilation warning on mingw
9341         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
9342         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
9343         mingw.
9344         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
9345         * modules/chown (Depends-on): Add errno.
9346
9347 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
9348
9349         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
9350         command.
9351
9352 2009-08-31  Jim Meyering  <meyering@redhat.com>
9353
9354         canonicalize: remove useless initialization
9355         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
9356         initialization of local, "end".
9357
9358 2009-08-30  Bruno Haible  <bruno@clisp.org>
9359
9360         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
9361         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
9362         ENOSYS.
9363
9364 2009-08-30  Bruno Haible  <bruno@clisp.org>
9365
9366         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
9367         /usr/xpg4/bin/tr when it exists.
9368         * tests/test-pipe-filter-gi1.sh: Likewise.
9369
9370 2009-08-30  Bruno Haible  <bruno@clisp.org>
9371
9372         Work around deficient /usr/bin/id program on Solaris.
9373         * tests/test-file-has-acl.sh (ID): New variable.
9374         * tests/test-set-mode-acl.sh (ID): Likewise.
9375         * tests/test-copy-acl.sh (ID): Likewise.
9376         * tests/test-copy-file.sh (ID): Likewise.
9377
9378 2009-08-30  Bruno Haible  <bruno@clisp.org>
9379
9380         New module 'xstriconveh'.
9381         * lib/xstriconveh.h: New file.
9382         * lib/xstriconveh.c: New file.
9383         * modules/xstriconveh: New file.
9384
9385 2009-08-30  Bruno Haible  <bruno@clisp.org>
9386
9387         Make it easier to use mem_cd_iconveh.
9388         * lib/striconveh.h (iconveh_t): New type.
9389         (iconveh_open, iconveh_close): New declarations.
9390         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
9391         with a single 'const iconveh_t *' argument.
9392         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
9393         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
9394         with a single 'const iconveh_t *' argument.
9395         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
9396         * tests/test-striconveh.c (main): Update.
9397         * NEWS: Mention the change.
9398
9399 2009-08-30  Bruno Haible  <bruno@clisp.org>
9400
9401         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
9402         problem.
9403
9404 2009-08-30  Bruno Haible  <bruno@clisp.org>
9405
9406         Work around iconv_open problem on Solaris.
9407         * lib/iconv_open-solaris.gperf: New file.
9408         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
9409         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
9410         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
9411         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
9412         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
9413         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
9414
9415 2009-08-29  Jim Meyering  <meyering@redhat.com>
9416
9417         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
9418         * top/maint.mk (cvs-check): Remove target; it was just an alias
9419         to the better-named vc-diff-check.
9420         (maintainer-distcheck): Remove rule.  It was used only from
9421         the (alpha/beta/major) target, and all of its commands but one
9422         were coreutils-specific.
9423         (vc-dist): Remove rule.
9424         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
9425         Run vc-diff-check, not vc-dist.
9426         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
9427
9428 2009-08-27  Bruno Haible  <bruno@clisp.org>
9429
9430         * tests/test-bitrotate.c (main): Remove test that uses a shift count
9431         of 0.
9432
9433 2009-08-27  Bruno Haible  <bruno@clisp.org>
9434
9435         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
9436         compilers.
9437         * doc/func.texi: Document the SunPRO C bug.
9438
9439 2009-08-27  Bruno Haible  <bruno@clisp.org>
9440
9441         Fix link error on Solaris.
9442         * tests/test-parse-duration.c (xstrdup): Remove function.
9443
9444 2009-08-26  Pádraig Brady  <P@draigbrady.com>
9445
9446         ignore-value: handle pointer types, too
9447         * lib/ignore-value.h (__attribute__): Remove definition.
9448         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
9449         of a more concise and more-often effective "(void) i" statement.
9450         (ignore_ptr): New function to suppress warnings from functions that
9451         return pointers, and to make it explicit that one function doesn't
9452         handle all cases.
9453
9454 2009-08-25  Bruno Haible  <bruno@clisp.org>
9455
9456         dup2: work around a Linux bug.
9457         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
9458         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
9459         * doc/posix-functions/dup2.texi: Mention the Linux bug.
9460         Reported by Simon Josefsson.
9461
9462 2009-08-25  Jim Meyering  <meyering@redhat.com>
9463
9464         libguestfs uses gnulib
9465         * users.txt: Add libguestfs.
9466
9467 2009-08-24  Eric Blake  <ebb9@byu.net>
9468
9469         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
9470         * lib/pipe2.c (includes): Add binary-io.h.
9471         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
9472
9473 2009-08-24  Bruno Haible  <bruno@clisp.org>
9474
9475         Tolerate declared but missing accept4 syscall.
9476         * lib/accept4.c (accept4): Invoke original accept4 function first, if
9477         available.
9478         * lib/sys_socket.in.h (accept4): If the function is already present,
9479         override it.
9480         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
9481         * modules/accept4 (Makefile.am): Compile accept4.c always.
9482         Reported by Paolo Bonzini and Eric Blake.
9483
9484 2009-08-23  Bruno Haible  <bruno@clisp.org>
9485
9486         New module 'accept4'.
9487         * lib/sys_socket.in.h (accept4): New declaration.
9488         * lib/accept4.c: New file.
9489         * m4/accept4.m4: New file.
9490         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
9491         GNULIB_ACCEPT4, HAVE_ACCEPT4.
9492         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
9493         HAVE_ACCEPT4.
9494         * modules/accept4: New file.
9495         * doc/glibc-functions/accept4.texi: Mention the new module.
9496
9497 2009-08-24  Jim Meyering  <meyering@redhat.com>
9498
9499         progname: also set global program_invocation_name, when possible
9500         Before this change, a libtool-enabled program that calls glibc's
9501         error function would report the program name as
9502         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
9503         * modules/progname (configure.ac): Check for a declaration of
9504         program_invocation_name.
9505         * lib/progname.c:  Include <errno.h>.
9506         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
9507         Set program_invocation_name.
9508
9509 2009-08-23  Bruno Haible  <bruno@clisp.org>
9510
9511         * lib/dup3.c: Include <string.h>.
9512
9513 2009-08-23  Bruno Haible  <bruno@clisp.org>
9514
9515         * lib/dup3.c (dup3): Test only once whether the system actually exists.
9516         * lib/pipe2.c (pipe2): Likewise.
9517         Suggested by Eric Blake.
9518
9519 2009-08-23  Bruno Haible  <bruno@clisp.org>
9520
9521         Tolerate declared but missing dup3 syscall.
9522         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
9523         * lib/unistd.in.h (dup3): If the function is already present,
9524         override it.
9525         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
9526         * modules/dup3 (Makefile.am): Compile dup3.c always.
9527         Reported by Paolo Bonzini.
9528
9529 2009-08-23  Bruno Haible  <bruno@clisp.org>
9530
9531         Tolerate declared but missing pipe2 syscall.
9532         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
9533         available.
9534         * lib/unistd.in.h (pipe2): If the function is already present,
9535         override it.
9536         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
9537         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
9538         Reported by Paolo Bonzini.
9539
9540 2009-08-23  Bruno Haible  <bruno@clisp.org>
9541
9542         * lib/pipe2.c (pipe2): Move #ifs inside function.
9543
9544 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9545
9546         quotearg: document limitations of quote_these_too
9547         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
9548         those limitations are created.
9549         * lib/quotearg.h (set_char_quoting): Document that digits and
9550         letters that are special after backslash are not permitted.
9551         (quotearg_char): Cross-reference set_char_quoting documentation.
9552
9553 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
9554
9555         quotearg: implement custom_quoting_style
9556         * lib/quotearg.c: (struct quoting_options): Add left_quote and
9557         right_quote fields.
9558         (set_custom_quoting): New public function.
9559         (quotearg_buffer_restyled): Add left_quote and right_quote
9560         arguments, handle them very much like locale quoting, and update
9561         all uses.
9562         (quotearg_n_custom): New public function.
9563         (quotearg_n_custom_mem): New public function.
9564         (quotearg_custom): New public function.
9565         (quotearg_custom_mem): New public function.
9566         * lib/quotearg.h: Prototype and document new public functions.
9567         (enum quoting_style): For escape_quoting_style and
9568         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
9569         ignored even though they're otherwise like c_quoting_style.
9570         Add custom_quoting_style member and document with comparison to
9571         clocale_quoting_style.
9572         * tests/test-quotearg.c (custom_quotes): New array.
9573         (custom_results): New array.
9574         (main): Extend to test custom quoting.
9575
9576 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9577
9578         quotearg: fix right quote escaping when it's in quote_these_too
9579         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
9580         quote, be sure to prepend only one backslash.
9581         * tests/test-quotearg.c (use_quote_double_quotes): New function.
9582         (main): Test it.
9583
9584 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
9585
9586         quotearg-tests: test escaping of embedded locale quotes
9587         * tests/test-quotearg.c (struct result_strings): Add member for
9588         new input.
9589         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
9590         (inputs): Add new input.
9591         (results_g): Add expected results.
9592         (flag_results): Likewise.
9593         (locale_results): Likewise.
9594         (compare_strings): Check those.
9595
9596 2009-08-23  Bruno Haible  <bruno@clisp.org>
9597
9598         Tests for module 'dup3'.
9599         * modules/dup3-tests: New file.
9600         * tests/test-dup3.c: New file.
9601
9602         New module 'dup3'.
9603         * lib/unistd.in.h (dup3): New declaration.
9604         * lib/dup3.c: New file.
9605         * m4/dup3.m4: New file.
9606         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
9607         HAVE_DUP3.
9608         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
9609         * modules/dup3: New file.
9610         * doc/glibc-functions/dup3.texi: Mention the new module.
9611
9612 2009-08-23  Bruno Haible  <bruno@clisp.org>
9613
9614         Tweak the dup2 test.
9615         * tests/test-dup2.c (main): Create the test file empty. Verify that an
9616         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
9617         the test file is still empty. Fix argument order of lseek.
9618
9619 2009-08-23  Bruno Haible  <bruno@clisp.org>
9620
9621         Avoid test link errors when the modules getopt-gnu, gettext are used.
9622         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
9623         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9624
9625 2009-08-23  Bruno Haible  <bruno@clisp.org>
9626
9627         Fix getdtablesize() on mingw.
9628         * lib/getdtablesize.c (getdtablesize): Implement differently.
9629         * lib/unistd.in.h (getdtablesize): Improve comment.
9630
9631 2009-08-23  Bruno Haible  <bruno@clisp.org>
9632
9633         New module 'mkostemp'.
9634         Based on Ulrich Drepper's 2007-08-10 change in glibc.
9635         * lib/stdlib.in.h (mksotemp): New declaration.
9636         * lib/mkostemp.c: New file, from glibc with modifications.
9637         * lib/tempname.h (GT_FILE): Remove outdated comment.
9638         (gen_tempname): Add flags argument.
9639         * lib/tempname.c (__GT_BIGFILE): Remove macro.
9640         (__GT_FILE): Map to 1.
9641         (small_open, large_open): Remove macros.
9642         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
9643         * lib/mkstemp.c (mkstemp): Update.
9644         * lib/mkdtemp.c (mkdtemp): Likewise.
9645         * m4/mkostemp.m4: New file.
9646         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
9647         HAVE_MKOSTEMP.
9648         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
9649         HAVE_MKOSTEMP.
9650         * modules/mkostemp: New file, based on modules/mkstemp.
9651         * doc/glibc-functions/mkostemp.texi: Mention the new module.
9652         * NEWS: Mention the change.
9653
9654 2009-08-23  Bruno Haible  <bruno@clisp.org>
9655
9656         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
9657         Reported by Eric Blake.
9658
9659 2009-08-23  Bruno Haible  <bruno@clisp.org>
9660
9661         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
9662         Reported by Eric Blake.
9663
9664 2009-08-23  Bruno Haible  <bruno@clisp.org>
9665
9666         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
9667         * modules/pipe2 (Depends-on): Likewise.
9668
9669 2009-08-23  Eric Blake  <ebb9@byu.net>
9670
9671         fcntl-h: add O_TTY_INIT support
9672         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
9673         * tests/test-fcntl-h.c (o): Test it.
9674         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
9675
9676         fcntl-h: rename from fcntl, in preparation for fcntl(2)
9677         * modules/fcntl: Move <fcntl.h> header replacement...
9678         * modules/fcntl-h: ...to new name, so as not to collide with
9679         like-named function.
9680         * tests/test-fcntl.c: Rename...
9681         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
9682         * modules/fcntl-tests: Rename...
9683         * modules/fcntl-h-tests: ...to this.  Update test file name.
9684         * modules/chdir-long (Depends-on): Update clients.
9685         * modules/chdir-safer (Depends-on): Likewise.
9686         * modules/fcntl-safer (Depends-on): Likewise.
9687         * modules/fts (Depends-on): Likewise.
9688         * modules/mkancesdirs (Depends-on): Likewise.
9689         * modules/mkdir-p (Depends-on): Likewise.
9690         * modules/open (Depends-on): Likewise.
9691         * modules/savewd (Depends-on): Likewise.
9692         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
9693         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
9694
9695 2009-08-22  Bruno Haible  <bruno@clisp.org>
9696
9697         * modules/binary-io (License): Relicense under LGPL.
9698         * modules/pipe2 (License): Likewise.
9699
9700 2009-08-22  Bruno Haible  <bruno@clisp.org>
9701
9702         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
9703         return value.
9704         * lib/pipe-filter-gi.c (filter_init): Likewise.
9705         Reported by Eric Blake.
9706
9707 2009-08-22  Bruno Haible  <bruno@clisp.org>
9708
9709         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
9710         * modules/pipe (Depends-on): Add pipe2.
9711
9712 2009-08-22  Bruno Haible  <bruno@clisp.org>
9713
9714         Tests for module 'pipe2'.
9715         * modules/pipe2-tests: New file.
9716         * tests/test-pipe2.c: New file.
9717
9718         New module 'pipe2'.
9719         * lib/unistd.in.h (pipe2): New declaration.
9720         * lib/pipe2.c: New file.
9721         * m4/pipe2.m4: New file.
9722         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
9723         HAVE_PIPE2.
9724         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
9725         * modules/pipe2: New file.
9726         * doc/glibc-functions/pipe2.texi: Mention the new module.
9727
9728 2009-08-22  Bruno Haible  <bruno@clisp.org>
9729
9730         Reference some new glibc functions.
9731         * doc/glibc-functions/accept4.texi: New file.
9732         * doc/glibc-functions/dup3.texi: New file.
9733         * doc/glibc-functions/mkostemp.texi: New file.
9734         * doc/glibc-functions/pipe2.texi: New file.
9735         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
9736         (Glibc sys/socket.h): Refer to accept4.
9737         (Glibc unistd.h): Refer to dup3, pipe2.
9738         Reported by Eric Blake.
9739
9740 2009-08-22  Jim Meyering  <meyering@redhat.com>
9741             Bruno Haible  <bruno@clisp.org>
9742
9743         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
9744         This makes it so packages using automake-1.11's silent-rules option
9745         can print e.g., a single "GEN    configmake.h" line, rather than
9746         the 30+ statements that perform the job.  If you want to see the
9747         actual commands, you can still run "make V=1".
9748         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
9749         so that make output is abbreviated when those variables are defined
9750         appropriately.
9751         * modules/argz: Likewise.
9752         * modules/arpa_inet: Likewise.
9753         * modules/byteswap: Likewise.
9754         * modules/configmake: Likewise.
9755         * modules/dirent: Likewise.
9756         * modules/errno: Likewise.
9757         * modules/fcntl: Likewise.
9758         * modules/float: Likewise.
9759         * modules/fnmatch: Likewise.
9760         * modules/getopt-posix: Likewise.
9761         * modules/glob: Likewise.
9762         * modules/iconv_open: Likewise.
9763         * modules/inttypes: Likewise.
9764         * modules/localcharset: Likewise.
9765         * modules/locale: Likewise.
9766         * modules/math: Likewise.
9767         * modules/netdb: Likewise.
9768         * modules/netinet_in: Likewise.
9769         * modules/poll: Likewise.
9770         * modules/posix_spawnp-tests: Likewise.
9771         * modules/sched: Likewise.
9772         * modules/search: Likewise.
9773         * modules/selinux-h: Likewise.
9774         * modules/signal: Likewise.
9775         * modules/spawn: Likewise.
9776         * modules/stdarg: Likewise.
9777         * modules/stdbool: Likewise.
9778         * modules/stddef: Likewise.
9779         * modules/stdint: Likewise.
9780         * modules/stdio: Likewise.
9781         * modules/stdlib: Likewise.
9782         * modules/string: Likewise.
9783         * modules/strings: Likewise.
9784         * modules/sys_file: Likewise.
9785         * modules/sys_ioctl: Likewise.
9786         * modules/sys_select: Likewise.
9787         * modules/sys_socket: Likewise.
9788         * modules/sys_stat: Likewise.
9789         * modules/sys_time: Likewise.
9790         * modules/sys_times: Likewise.
9791         * modules/sys_utsname: Likewise.
9792         * modules/sys_wait: Likewise.
9793         * modules/sysexits: Likewise.
9794         * modules/time: Likewise.
9795         * modules/unistd: Likewise.
9796         * modules/wchar: Likewise.
9797         * modules/wctype: Likewise.
9798
9799 2009-08-22  Jim Meyering  <meyering@redhat.com>
9800
9801         announce-gen: detect write failure
9802         * build-aux/announce-gen: Add Coda at end.
9803         Remove equivalent-but-more-verbose block at top.
9804
9805 2009-08-19  Akim Demaille  <demaille@gostai.com>
9806
9807         bootstrap: --help to stdout.
9808         * bootstrap (usage): Don't send --help to stderr.
9809         Use a here doc instead of a long string.
9810
9811 2009-08-21  Eric Blake  <ebb9@byu.net>
9812
9813         test-popen-safer: split from test-popen
9814         * tests/test-popen.c (main): Move...
9815         * tests/test-popen.h: ...into new file.
9816         * tests/test-popen-safer2.c: New file.
9817         * modules/popen-tests (Files): Add test-popen.h.
9818         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
9819         Suggested by Bruno Haible.
9820
9821         test-fcntl-safer: split from test-open
9822         * tests/test-open.c (main): Move...
9823         * tests/test-open.h: ...into new file.
9824         * tests/test-fcntl-safer.c: New file.
9825         * modules/open-tests (Files): Add test-open.h.
9826         * modules/fcntl-safer-tests: New file.
9827         Suggested by Bruno Haible.
9828
9829         test-fopen-safer: split from test-fopen
9830         * tests/test-fopen.c (main): Move...
9831         * tests/test-fopen.h: ...into new file.
9832         * tests/test-fopen-safer.c: New file.
9833         * modules/fopen-tests (Files): Add test-fopen.h.
9834         * modules/fopen-safer-tests: New file.
9835         Suggested by Bruno Haible.
9836
9837 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
9838
9839         popen-safer: test O_CLOEXEC at run-time.
9840         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
9841
9842 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
9843
9844         fcntl: move more flags to the header
9845         * lib/cloexec.c: Do not define FD_CLOEXEC here.
9846         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
9847         * lib/fcntl.in.h: Do both things here.
9848
9849 2009-08-21  Jim Meyering  <meyering@redhat.com>
9850
9851         consistently remove $@-t before redirecting to it
9852         * modules/argz: Remove $@-t and $@ before redirecting to the former.
9853         * modules/alloca-opt: Likewise.
9854         * modules/byteswap: Likewise.
9855         * modules/fnmatch: Likewise.
9856         * modules/getopt-posix: Likewise.
9857         * modules/glob: Likewise.
9858         * modules/poll: Likewise.
9859         * modules/posix_spawnp-tests: Likewise.
9860         * modules/sys_socket: Likewise.
9861         * modules/sysexits: Likewise.
9862
9863 2009-08-21  Eric Blake  <ebb9@byu.net>
9864
9865         popen: simplify access to original popen
9866         * lib/popen.c (rpl_popen): No need to worry about popen being a
9867         macro.
9868         Reported by Bruno Haible.
9869
9870 2009-08-20  Eric Blake  <ebb9@byu.net>
9871
9872         build: avoid some compiler warnings
9873         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
9874         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
9875         type.
9876         (new_exclude_segment, excluded_file_pattern_p)
9877         (excluded_file_name_p): Reduce scope.
9878         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
9879         old-style declaration.
9880
9881 2009-08-20  Simon Josefsson  <simon@josefsson.org>
9882
9883         * tests/test-exclude1.sh: Handle Windows EOL.
9884         * tests/test-exclude2.sh: Likewise.
9885         * tests/test-exclude3.sh: Likewise.
9886         * tests/test-exclude4.sh: Likewise.
9887         * tests/test-exclude5.sh: Likewise.
9888         * tests/test-exclude6.sh: Likewise.
9889         * tests/test-exclude7.sh: Likewise.
9890
9891 2009-08-19  Akim Demaille  <demaille@gostai.com>
9892
9893         bootstrap: find sha1sum when named gsha1sum.
9894         * bootstrap (find_tool): New.
9895         ($SHA1SUM): New.
9896         Use it.
9897
9898 2009-08-20  Jim Meyering  <meyering@redhat.com>
9899
9900         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
9901         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
9902         expression that converts "." in a file name to "\." in the resulting
9903         regexp.  Start with a dummy statement, so that prior shell variable
9904         definitions are expanded portably.  Reported by Simon Josefsson.
9905
9906 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
9907
9908         Fix polling for writeability of a screen buffer.
9909         * lib/poll.c: Distinguish input and screen buffers for the
9910         Win32 implementation.
9911         * lib/select.c: Likewise.
9912
9913 2009-08-19  Eric Blake  <ebb9@byu.net>
9914
9915         popen-safer: prevent popen from clobbering std descriptors
9916         * modules/popen-safer: New file.
9917         * lib/popen-safer.c: Likewise.
9918         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
9919         * lib/stdio--.h (popen): Provide override.
9920         * lib/stdio-safer.h (popen_safer): Provide declaration.
9921         * tests/test-popen.c (includes): Partially test this.
9922         * modules/popen-safer-tests: New file, for more tests.
9923         * tests/test-popen-safer.c: Likewise.
9924         * MODULES.html.sh (file stream based Input/Output): Mention it.
9925
9926         tests: test some of the *-safer modules
9927         * modules/fopen-safer (Depends-on): Add fopen.
9928         * modules/fcntl-safer (Depends-on): Add fcntl.
9929         * modules/stdlib-safer (Depends-on): Add stdlib.
9930         (configure.ac): Set indicator.
9931         * modules/unistd-safer (configure.ac): Likewise.
9932         * modules/tmpfile-safer (configure.ac): Likewise.
9933         (Depends-on): Add tmpfile.
9934         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
9935         active.
9936         * tests/test-fopen.c (includes): Test safer versions when they are
9937         in use.
9938         * tests/test-open.c (includes): Likewise.
9939
9940         popen: fix cygwin 1.5 bug when stdin closed
9941         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
9942         * modules/popen: New file.
9943         * modules/popen-tests: Likewise.
9944         * tests/test-popen.c: Likewise.
9945         * m4/popen.m4: Likewise.
9946         * lib/popen.c: Likewise.
9947         * lib/stdio.in.h (popen): New declaration.
9948         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
9949         * modules/stdio (Makefile.am): Likewise.
9950         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
9951
9952 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
9953
9954         maint.mk: give full control over update-copyright exclusions
9955         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
9956         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
9957         (update-copyright): Don't force inclusion of top-level
9958         ChangeLog.  Don't force exclusion of all COPYING files, but make
9959         them the default exclusion instead.
9960
9961 2009-08-16  Bruno Haible  <bruno@clisp.org>
9962
9963         Fix test failures on Solaris 10.
9964         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
9965         tests when Solaris iconv() is used.
9966         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
9967         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
9968         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
9969         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
9970         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
9971
9972 2009-08-16  Bruno Haible  <bruno@clisp.org>
9973
9974         Fix test failures on Solaris 10.
9975         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
9976         'tr' program and pass it as first argument.
9977         * tests/test-pipe-filter-gi1.sh: Likewise.
9978         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
9979         program as first argument.
9980         * tests/test-pipe-filter-gi1.c (main): Likewise.
9981
9982 2009-08-16  Eric Blake  <ebb9@byu.net>
9983
9984         fpurge: fix previous commits
9985         * modules/fpurge (Makefile.am): Make replacement conditional,
9986         partially reverting 2007-04-29 change; missed in previous
9987         attempt.
9988         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
9989         is missing.
9990
9991 2009-08-16  Bruno Haible  <bruno@clisp.org>
9992
9993         Clarify fpurge's effect on the file position.
9994         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
9995         * tests/test-fpurge.c (main): Make a second pass for checking the file
9996         position.
9997
9998 2009-08-16  Bruno Haible  <bruno@clisp.org>
9999
10000         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
10001         declaration of fpurge is missing.
10002         * tests/test-fpurge.c (main): Check that the file has not more contents
10003         than expected. Close the file before removing it.
10004
10005 2009-08-15  Eric Blake  <ebb9@byu.net>
10006
10007         fpurge: don't wrap working cygwin implementation
10008         * lib/fpurge.c (fpurge): Fix comment typo.
10009         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
10010         1.7 to avoid replacement.
10011         * tests/test-fpurge.c (main): Enhance test.
10012
10013 2009-08-15  Eric Blake  <ebb9@byu.net>
10014         and Jim Meyering  <meyering@redhat.com>
10015
10016         test-update-copyright: skip if perl is insufficient
10017         * tests/test-update-copyright.sh: Failure to run maintainer tool
10018         should not cause testsuite failure on cygwin 1.5.
10019
10020 2009-08-14  Eric Blake  <ebb9@byu.net>
10021
10022         doc: mention more functions added in cygwin 1.7.0
10023         * doc/posix-headers/limits.texi (limits.h): Update for recent
10024         cygwin additions.
10025         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
10026         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
10027         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
10028         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
10029         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
10030
10031 2009-08-14  Eric Blake  <ebb9@byu.net>
10032
10033         maint.mk: simplify update-copyright rule
10034         * top/maint.mk (update-copyright-local): Delete, and document how
10035         to do it in cfg.mk instead.
10036         (update-copyright-exclude-regexp): Delete, and document how to do
10037         it in .x-update-copyright instead.
10038         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
10039         exclude ChangeLog.
10040
10041 2009-08-14  Bruno Haible  <bruno@clisp.org>
10042
10043         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
10044
10045 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
10046
10047         maint.mk: support update-copyright-env
10048         * top/maint.mk (update-copyright-env): Define place-holder.
10049         (update-copyright): Expand $(update-copyright-env) before
10050         invoking update-copyright.
10051
10052 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
10053
10054         update-copyright: implement forced reformatting
10055         * build-aux/update-copyright: Implement and document
10056         UPDATE_COPYRIGHT_FORCE.
10057         * tests/test-update-copyright.sh: Test it.
10058
10059 2009-08-14  Eric Blake  <ebb9@byu.net>
10060         and Bruno Haible  <bruno@clisp.org>
10061
10062         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
10063         * tests/test-locale.c: Revert previous patch related to NULL.
10064         * tests/test-stdio.c: Likewise.
10065         * tests/test-stdlib.c: Likewise.
10066         * tests/test-string.c: Likewise.
10067         * tests/test-unistd.c: Likewise.
10068         * modules/time-tests (Depends-on): Add verify.
10069         * modules/wchar-tests (Depends-on): Likewise.
10070         * tests/test-time.c: Test for NULL compliance.
10071         * tests/test-wchar.c: Likewise.
10072         * modules/locale (Depends-on): Add stddef.
10073         * modules/stdio (Depends-on): Likewise.
10074         * modules/stdlib (Depends-on): Likewise.
10075         * modules/string (Depends-on): Likewise.
10076         * modules/time (Depends-on): Likewise.
10077         * modules/unistd (Depends-on): Likewise.
10078         * modules/wchar (Depends-on): Likewise.
10079         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
10080         * lib/stdlib.in.h (includes): Likewise.
10081         * lib/string.in.h (includes): Likewise.
10082         * lib/time.in.h (includes): Likewise.
10083         * lib/unistd.in.h (includes): Likewise.
10084         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
10085         replaced.
10086         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
10087         * m4/stddef_h.m4: New file.
10088         * modules/stddef: Likewise.
10089         * lib/stddef.in.h: Likewise.
10090         * modules/stddef-tests: Likewise.
10091         * tests/test-stddef.c: Likewise.
10092         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
10093         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
10094         * doc/posix-headers/locale.texi (locale.h): Likewise.
10095         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
10096         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
10097         * doc/posix-headers/string.texi (string.h): Likewise.
10098         * doc/posix-headers/time.texi (time.h): Likewise.
10099         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
10100         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
10101
10102 2009-08-14  Eric Blake  <ebb9@byu.net>
10103
10104         doc: improve git diff of texinfo files
10105         * .gitattributes: Add rule for *.texi files, with hint on how to
10106         use it.
10107         Copied from m4, and based on a report by Bruno Haible.
10108
10109 2009-08-14  Bruno Haible  <bruno@clisp.org>
10110
10111         Disable multithread support by default on Cygwin 1.5.x for real.
10112         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
10113
10114 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
10115
10116         update-copyright: much ado about intervals
10117         * build-aux/update-copyright: Implement and document
10118         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
10119         of copyright year intervals.
10120         Also, document UPDATE_COPYRIGHT_YEAR.
10121         * tests/test-update-copyright.sh: Test it.
10122
10123         update-copyright: convert 2-digit to 4-digit years
10124         * build-aux/update-copyright: Implement and document.
10125         * tests/test-update-copyright.sh: Update.
10126
10127 2009-08-14  Jim Meyering  <meyering@redhat.com>
10128
10129         test-exclude: avoid coreutils "make check" failure
10130         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
10131         just as in test-argmatch.c.
10132
10133 2009-08-13  Eric Blake  <ebb9@byu.net>
10134
10135         test-dup2: fix bad assumption
10136         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
10137         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
10138
10139         test-version-etc: fix CRLF portability issue
10140         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
10141         recognize \r.
10142         * tests/test-argp-version-etc-1.sh: Likewise.
10143
10144         getopt: update client modules
10145         * modules/argp (Depends-on): Use getopt-gnu.
10146         * modules/git-merge-changelog (Depends-on): Likewise.
10147         * modules/long-options (Depends-on): Likewise.
10148         * modules/xstrtol (Depends-on): Likewise.
10149
10150 2009-08-13  Simon Josefsson  <simon@josefsson.org>
10151
10152         * tests/test-version-etc.sh: Don't fail on different
10153         project/version.  Don't fail on CRLF differences.  Rewrite to use
10154         multiple -e instead of multiple sed forks, suggested by Eric Blake
10155         <ebb9@byu.net>.
10156         * tests/test-argp-version-etc-1.sh: Likewise.
10157
10158 2009-08-13  Simon Josefsson  <simon@josefsson.org>
10159
10160         * tests/test-version-etc.sh: Don't fail on different
10161         project/version.
10162
10163 2009-08-12  Bruno Haible  <bruno@clisp.org>
10164
10165         Tests for modules 'getopt-posix', 'getopt-gnu'.
10166         * modules/getopt-posix-tests: New file.
10167         * tests/test-getopt.c: New file.
10168         * tests/test-getopt.h: New file.
10169         * tests/test-getopt_long.h: New file.
10170
10171         New modules 'getopt-posix', 'getopt-gnu'.
10172         * modules/getopt-gnu: New file, renamed from modules/getopt.
10173         * modules/getopt-posix: New file.
10174         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
10175         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
10176         (gl_GETOPT): Remove macro.
10177         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
10178         Disable the test against BSD systems that declare optreset. Test
10179         against mingw bug. Test against lack of support of optional arguments
10180         on many platforms.
10181         * doc/glibc-headers/getopt.texi: Update module name and list of
10182         relevant platforms.
10183         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
10184         'getopt-gnu' and more portability problems.
10185         * NEWS: Mention the changes.
10186
10187 2009-08-12  Bruno Haible  <bruno@clisp.org>
10188
10189         Ensure that optarg etc. get declared by <unistd.h>.
10190         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
10191         AC_USE_SYSTEM_EXTENSIONS.
10192         * modules/getopt (Depends-on): Add 'extensions'.
10193
10194 2009-08-12  Bruno Haible  <bruno@clisp.org>
10195
10196         Avoid test link errors.
10197         * modules/pipe-filter-ii-tests (Makefile.am): Define
10198         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
10199         * modules/pipe-filter-gi-tests (Makefile.am): Define
10200         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
10201         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10202
10203 2009-08-12  Bruno Haible  <bruno@clisp.org>
10204
10205         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
10206         gl_GETOPT_SUBSTITUTE before.
10207         (gl_GETOPT): Use it.
10208         * m4/argp.m4 (gl_ARGP): Update.
10209         Reported by Sergey Poznyakoff.
10210
10211         * m4/getopt.m4: Reorder macros.
10212         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
10213         (gl_GETOPT_SUBSTITUTE): Remove macro.
10214
10215 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
10216
10217         Minor improvement in gitlog-to-changelog
10218
10219         * build-aux/gitlog-to-changelog: New option `--format' makes
10220         output format string configurable.
10221
10222 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
10223
10224         Optimize exclude: use hash tables for non-wildcard patterns.
10225
10226         * lib/exclude.c: Include hash.h and mbuiter.h
10227         (struct exclude_pattern, exclude_segment): New data types.
10228         (struct exclude): Rewrite.
10229         (fnmatch_pattern_has_wildcards): New function.
10230         (new_exclude_segment, free_exclude_segment): New functions.
10231         (excluded_file_pattern_p, excluded_file_name_p): New functions.
10232         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
10233         * lib/exclude.h (is_fnmatch_pattern): New prototype.
10234         * modules/exclude: Depend on hash and mbuiter.
10235
10236         * modules/exclude-tests: New file.
10237         * tests/test-exclude.c: New file.
10238         * tests/test-exclude1.sh: New file.
10239         * tests/test-exclude2.sh: New file.
10240         * tests/test-exclude3.sh: New file.
10241         * tests/test-exclude4.sh: New file.
10242         * tests/test-exclude5.sh: New file.
10243         * tests/test-exclude6.sh: New file.
10244         * tests/test-exclude7.sh: New file.
10245
10246 2009-08-12  Bruno Haible  <bruno@clisp.org>
10247
10248         Ensure that getopt() gets declared by <unistd.h>.
10249         * lib/unistd.in.h: Conditionally include getopt.h.
10250         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
10251         Set GNULIB_UNISTD_H_GETOPT.
10252         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10253         GNULIB_UNISTD_H_GETOPT.
10254         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
10255
10256 2009-08-12  Bruno Haible  <bruno@clisp.org>
10257
10258         Clarify logic.
10259         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
10260         gl_replace_getopt instead of GETOPT_H.
10261
10262 2009-08-12  Bruno Haible  <bruno@clisp.org>
10263
10264         * m4/getopt.m4: Add comments.
10265
10266 2009-08-12  Bruno Haible  <bruno@clisp.org>
10267
10268         Disable multithread support by default on Cygwin 1.5.x.
10269         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
10270         set gl_use_threads=no if not specified otherwise.
10271
10272 2009-08-11  Bruno Haible  <bruno@clisp.org>
10273
10274         Avoid compilation error on NetBSD 5.0.
10275         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
10276         * tests/test-stdio.c: Likewise.
10277         * tests/test-stdlib.c: Likewise.
10278         * tests/test-string.c: Likewise.
10279         * tests/test-unistd.c: Likewise.
10280         Reported by Greg Troxel <gdt@ir.bbn.com>
10281         at <https://savannah.gnu.org/support/?106973>.
10282
10283 2009-08-11  Bruno Haible  <bruno@clisp.org>
10284
10285         * modules/dup2-tests (Depends-on): Remove close.
10286
10287         Undo 2009-07-19 commit.
10288         * modules/acl-tests (Depends-on): Remove close.
10289         * modules/binary-io-tests (Depends-on): Likewise.
10290         * modules/closein-tests (Depends-on): Likewise.
10291         * modules/flock-tests (Depends-on): Likewise.
10292         * modules/fsync-tests (Depends-on): Likewise.
10293         * modules/lseek-tests (Depends-on): Likewise.
10294         * modules/pipe-tests (Depends-on): Likewise.
10295         * modules/posix_spawn-tests (Depends-on): Likewise.
10296         * modules/posix_spawnp-tests (Depends-on): Likewise.
10297         * modules/stat-time-tests (Depends-on): Likewise.
10298         * modules/yesno-tests (Depends-on): Likewise.
10299
10300 2009-08-10  Bruno Haible  <bruno@clisp.org>
10301
10302         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
10303
10304 2009-08-10  Bruno Haible  <bruno@clisp.org>
10305
10306         Fix a gcc warning.
10307         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
10308
10309 2009-08-10  Bruno Haible  <bruno@clisp.org>
10310
10311         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
10312         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
10313         not only the first time.
10314         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
10315         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
10316         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
10317         is 1, not only the the first time.
10318
10319 2009-08-10  Bruno Haible  <bruno@clisp.org>
10320
10321         Make it possible to use module 'gethostname' without module 'close'.
10322         * lib/unistd.in.h (close): Evoke a link error only if
10323         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
10324         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10325         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10326         * modules/unistd (Makefile.am): Substitute
10327         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10328         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
10329         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
10330         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
10331         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10332         * modules/sys_ioctl (Makefile.am): Substitute
10333         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10334         * modules/socket (configure.ac): On native Windows, set
10335         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
10336         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
10337         Reported by Sam Steingold <sds@gnu.org>.
10338
10339 2009-08-10  Bruno Haible  <bruno@clisp.org>
10340
10341         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
10342         * modules/ioctl (configure.ac): Likewise.
10343
10344 2009-08-10  Bruno Haible  <bruno@clisp.org>
10345
10346         Avoid collision between gnulib wrapper and libintl wrapper.
10347         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
10348         already defined in intl/printf.c.
10349         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
10350         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
10351
10352 2009-08-09  Bruno Haible  <bruno@clisp.org>
10353
10354         Make <sys/select.h> really self-contained, also on Solaris 10.
10355         * lib/sys_select.in.h: Include <string.h>.
10356         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
10357         Solaris 10 problem.
10358         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
10359         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
10360         Reported by Jim Meyering.
10361
10362 2009-08-09  Bruno Haible  <bruno@clisp.org>
10363
10364         Avoid warnings from 'aclocal' that are due to a use of macro name
10365         AM_XGETTEXT_OPTION that is not defined in automake.
10366         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
10367         automake.
10368         * modules/error (configure.ac): Likewise.
10369         * modules/propername (configure.ac): Likewise.
10370         * modules/vasprintf (configure.ac): Likewise.
10371         * modules/verror (configure.ac): Likewise.
10372         * modules/xprintf (configure.ac): Likewise.
10373         * modules/xvasprintf (configure.ac): Likewise.
10374
10375 2009-08-08  Bruno Haible  <bruno@clisp.org>
10376
10377         Avoid compilation error in C++ mode.
10378         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
10379         Reported by Sam Steingold <sds@gnu.org>.
10380
10381 2009-08-08  Bruno Haible  <bruno@clisp.org>
10382
10383         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
10384         for the various Unix platforms.
10385         * doc/posix-headers/limits.texi: Update platforms list regarding
10386         HOST_NAME_MAX.
10387         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10388
10389 2009-08-07  Jim Meyering  <meyering@redhat.com>
10390
10391         selinux-at: fix typo in a comment
10392         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
10393         Spotted by Paolo Bonzini.
10394
10395         selinux-at: remove redundant m4 code, add documentation
10396         * modules/selinux-at (configure.ac): Remove redundant code.
10397         LIB_SELINUX is already set via the dependent module, selinux-h.
10398         (Include): Add quotes around selinux-at.h.
10399         * lib/selinux-at.h: Add documentation.
10400         Reported by Bruno Haible in
10401         http://marc.info/?l=gnulib-bug&m=124958988300749
10402
10403 2009-08-07  Bruno Haible  <bruno@clisp.org>
10404
10405         Avoid link error on MacOS X 10.3 and 10.4.
10406         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
10407         on non-ELF systems.
10408         * lib/argp-pv.c (argp_program_version): Likewise.
10409         Reported by Simon Josefsson.
10410
10411 2009-08-07  Simon Josefsson  <simon@josefsson.org>
10412
10413         * tests/test-version-etc.sh: Use $EXEEXT.
10414
10415 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
10416
10417         update-copyright: update documentation to point to maint.mk
10418         * build-aux/update-copyright: Here.
10419
10420 2009-08-06  Jim Meyering  <meyering@redhat.com>
10421
10422         maint.mk: support update-copyright-local
10423         * top/maint.mk (update-copyright-local): Define place-holder.
10424         (update-copyright): Depend on $(update-copyright-local).
10425
10426 2009-08-06  Jim Meyering  <meyering@redhat.com>
10427
10428         selinux-at: new module
10429         Initially written for coreutils, this module will soon be
10430         used by findutils, too.
10431         * MODULES.html.sh [Misc]: Add selinux-at.
10432         * lib/selinux-at.h: New file, from coreutils.
10433         * lib/selinux-at.c: Likewise.
10434         * modules/selinux-at: Likewise.
10435         (License): Change from LGPL to GPL, since it depends
10436         on the GPL'd openat module.
10437
10438         doc: update README
10439         * README: Remove references to cogito.
10440         Remove cvs-repo-updating instructions from 2007.
10441         Don't imply that CVS is better if you have limited disk space.
10442
10443 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10444
10445         update-copyright: support C-style comments
10446         * build-aux/update-copyright: Implement and document.
10447         * tests/test-update-copyright.sh: Test.
10448
10449 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10450
10451         update-copyright: support omitted "(C)"
10452         * build-aux/update-copyright: Implement and document.  Also,
10453         allow variable whitespace before "(C)".
10454         * tests/test-update-copyright.sh: Test.
10455
10456 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10457
10458         update-copyright: don't trip on non-FSF copyright statements
10459         * build-aux/update-copyright: Fix so that the first correctly
10460         formatted FSF copyright statement is recognized no matter what
10461         appears before it.  Update documentation.
10462         * tests/test-update-copyright.sh: Test that.
10463
10464 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10465
10466         update-copyright: clean up code a little
10467         * build-aux/update-copyright: Append "_re" to the name of any
10468         variable holding a regular expression.
10469         Replace "old" and "new" with "stmt" in variable names.
10470         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
10471         handled correctly.
10472         Format code more consistently.
10473
10474 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
10475
10476         update-copyright-tests: improve portability
10477         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
10478         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
10479
10480 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
10481
10482         update-copyright: support @copyright{} and &copy;
10483         * build-aux/update-copyright: Implement and document.
10484         * tests/test-update-copyright.sh: Test.
10485
10486 2009-08-04  Jim Meyering  <meyering@redhat.com>
10487
10488         update-copyright-tests: correctly test EOL=\r\n handling
10489         * tests/test-update-copyright.sh: Put \r at the end of some lines
10490         for the dos-eol tests.  Based on a patch by Joel E. Denny.
10491
10492         maint.mk: make update-copyright exclusion list more configurable
10493         * top/maint.mk (update-copyright): Default to excluding COPYING,
10494         but allow an override, in case someone does want to update that file.
10495
10496         maint.mk: don't update copyright date in COPYING
10497         * top/maint.mk (update-copyright): Exclude COPYING.
10498
10499         maint.mk: add a copyright-updating rule
10500         * top/maint.mk (update-copyright): New rule.
10501         Derived from coreutils/Makefile.am.
10502
10503         update-copyright: rename some variables
10504         * build-aux/update-copyright: Rename a few variables for clarity.
10505         Tweak syntax.  List Joel E. Denny as coauthor.
10506
10507 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
10508
10509         update-copyright: fix bug for 2-digit last year and add tests
10510         * build-aux/update-copyright: Fix bug.
10511         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
10512         specified.
10513         * modules/update-copyright-tests: New
10514         * tests/test-update-copyright.sh: New.
10515
10516 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
10517
10518         update-copyright: handle leading tabs in line prefix
10519         * build-aux/update-copyright: Count leading tabs as 8 spaces
10520         when computing margin.  This helps with the formatting of
10521         ChangeLogs, for example.
10522         Fix documentation a little.
10523
10524 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
10525
10526         update-copyright: support EOL=\r\n
10527         * build-aux/update-copyright: Implement that.
10528
10529 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
10530
10531         update-copyright: automatically format copyright statements
10532         * build-aux/update-copyright: Implement that.
10533         Also, be a little more predictable and safer by always failing
10534         when the full copyright format is not perfectly recognized as an
10535         unbroken whole.  Discussed at
10536         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
10537         Rewrite documentation.
10538
10539 2009-08-03  Bruno Haible  <bruno@clisp.org>
10540
10541         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
10542
10543 2009-08-02  Bruno Haible  <bruno@clisp.org>
10544
10545         Tests for module 'uname'.
10546         * modules/uname-tests: New file.
10547         * tests/test-uname.c: New file.
10548
10549         New module 'uname'.
10550         * lib/uname.c: New file.
10551         * m4/uname.m4: New file.
10552         * modules/uname: New file.
10553         * doc/posix-functions/uname.texi: Mention the new module.
10554
10555 2009-08-02  Bruno Haible  <bruno@clisp.org>
10556
10557         Tests for module 'sys_utsname'.
10558         * modules/sys_utsname-tests: New file.
10559         * tests/test-sys_utsname.c: New file.
10560
10561         New module 'sys_utsname'.
10562         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
10563         * m4/sys_utsname_h.m4: New file.
10564         * modules/sys_utsname: New file.
10565         * doc/posix-headers/sys_utsname.texi: Mention the new module.
10566
10567 2009-08-02  Bruno Haible  <bruno@clisp.org>
10568
10569         Implicitly initialize the sockets library.
10570         * lib/gethostname.c: Include sockets.h.
10571         (rpl_gethostname): Invoke gl_sockets_startup.
10572         * lib/socket.c: Include sockets.h.
10573         (rpl_socket): Invoke gl_sockets_startup.
10574         * modules/gethostname (Depends-on): Add sockets.
10575         * modules/socket (Depends-on): Likewise.
10576         * tests/test-poll.c: Don't include sockets.h.
10577         (main): Don't invoke gl_sockets_startup.
10578         * tests/test-select.c: Don't include sockets.h.
10579         (main): Don't invoke gl_sockets_startup.
10580
10581 2009-08-02  Bruno Haible  <bruno@clisp.org>
10582
10583         Allow multiple calls to gl_sockets_startup.
10584         * lib/sockets.c (initialized_sockets_version): New variable.
10585         (gl_sockets_startup): Do nothing if already called for this or a higher
10586         version.
10587         (gl_sockets_cleanup): Reset initialized_sockets_version.
10588
10589 2009-08-03  Simon Josefsson  <simon@josefsson.org>
10590
10591         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
10592         different project/version.
10593
10594 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
10595             Bruno Haible  <bruno@clisp.org>
10596
10597         Tests for module 'pipe-filter-gi'.
10598         * modules/pipe-filter-gi-tests: New file.
10599         * tests/test-pipe-filter-gi1.sh: New file.
10600         * tests/test-pipe-filter-gi1.c: New file.
10601         * tests/test-pipe-filter-gi2.sh: New file.
10602         * tests/test-pipe-filter-gi2-main.c: New file.
10603         * tests/test-pipe-filter-gi2-child.c: New file.
10604
10605         New module 'pipe-filter-gi'.
10606         * lib/pipe-filter-gi.c: New file.
10607         * modules/pipe-filter-gi: New file.
10608
10609 2009-08-02  Bruno Haible  <bruno@clisp.org>
10610             Paolo Bonzini  <bonzini@gnu.org>
10611
10612         Tests for module 'pipe-filter-ii'.
10613         * modules/pipe-filter-ii-tests: New file.
10614         * tests/test-pipe-filter-ii1.sh: New file.
10615         * tests/test-pipe-filter-ii1.c: New file.
10616         * tests/test-pipe-filter-ii2.sh: New file.
10617         * tests/test-pipe-filter-ii2-main.c: New file.
10618         * tests/test-pipe-filter-ii2-child.c: New file.
10619
10620         New module 'pipe-filter-ii'.
10621         * lib/pipe-filter.h: New file.
10622         * lib/pipe-filter-ii.c: New file.
10623         * lib/pipe-filter-aux.h: New file.
10624         * modules/pipe-filter-ii: New file.
10625
10626 2009-08-02  Simon Josefsson  <simon@josefsson.org>
10627
10628         * lib/gc-libgcrypt.c: Change copyright to FSF.
10629         * lib/gc-gnulib.c: Likewise.
10630
10631 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
10632
10633         * lib/gethostname.c: Include limits.h.
10634
10635 2009-08-02  Simon Josefsson  <simon@josefsson.org>
10636             Bruno Haible  <bruno@clisp.org>
10637
10638         Ensure HOST_NAME_MAX as part of the gethostname module.
10639         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
10640         define also HOST_NAME_MAX.
10641         * tests/test-gethostname.c: Include <limits.h>.
10642         (main): Check also HOST_NAME_MAX.
10643         * doc/posix-headers/limits.texi: Document the mingw problem.
10644
10645 2009-08-02  Bruno Haible  <bruno@clisp.org>
10646
10647         * lib/gethostname.c (gethostname): Fix handling of large len argument.
10648         Add comments.
10649
10650 2009-03-31  Simon Josefsson  <simon@josefsson.org>
10651
10652         * lib/gethostname.c: Add Windows wrapper.
10653         * m4/gethostname.m4: Look for gethostname in -lws2_32.
10654         * modules/gethostname: Depend on sys_socket & errno, for also
10655         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
10656         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
10657
10658 2009-07-31  Jim Meyering  <meyering@redhat.com>
10659
10660         getloadavg: fix symbol name in comment
10661         * lib/getloadavg.c: Correct a typo I introduced when adding
10662         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
10663         Matt Kraai spotted the problem.
10664
10665 2009-07-29  Matt Kraai  <mkraai@beckman.com>
10666
10667         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
10668         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
10669         code also if ! defined N_NAME_POINTER.
10670         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
10671         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
10672         but the n_name member is a 12-byte array.
10673
10674 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
10675
10676         update-copyright: generalize comment handling
10677         * build-aux/update-copyright: Handle copyright statements
10678         within more comment styles.
10679         Document usage.
10680         Report any file with an external copyright holder or parse failure.
10681
10682 2009-07-29  Jim Meyering  <meyering@redhat.com>
10683
10684         mktime: correct setting of REPLACE_MKTIME
10685         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
10686
10687         update-copyright: new module
10688         * modules/update-copyright: New file.
10689         * build-aux/update-copyright: New file.
10690         * MODULES.html.sh (maint+release support): Add update-copyright.
10691
10692 2009-07-27  Bruno Haible  <bruno@clisp.org>
10693
10694         Fix compilation error when <ctime> is used and mktime is replaced.
10695         * lib/time.in.h (mktime): New declaration.
10696         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
10697         REPLACE_MKTIME instead of defining mktime in config.h.
10698         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
10699         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
10700         Reported by Ross McFarland <rwmcfa1@neces.com>.
10701
10702 2009-07-27  Bruno Haible  <bruno@clisp.org>
10703
10704         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
10705         Reported by Matt Kraai <mkraai@beckman.com>.
10706
10707 2009-07-25  Jim Meyering  <meyering@redhat.com>
10708
10709         maint.mk: avoid warnings about missing files
10710         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
10711         diagnostic when .prev-version does not exist.
10712         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
10713         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
10714         nonexistent cfg.mk.
10715         Suggestions from Simon Josefsson.
10716
10717 2009-07-25  Bruno Haible  <bruno@clisp.org>
10718
10719         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
10720         defined as macros. Needed on QNX 6.4.1.
10721         Reported by Matt Kraai <mkraai@beckman.com>.
10722
10723 2009-07-23  Jim Meyering  <meyering@redhat.com>
10724
10725         maint.mk: invoke "make dist" with a working value of XZ_OPT
10726         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
10727
10728 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
10729
10730         Make fseeko.c compile on QNX.
10731         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
10732
10733 2009-07-22  Peter Simons  <simons@cryp.to>
10734
10735         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
10736         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
10737         * lib/md4.h: Likewise.
10738         * lib/md5.h: Likewise.
10739         * lib/sha1.h: Likewise.
10740         * lib/sha256.h: Likewise.
10741         * lib/sha512.h: Likewise.
10742
10743         tests-sha1: don't assign literal string to 'char *' variable
10744         * tests/test-sha1.c (main): Declare locals with "const" to match
10745         attributes of the right hand side.
10746
10747 2009-07-21  Eric Blake  <ebb9@byu.net>
10748
10749         dup2: fix more mingw problems
10750         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
10751         fd to itself.
10752         * doc/posix-functions/dup2.texi (dup2): Document the bug.
10753         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
10754         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
10755         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
10756         care of mingw bugs.
10757
10758 2009-07-21  Jim Meyering  <meyering@redhat.com>
10759
10760         vc-list-files: avoid failure when /bin/sh is dash
10761         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
10762         On some Debian based systems, /bin/sh is a symlink to dash, and running
10763         this command would omit the "/" following each 'tests' prefix:
10764           dash -x build-aux/vc-list-files -C . tests
10765         That is because bash and dash work differently:
10766           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
10767           bash ok
10768           dash odd
10769
10770 2009-07-21  Eric Blake  <ebb9@byu.net>
10771
10772         dup2-tests: test previous patch
10773         * modules/dup2-tests: New file.
10774         * tests/test-dup2.c: Likewise.
10775         * tests/test-open.c (main): Avoid unspecified behavior.
10776         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
10777         test.
10778
10779         dup2: work around mingw and cygwin 1.5 bug
10780         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
10781         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10782         * modules/unistd (Makefile.am): Substitute it.
10783         * lib/unistd.in.h (dup2): Declare the replacement.
10784         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
10785         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
10786         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
10787         * modules/execute (Depends-on): Add dup2.
10788         * modules/fseterr (Depends-on): Likewise.
10789         * modules/pipe (Depends-on): Likewise.
10790         * modules/posix_spawn-internal (Depends-on): Likewise.
10791
10792 2009-07-21  Bruno Haible  <bruno@clisp.org>
10793
10794         * modules/.gitattributes: New file.
10795
10796 2009-07-20  Bruno Haible  <bruno@clisp.org>
10797
10798         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
10799         (main): Use it.
10800
10801 2009-07-20  Eric Blake  <ebb9@byu.net>
10802
10803         test-pipe: make a bit more robust.
10804         * tests/test-pipe.c (myerr): Allow error messages regardless of
10805         what we do to stderr.
10806         (test_pipe): Rearrange to avoid deadlock.
10807         (child_main): Try a larger read, to ensure we avoided deadlock.
10808         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
10809         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
10810         if misused.
10811
10812 2009-07-19  Jim Meyering  <meyering@redhat.com>
10813
10814         fts: avoid false-positive cycle-detection
10815         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
10816         for each new command line argument.
10817
10818 2009-07-19  Bruno Haible  <bruno@clisp.org>
10819
10820         Fix build error on mingw with the modules sys_select and unistd.
10821         * modules/acl-tests (Depends-on): Add close.
10822         * modules/binary-io-tests (Depends-on): Likewise.
10823         * modules/closein-tests (Depends-on): Likewise.
10824         * modules/flock-tests (Depends-on): Likewise.
10825         * modules/fsync-tests (Depends-on): Likewise.
10826         * modules/lseek-tests (Depends-on): Likewise.
10827         * modules/pipe-tests (Depends-on): Likewise.
10828         * modules/posix_spawn-tests (Depends-on): Likewise.
10829         * modules/posix_spawnp-tests (Depends-on): Likewise.
10830         * modules/stat-time-tests (Depends-on): Likewise.
10831         * modules/yesno-tests (Depends-on): Likewise.
10832
10833 2009-07-19  Bruno Haible  <bruno@clisp.org>
10834
10835         Unify conditionals.
10836         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
10837         macros, not at the compiler macros.
10838         * lib/pipe.c: Likewise.
10839         * lib/execute.c: Likewise.
10840         * lib/spawni.c: Likewise.
10841
10842 2009-07-19  Bruno Haible  <bruno@clisp.org>
10843
10844         Fix handling of closed stdin/stdout/stderr on mingw.
10845         * lib/w32spawn.h: Include unistd.h.
10846         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
10847         file descriptor with O_NOINHERIT flag.
10848         (fd_safer_noinherit): New function, based on fd-safer.c.
10849         (dup_safer_noinherit): New function, based on dup-safer.c.
10850         (undup_safer_noinherit): New function.
10851         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
10852         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
10853         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
10854         instead of fd_safer.
10855         * tests/test-pipe.c: Include <windows.h>.
10856         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
10857
10858         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
10859         from main.
10860         (test_pipe): Pass an extra argument for disambiguation.
10861         (main): Invoke parent_main or child_main.
10862
10863         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
10864         consistently.
10865
10866 2009-07-18  Eric Blake  <ebb9@byu.net>
10867
10868         test-pipe: fix mingw build
10869         * tests/test-pipe.c (main): Avoid fcntl on mingw.
10870
10871 2009-07-18  Bruno Haible  <bruno@clisp.org>
10872
10873         * modules/pipe-tests (Makefile.am): Fix typo.
10874
10875 2009-07-18  Eric Blake  <ebb9@byu.net>
10876
10877         error: fix mingw build
10878         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
10879         Reported by Bruno Haible.
10880
10881         error: avoid undefined use of stdout
10882         * lib/error.c (error, error_at_line): Check that fd 1 is open
10883         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
10884         is handling faults and the close_stdout module wants to report the
10885         detection of closed stdout as an error.
10886
10887 2009-07-17  Eric Blake  <ebb9@byu.net>
10888
10889         pipe: be robust in face of closed fds
10890         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
10891         should cause child to misbehave.
10892         * modules/pipe-tests: New module.
10893         * tests/test-pipe.c: New file.
10894         * tests/test-pipe.sh: New file.
10895         Reported by Akim Demaille.
10896
10897 2009-07-14  Bruno Haible  <bruno@clisp.org>
10898
10899         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
10900         Reported by anonymous kc.
10901
10902 2009-07-07  Jim Meyering  <meyering@redhat.com>
10903
10904         maint.mk: don't look for translatable strings in *.m4 or *.mk
10905         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
10906         when searching for translatable strings.
10907
10908 2009-07-05  Jim Meyering  <meyering@redhat.com>
10909
10910         remove superfluous parentheses in STREQ definition
10911         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
10912         * lib/getugroups.c (STREQ): Likewise.
10913         * lib/fnmatch.c (STREQ): Likewise.
10914         Spotted by Bruno Haible.
10915
10916 2009-07-04  Jim Meyering  <meyering@redhat.com>
10917
10918         argv-iter: new module
10919         * MODULES.html.sh: Add argv-iter.
10920         * lib/argv-iter.c, lib/argv-iter.h: New files.
10921         * modules/argv-iter: New file.
10922         * modules/argv-iter-tests: New file.
10923         * tests/test-argv-iter.c: Test it.
10924
10925 2009-07-04  Bruno Haible  <bruno@clisp.org>
10926
10927         Fix assertion.
10928         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
10929         contains more exact copies of a given entry than file2, leave the extra
10930         copies unpaired rather than aborting.
10931         Reported by Eric Blake.
10932
10933 2009-07-02  Bruno Haible  <bruno@clisp.org>
10934
10935         Speedup git-merge-changelog for git cherry-pick.
10936         * lib/git-merge-changelog.c (struct entries_mapping): New type.
10937         (entries_mapping_get): New function, extracted from compute_mapping.
10938         (entries_mapping_reverse_get): New function.
10939         (compute_mapping): Add a 'full' argument. Return the result in a
10940         'struct entries_mapping'.
10941         (main): Update. Access the mappings through entries_mapping_get.
10942         Reported by Eric Blake.
10943
10944 2009-07-02  Bruno Haible  <bruno@clisp.org>
10945
10946         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
10947         best_i.
10948
10949 2009-07-02  Bruno Haible  <bruno@clisp.org>
10950
10951         Speed up approximate search for matching ChangeLog entries.
10952         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
10953         argument. Call fstrcmp_bounded instead of fstrcmp.
10954         (compute_mapping, try_split_merged_entry, main): Update callers.
10955
10956 2009-07-02  Bruno Haible  <bruno@clisp.org>
10957
10958         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
10959
10960 2009-06-30  Bruno Haible  <bruno@clisp.org>
10961
10962         Reduce the number of uc_is_cased calls.
10963         * lib/unicase.h (casing_suffix_context_t): Add
10964         'first_char_except_ignorable' field.
10965         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
10966         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
10967         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
10968         Update initializer.
10969         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
10970         case-ignorable characters.
10971         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
10972         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
10973         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
10974         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
10975         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
10976
10977 2009-06-30  Bruno Haible  <bruno@clisp.org>
10978
10979         Tests for module 'unicase/ignorable'.
10980         * modules/unicase/ignorable-tests: New file.
10981         * tests/unicase/test-ignorable.c: New file, generated by
10982         gen-uni-tables.
10983
10984         Tests for module 'unicase/cased'.
10985         * modules/unicase/cased-tests: New file.
10986         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
10987         * tests/unicase/test-predicate-part1.h: New file, derived from
10988         tests/unictype/test-predicate-part1.h.
10989         * tests/unicase/test-predicate-part2.h: New file, same as
10990         tests/unictype/test-predicate-part2.h.
10991
10992         Fix evaluation of "Before C" condition of FINAL_SIGMA.
10993         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
10994         (output_casing_properties): New function.
10995         (main): Call it.
10996         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
10997         * lib/unicase/cased.c: Include unictype/bitmap.h.
10998         (uc_is_cased): Define through a bitmap lookup.
10999         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
11000         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
11001         (uc_is_case_ignorable): Define through a bitmap lookup.
11002         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
11003         lib/unictype/bitmap.h.
11004         (Depends-on): Add inline. Clean up.
11005         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
11006         lib/unictype/bitmap.h.
11007         (Depends-on): Add inline. Clean up.
11008         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
11009         recognition.
11010         * tests/unicase/test-u16-tolower.c (main): Likewise.
11011         * tests/unicase/test-u32-tolower.c (main): Likewise.
11012
11013 2009-06-30  Bruno Haible  <bruno@clisp.org>
11014
11015         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
11016         * lib/unicase/u16-casemap.c: Likewise.
11017         * lib/unicase/u32-casemap.c: Likewise.
11018
11019 2009-06-29  Bruno Haible  <bruno@clisp.org>
11020
11021         Define u32_casefold as a wrapper around u32_ct_casefold.
11022         * lib/unicase/u32-casefold.c: Update.
11023         * modules/unicase/u32-casefold (Depends-on): Add
11024         unicase/u32-ct-casefold, unicase/empty-prefix-context,
11025         unicase/empty-suffix-context. Clean up.
11026
11027         Define u16_casefold as a wrapper around u16_ct_casefold.
11028         * lib/unicase/u16-casefold.c: Update.
11029         * modules/unicase/u16-casefold (Depends-on): Add
11030         unicase/u16-ct-casefold, unicase/empty-prefix-context,
11031         unicase/empty-suffix-context. Clean up.
11032
11033         Define u8_casefold as a wrapper around u8_ct_casefold.
11034         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
11035         * lib/unicase/u8-casefold.c: Update.
11036         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
11037         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
11038
11039         Define u32_totitle as a wrapper around u32_ct_totitle.
11040         * lib/unicase/u32-totitle.c: Update.
11041         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
11042         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
11043
11044         Define u16_totitle as a wrapper around u16_ct_totitle.
11045         * lib/unicase/u16-totitle.c: Update.
11046         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
11047         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
11048
11049         Define u8_totitle as a wrapper around u8_ct_totitle.
11050         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
11051         functions.
11052         (FUNC): Delegate to U_CT_TOTITLE.
11053         * lib/unicase/u8-totitle.c: Update.
11054         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
11055         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
11056
11057         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
11058         invocation.
11059         * modules/unicase/u32-tolower (Depends-on): Add
11060         unicase/empty-prefix-context, unicase/empty-suffix-context.
11061
11062         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
11063         invocation.
11064         * modules/unicase/u16-tolower (Depends-on): Add
11065         unicase/empty-prefix-context, unicase/empty-suffix-context.
11066
11067         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
11068         * modules/unicase/u8-tolower (Depends-on): Add
11069         unicase/empty-prefix-context, unicase/empty-suffix-context.
11070
11071         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
11072         invocation.
11073         * modules/unicase/u32-toupper (Depends-on): Add
11074         unicase/empty-prefix-context, unicase/empty-suffix-context.
11075
11076         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
11077         invocation.
11078         * modules/unicase/u16-toupper (Depends-on): Add
11079         unicase/empty-prefix-context, unicase/empty-suffix-context.
11080
11081         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
11082         * modules/unicase/u8-toupper (Depends-on): Add
11083         unicase/empty-prefix-context, unicase/empty-suffix-context.
11084
11085         New module 'unicase/u32-ct-casefold'.
11086         * lib/unicase/u32-ct-casefold.c: New file.
11087         * modules/unicase/u32-ct-casefold: New file.
11088
11089         New module 'unicase/u16-ct-casefold'.
11090         * lib/unicase/u16-ct-casefold.c: New file.
11091         * modules/unicase/u16-ct-casefold: New file.
11092
11093         New module 'unicase/u8-ct-casefold'.
11094         * lib/unicase/u8-ct-casefold.c: New file.
11095         * lib/unicase/u-ct-casefold.h: New file, derived from
11096         lib/unicase/u-casefold.h.
11097         * modules/unicase/u8-ct-casefold: New file.
11098
11099         New module 'unicase/u32-ct-totitle'.
11100         * lib/unicase/u32-ct-totitle.c: New file.
11101         * modules/unicase/u32-ct-totitle: New file.
11102
11103         New module 'unicase/u16-ct-totitle'.
11104         * lib/unicase/u16-ct-totitle.c: New file.
11105         * modules/unicase/u16-ct-totitle: New file.
11106
11107         New module 'unicase/u8-ct-totitle'.
11108         * lib/unicase/u8-ct-totitle.c: New file.
11109         * lib/unicase/u-ct-totitle.h: New file, derived from
11110         lib/unicase/u-totitle.h.
11111         * modules/unicase/u8-ct-totitle: New file.
11112
11113         New module 'unicase/u32-ct-tolower'.
11114         * lib/unicase/u32-ct-tolower.c: New file.
11115         * modules/unicase/u32-ct-tolower: New file.
11116
11117         New module 'unicase/u16-ct-tolower'.
11118         * lib/unicase/u16-ct-tolower.c: New file.
11119         * modules/unicase/u16-ct-tolower: New file.
11120
11121         New module 'unicase/u8-ct-tolower'.
11122         * lib/unicase/u8-ct-tolower.c: New file.
11123         * modules/unicase/u8-ct-tolower: New file.
11124
11125         New module 'unicase/u32-ct-toupper'.
11126         * lib/unicase/u32-ct-toupper.c: New file.
11127         * modules/unicase/u32-ct-toupper: New file.
11128
11129         New module 'unicase/u16-ct-toupper'.
11130         * lib/unicase/u16-ct-toupper.c: New file.
11131         * modules/unicase/u16-ct-toupper: New file.
11132
11133         New module 'unicase/u8-ct-toupper'.
11134         * lib/unicase/u8-ct-toupper.c: New file.
11135         * modules/unicase/u8-ct-toupper: New file.
11136
11137         Add context arguments to u*_casemap functions.
11138         * lib/unicase/unicasemap.h: Include unicase.h.
11139         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
11140         suffix_context arguments.
11141         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
11142         functions.
11143         (FUNC): Add prefix_context and suffix_context arguments. Use
11144         uc_is_cased and uc_is_case_ignorable.
11145         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
11146         * lib/unicase/u16-casemap.c: Likewise.
11147         * lib/unicase/u32-casemap.c: Likewise.
11148         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
11149         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
11150         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
11151         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
11152         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
11153         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
11154
11155         New module 'unicase/u32-suffix-context'.
11156         * lib/unicase/u32-suffix-context.c: New file.
11157         * modules/unicase/u32-suffix-context: New file.
11158
11159         New module 'unicase/u16-suffix-context'.
11160         * lib/unicase/u16-suffix-context.c: New file.
11161         * modules/unicase/u16-suffix-context: New file.
11162
11163         New module 'unicase/u8-suffix-context'.
11164         * lib/unicase/u8-suffix-context.c: New file.
11165         * lib/unicase/u-suffix-context.h: New file.
11166         * modules/unicase/u8-suffix-context: New file.
11167
11168         New module 'unicase/empty-suffix-context'.
11169         * lib/unicase/empty-suffix-context.c: New file.
11170         * modules/unicase/empty-suffix-context: New file.
11171
11172         New module 'unicase/u32-prefix-context'.
11173         * lib/unicase/u32-prefix-context.c: New file.
11174         * modules/unicase/u32-prefix-context: New file.
11175
11176         New module 'unicase/u16-prefix-context'.
11177         * lib/unicase/u16-prefix-context.c: New file.
11178         * modules/unicase/u16-prefix-context: New file.
11179
11180         New module 'unicase/u8-prefix-context'.
11181         * lib/unicase/u8-prefix-context.c: New file.
11182         * lib/unicase/u-prefix-context.h: New file.
11183         * lib/unicase/context.h: New file.
11184         * modules/unicase/u8-prefix-context: New file.
11185
11186         New module 'unicase/empty-prefix-context'.
11187         * lib/unicase/empty-prefix-context.c: New file.
11188         * modules/unicase/empty-prefix-context: New file.
11189
11190         New module 'unicase/ignorable'.
11191         * lib/unicase/ignorable.c: New file.
11192         * modules/unicase/ignorable: New file.
11193
11194         New module 'unicase/cased'.
11195         * lib/unicase/caseprop.h: New file.
11196         * lib/unicase/cased.c: New file.
11197         * modules/unicase/cased: New file.
11198
11199         New functions for case mapping of substrings.
11200         * lib/unicase.h (casing_prefix_context_t): New type.
11201         (unicase_empty_prefix_context): New variable.
11202         (u8_casing_prefix_context, u16_casing_prefix_context,
11203         u32_casing_prefix_context, u8_casing_prefixes_context,
11204         u16_casing_prefixes_context, u32_casing_prefixes_context): New
11205         declarations.
11206         (casing_suffix_context_t): New type.
11207         (unicase_empty_suffix_context): New variable.
11208         (u8_casing_suffix_context, u16_casing_suffix_context,
11209         u32_casing_suffix_context, u8_casing_suffixes_context,
11210         u16_casing_suffixes_context, u32_casing_suffixes_context,
11211         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
11212         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
11213         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
11214         declarations.
11215
11216 2009-06-28  Jim Meyering  <meyering@redhat.com>
11217
11218         boostrap: indent only with spaces
11219         * build-aux/bootstrap: Indent only with spaces, never TABs.
11220
11221         bootstrap: split long lines
11222         * build-aux/bootstrap: Keep line length < 80.
11223
11224         bootstrap: sync from coreutils
11225         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
11226         just as autoreconf does.  Verify a list of prerequisite
11227         package-name,version-number pairs if defined in bootstrap.conf.
11228         Refer to README-prereq, if prerequisites are not satisfied.
11229
11230 2009-06-27  Eric Blake  <ebb9@byu.net>
11231
11232         tests: add test for bogus NULL definition
11233         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
11234         * tests/test-stdlib.c: Likewise.
11235         * tests/test-string.c: Likewise.
11236         * tests/test-locale.c: Likewise.
11237         * tests/test-unistd.c: Likewise.
11238         * modules/stdio-tests (Depends-on): Add verify.
11239         * modules/stdlib-tests (Depends-on): Likewise.
11240         * modules/string-tests (Depends-on): Likewise.
11241         * modules/locale-tests (Depends-on): Likewise.
11242         * modules/unistd-tests (Depends-on): Likewise.
11243
11244 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
11245
11246         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
11247         self-explaining comment.
11248         * m4/selinux-selinux-h: Update serial.
11249         (gl_LIBSELINUX): New macro, adding a warning for missing development
11250         packages to code extracted from...
11251         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
11252         Add warning for missing development packages here, too.
11253
11254 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
11255
11256         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
11257
11258 2009-06-25  Eric Blake  <ebb9@byu.net>
11259
11260         version-etc: fix regression
11261         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
11262         gcc.
11263         (version_etc): Use it, to catch bugs with trailing NULL.
11264         * lib/version-etc.c (version_etc_arn): Delete unused argument.
11265         (version_etc_va): Fix logic bug.
11266         * modules/version-etc-tests: Add test.
11267         * tests/test-version-etc.c: New file.
11268         * tests/test-version-etc.sh: Likewise.
11269
11270 2009-06-25  Sam Steingold  <sds@gnu.org>
11271
11272         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
11273         mbtowc declaration.
11274
11275 2009-06-25  Eric Blake  <ebb9@byu.net>
11276
11277         fpurge: migrate into <stdio.h>
11278         * lib/fpurge.h: Delete...
11279         * lib/stdio.in.h (fpurge): ...and declare here, instead.
11280         * lib/fpurge.c (fpurge): Change declaring header.
11281         * modules/fpurge (Files): Drop deleted file.
11282         (Depends-on): Add stdio.
11283         (configure.ac): Set witness.
11284         * modules/stdio (Makefile.am): Support fpurge macros.
11285         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
11286         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
11287         * lib/fflush.c: Update client.
11288         * tests/test-fpurge.c: Likewise.
11289         * NEWS: Mention the change.
11290
11291 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
11292
11293         * lib/argp-version-etc.c (program_authors): Add const
11294         qualifier.
11295         * lib/version-etc.c: Fix typos in the comments.
11296         * modules/argp-version-etc: Depends on version-etc.
11297
11298 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
11299
11300         argp-version-etc: new module.
11301
11302         * lib/argp-version-etc.c: New file.
11303         * lib/argp-version-etc.h: New file.
11304         * modules/argp-version-etc: New file.
11305         * modules/argp-version-etc-tests: New file.
11306         * tests/test-argp-version-etc.c: New test.
11307         * tests/test-argp-version-etc-1.sh: New test.
11308
11309 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
11310
11311         Provide additional interfaces and documentation for version-etc
11312         module.
11313
11314         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
11315         interfaces.
11316         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
11317         prototypes.
11318
11319 2009-06-24  Bruno Haible  <bruno@clisp.org>
11320
11321         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
11322         HAVE_LIB${NAME} macro.
11323         Reported by Sam Steingold <sds@gnu.org>.
11324
11325 2009-06-23  Simon Josefsson  <simon@josefsson.org>
11326
11327         * modules/hash-tests (test_hash_LDADD): Link to libintl when
11328         needed.
11329
11330 2009-06-21  Bruno Haible  <bruno@clisp.org>
11331
11332         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
11333         work.
11334         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
11335         together with LIB${NAME}, LTLIB${NAME}.
11336         Reported by Sam Steingold <sds@gnu.org>.
11337
11338 2009-06-20  Jim Meyering  <meyering@redhat.com>
11339
11340         tests: make sc_require_test_exit_idiom more generic
11341         * top/maint.mk (Exit_witness_file): New overridable variable.
11342         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
11343         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
11344
11345 2009-06-19  Jim Meyering  <meyering@redhat.com>
11346
11347         hash: reverse order of src/dst parameters in an internal interface
11348         * lib/hash.c (transfer_entries): Reverse order of parameters to
11349         put DST before SRC.  Adjust callers.
11350
11351         tests: test-hash: avoid wholesale duplication
11352         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
11353         Instead, use a loop and add a single conditional.
11354
11355         tests: test-hash: allow seed selection via a command line argument
11356         * tests/test-hash.c (get_seed): New function.
11357         (main): Use it.
11358
11359 2009-06-19  Eric Blake  <ebb9@byu.net>
11360
11361         hash: avoid memory leak on allocation failure
11362         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
11363         failure.  Factor repeated algorithm...
11364         (transfer_entries): ...into new helper routine.
11365         (hash_delete): React to hash_rehash return value.
11366
11367         hash: reduce memory pressure in hash_rehash no-op case
11368         * lib/hash.c (next_prime): Avoid overflow.
11369         (hash_initialize): Factor bucket size computation...
11370         (compute_bucket_size): ...into new helper function.
11371         (hash_rehash): Use new function and open coding to reduce memory
11372         pressure, and avoid a memory leak in USE_OBSTACK code.
11373         Reported by Jim Meyering.
11374
11375 2009-06-18  Eric Blake  <ebb9@byu.net>
11376
11377         hash: make rotation more obvious
11378         * modules/hash (Depends-on): Add bitrotate and stdint.
11379         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
11380         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
11381         (SIZE_MAX): Rely on headers for definition.
11382         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
11383         (raw_hasher): Use rotr_sz.
11384         Suggested by Jim Meyering.
11385
11386         hash: fix memory leak in last patch
11387         * lib/hash.c (hash_rehash): Avoid memory leak.
11388
11389         hash: avoid no-op rehashing
11390         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
11391
11392         hash: provide default callback functions
11393         * lib/hash.c (raw_hasher, raw_comparator): New functions.
11394         (hash_initialize): Use them as defaults.
11395         * tests/test-hash.c (main): Test this.
11396
11397         hash: minor optimization
11398         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
11399         when possible.
11400         (hash_initialize): Document this promise.
11401         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
11402         * tests/test-hash.c (hash_compare_strings): Test this.
11403
11404 2009-06-18  Bruno Haible  <bruno@clisp.org>
11405
11406         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
11407         going to be replaced anyway.
11408
11409 2009-06-18  Bruno Haible  <bruno@clisp.org>
11410
11411         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
11412         in one place.
11413         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
11414         be replaced anyway.
11415
11416 2009-06-18  Eric Blake  <ebb9@byu.net>
11417
11418         hash: check for resize before insertion
11419         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
11420         threshold before insertion, so that a pathological hash_rehash
11421         that fills every bucket can still trigger another rehash.
11422
11423 2009-06-18  Jim Meyering  <meyering@redhat.com>
11424
11425         hash-tests: add a loop around the small tests
11426         * tests/test-hash.c (main): Repeat small tests with selected
11427         small initial table sizes.
11428
11429 2009-06-17  Eric Blake  <ebb9@byu.net>
11430
11431         hash: minor cleanups
11432         * lib/hash.h (hash_entry): Make opaque, by moving...
11433         * lib/hash.c (hash_entry): ...here.
11434         (hash_insert): Clarify restrictions on what can be inserted.
11435         (hash_get_next): Clarify when it is safe to remove an element
11436         during traversal.
11437         (check_tuning): Skip verification when tuning is known safe.
11438         (hash_initialize): Clarify restrictions on tuning.
11439
11440 2009-06-17  Jim Meyering  <jim@meyering.net>
11441         and Eric Blake  <ebb9@byu.net>
11442
11443         hash-tests: new module
11444         * modules/hash-tests: New file.
11445         * tests/test-hash.c: New file.
11446
11447 2009-06-17  Eric Blake  <ebb9@byu.net>
11448
11449         strstr-simple: document new module
11450         * MODULES.html.sh: Document new module.
11451
11452         strstr, strcasestr: replace on platforms with broken memchr
11453         * modules/strstr: Split into...
11454         * modules/strstr-simple: ...new module that does not care about
11455         performance, but does care about glibc bug.
11456         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
11457         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
11458         if platform memchr is broken, per Debian bug 521737.
11459         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
11460         memchr.
11461         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
11462         * doc/posix-functions/strstr.texi (strstr): Document the fix.
11463         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
11464         * modules/mountlist (Depends-on): Add strstr-simple.
11465         * modules/gen-uni-tables (Depends-on): Likewise.
11466         * modules/argz (Depends-on): Add strstr.
11467
11468 2009-06-17  Bruno Haible  <bruno@clisp.org>
11469
11470         * modules/posix_spawn-internal (Depends-on): Add errno.
11471
11472 2009-06-17  Bruno Haible  <bruno@clisp.org>
11473
11474         Define missing ESTALE on Interix 3.5.
11475         * lib/errno.in.h (ESTALE): Assign a value if missing.
11476         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
11477         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
11478         missing.
11479         * doc/posix-headers/errno.texi: Mention the Interix bug.
11480         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
11481
11482 2009-06-15  Eric Blake  <ebb9@byu.net>
11483
11484         memchr, memchr2: add valgrind exception
11485         * lib/memchr.valgrind: New file.
11486         * lib/memchr2.valgrind: New file.
11487         * modules/memchr (Files): Distribute valgrind file.
11488         * modules/memchr2 (Files): Likewise.
11489
11490         docs: memchr is no longer obsolete
11491         * MODULES.html.sh: Move memchr from obsolete to string.h section.
11492         * lib/string.in.h (memchr): Simplify logic.
11493
11494 2009-06-14  Jim Meyering  <meyering@redhat.com>
11495
11496         link-follow: fix the "checking..." message to not mention trailing slash
11497         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
11498         never considered trailing slashes.
11499
11500 2009-06-14  Bruno Haible  <bruno@clisp.org>
11501
11502         * m4/memchr.m4: Mention also the bug on IA-64.
11503         * doc/posix-functions/memchr.texi: Likewise.
11504
11505 2009-06-12  Eric Blake  <ebb9@byu.net>
11506
11507         memchr: detect broken x86_64 and alpha implementations
11508         * modules/memchr-tests (Depends-on): Move mmap detection...
11509         * modules/memchr (Depends-on): ...here.
11510         (configure.ac): Set indicator.
11511         * lib/string.in.h (memchr): Declare replacement.
11512         * modules/string (Makefile.am): Trigger replacement.
11513         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
11514         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
11515         bugs.
11516         * doc/posix-functions/memchr.texi (memchr): Document the bug.
11517         * modules/getpagesize (License): Relax license.
11518
11519 2009-06-11  Bruno Haible  <bruno@clisp.org>
11520
11521         * lib/idpriv.h: Add more references.
11522
11523 2009-06-08  Bruno Haible  <bruno@clisp.org>
11524
11525         Tests for module 'idpriv-droptemp'.
11526         * modules/idpriv-droptemp-tests: New file.
11527         * tests/test-idpriv-droptemp.sh: New file.
11528         * tests/test-idpriv-droptemp.su.sh: New file.
11529         * tests/test-idpriv-droptemp.c: New file.
11530
11531         New module 'idpriv-droptemp'.
11532         * lib/idpriv-droptemp.c: New file.
11533         * modules/idpriv-droptemp: New file.
11534
11535 2009-06-08  Bruno Haible  <bruno@clisp.org>
11536
11537         Tests for module 'idpriv-drop'.
11538         * modules/idpriv-drop-tests: New file.
11539         * tests/test-idpriv-drop.sh: New file.
11540         * tests/test-idpriv-drop.su.sh: New file.
11541         * tests/test-idpriv-drop.c: New file.
11542
11543         New module 'idpriv-drop'.
11544         * lib/idpriv.h: New file.
11545         * lib-idpriv-drop.c: New file.
11546         * m4/idpriv.m4: New file.
11547         * modules/idpriv-drop: New file.
11548
11549 2009-06-08  Bruno Haible  <bruno@clisp.org>
11550
11551         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
11552         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
11553         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
11554         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
11555         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
11556         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
11557         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
11558
11559 2009-06-08  Eric Blake  <ebb9@byu.net>
11560
11561         test-strstr: use memory fence, when possible
11562         * tests/test-strstr.c (main): Use memory fence, in order to be
11563         more likely to trigger Debian bug 521737.
11564         * modules/strstr-tests (Files): Pull in additional files.
11565
11566         memchr: no longer obsolete, for wider field testing
11567         * modules/memchr (Status, Notice): Delete, this module is no
11568         longer obsolete.
11569         * modules/vasnprintf (Depends-on): Add memchr.
11570
11571 2009-06-07  Jim Meyering  <meyering@redhat.com>
11572
11573         hash: declare some functions with the warn_unused_result attribute
11574         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
11575
11576 2009-06-07  Bruno Haible  <bruno@clisp.org>
11577
11578         * tests/test-alignof.c: Don't test int64_t if it does not exist.
11579         Reported by Eric Blake.
11580
11581 2009-06-06  Eric Blake  <ebb9@byu.net>
11582
11583         test-alignof: fix typo with long double
11584         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
11585         compiler error.
11586
11587 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
11588
11589         Escape non-texinfo { and }s.
11590         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
11591         markup error.
11592
11593 2009-06-04  Jim Meyering  <meyering@redhat.com>
11594
11595         gitlog-to-changelog: don't infloop on an empty commit log
11596         * build-aux/gitlog-to-changelog: Warn about an empty log message.
11597         Reported by Boris Petersen <transacid@centerim.org>.
11598
11599 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
11600
11601         version-etc: extend for packagers
11602         Add three new configure options, intended for packagers:
11603           --with-packager="packager name"
11604           --with-packager-version="packager-specific version"
11605           --with-packager-bug-reports="packager bug reporting"
11606         An example with coreutils:
11607           $ ./configure \
11608             --with-packager=Gentoo \
11609             --with-packager-bug-report=http://bugs.gentoo.org/ \
11610             --with-packager-version="patchset 1.6"
11611           $ ./src/ls --version | head -n2
11612           ls (GNU coreutils) 7.1-dirty
11613           Packaged by Gentoo (patchset 1.6)
11614         Note that the bug reporting info via --help doesn't show up because
11615         coreutils uses its own custom emit_bug_reporting_address() implementation
11616         in src/system.h.  If it didn't, it'd look like:
11617           $ ./src/ls --help | tail -n4
11618           Report bugs to <bug-coreutils@gnu.org>.
11619           Report Gentoo bugs to <http://bugs.gentoo.org/>.
11620           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
11621           General help using GNU software: <http://www.gnu.org/gethelp/>.
11622         * lib/version-etc.c: Print new information, if provided.
11623         * m4/version-etc.m4: New file.
11624         * modules/version-etc (Files): Add m4/version-etc.m4.
11625         (configure.ac): Add gl_VERSION_ETC.
11626
11627 2009-05-31  Bruno Haible  <bruno@clisp.org>
11628
11629         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
11630         and 'int64_t'.
11631         * modules/alignof-tests (Dependencies): Add stdint.
11632         Reported by Eric Blake.
11633
11634 2009-05-31  Bruno Haible  <bruno@clisp.org>
11635
11636         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
11637         restriction due to compiler bugs.
11638         Reported by Eric Blake.
11639
11640 2009-05-31  Simon Josefsson  <simon@josefsson.org>
11641             Bruno Haible  <bruno@clisp.org>
11642
11643         Fix test-alignof failure.
11644         * lib/alignof.h (alignof_slot): New macro.
11645         (alignof_type): New macro, with the same semantics as the previous
11646         'alignof'.
11647         (alignof): Alias to alignof_slot.
11648         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
11649         check that the results are usable as constant expressions.
11650
11651 2009-05-31  Bruno Haible  <bruno@clisp.org>
11652
11653         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
11654         * tests/test-memchr.c (main): Check that memchr does not read past the
11655         first occurrence of the byte.
11656         * tests/test-strstr.c (main): Update comment.
11657         Suggested by Eric Blake.
11658
11659 2009-05-30  Bruno Haible  <bruno@clisp.org>
11660
11661         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
11662         detail how to use dumpbin.
11663         Reported by David Byron <dbyron@dbyron.com>.
11664
11665 2009-06-02  Simon Josefsson  <simon@josefsson.org>
11666
11667         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
11668
11669 2009-06-02  Simon Josefsson  <simon@josefsson.org>
11670
11671         * m4/manywarnings.m4: Add GCC 4.4 warnings.
11672
11673 2009-05-28  Bruno Haible  <bruno@clisp.org>
11674
11675         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
11676         build-aux/ files.
11677
11678 2009-05-28  Simon Josefsson  <simon@josefsson.org>
11679
11680         * gnulib-tool (func_import): Transform license on build-aux/ files too.
11681
11682 2009-05-27  Simon Josefsson  <simon@josefsson.org>
11683
11684         * gnulib-tool (sed_transform_main_lib_file)
11685         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
11686         regexps.
11687
11688 2009-05-26  Simon Josefsson  <simon@josefsson.org>
11689
11690         * tests/test-strstr.c: Add another self-test.
11691         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
11692         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
11693
11694 2009-05-23  Bruno Haible  <bruno@clisp.org>
11695
11696         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
11697         change.
11698
11699 2009-05-21  Bruno Haible  <bruno@clisp.org>
11700
11701         Simplify use of mode_t varargs.
11702         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
11703         uses 'mode_t' or 'int'.
11704         * lib/openat.c (openat): Likewise.
11705         * lib/open-safer.c (open_safer): Likewise.
11706         * m4/mode_t.m4: New file.
11707         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
11708         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
11709         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
11710         * modules/open (Files): Add m4/mode_t.m4.
11711         * modules/openat (Files): Likewise.
11712         * modules/fcntl-safer (Files): Likewise.
11713         Suggested by Eric Blake.
11714
11715 2009-05-21  Pádraig Brady  <P@draigbrady.com>
11716
11717         * doc/glibc-functions/fallocate.texi: New file.
11718         * doc/gnulib.texi: Include it.
11719
11720 2009-05-21  Eric Blake  <ebb9@byu.net>
11721             Bruno Haible  <bruno@clisp.org>
11722
11723         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
11724         invocations.
11725         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
11726
11727 2009-05-21  Eric Blake  <ebb9@byu.net>
11728             Bruno Haible  <bruno@clisp.org>
11729
11730         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
11731         include_next. Fix of 2008-11-20 commit.
11732         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
11733         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
11734         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
11735         NEXT_MATH_H.
11736         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
11737         instead of NEXT_MATH_H.
11738
11739 2009-05-21  Bruno Haible  <bruno@clisp.org>
11740
11741         Avoid redefinition warnings for SIZE_MAX.
11742         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
11743         Reported by Simon Josefsson.
11744
11745 2009-05-21  Bruno Haible  <bruno@clisp.org>
11746
11747         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
11748         AC_CACHE_VAL.
11749
11750 2009-05-20  Bruno Haible  <bruno@clisp.org>
11751
11752         Make zeroptr.h work on mingw.
11753         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
11754         mprotect.
11755         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
11756         * modules/memchr2-tests (configure.ac): Likewise.
11757         * modules/memcmp-tests (configure.ac): Likewise.
11758         * modules/memmem-tests (configure.ac): Likewise.
11759         * modules/memrchr-tests (configure.ac): Likewise.
11760         Reported by Simon Josefsson.
11761
11762 2009-05-20  Simon Josefsson  <simon@josefsson.org>
11763
11764         * tests/test-glob.c: Include string.h for strcmp prototype.
11765
11766 2009-05-20  Simon Josefsson  <simon@josefsson.org>
11767
11768         * modules/getdelim (Depends-on): Add explicit stdint, although it
11769         was implicitly already pulled in via realloc-posix.
11770         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
11771
11772 2009-05-20  Simon Josefsson  <simon@josefsson.org>
11773
11774         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
11775         G. Christensen" <tgc@jupiterrise.com>.
11776         * m4/sys_socket_h.m4: Check for sa_family_t.
11777         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
11778         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
11779         * tests/test-sys_socket.c: Check that sa_family_t works.
11780
11781 2009-05-18  Eric Blake  <ebb9@byu.net>
11782
11783         maint.mk: allow gnulib_dir in VPATH build
11784         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
11785
11786 2009-05-15  Jim Meyering  <meyering@redhat.com>
11787
11788         maint.mk: Give gnulib_dir a default definition.
11789         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
11790         Thus, most packages no longer need to specify this variable in cfg.mk
11791
11792 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
11793
11794         rename.m4: fix typos that would make non-mingw cross-configure fail
11795         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
11796
11797 2009-05-13  Eric Blake  <ebb9@byu.net>
11798
11799         mmap-anon: avoid out-of-order autoconf expansion
11800         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
11801         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
11802         * modules/memchr-tests (Depends-on): Add extensions.
11803         * modules/memchr2-tests (Depends-on): Add extensions.
11804         * modules/memcmp-tests (Depends-on): Add extensions.
11805         * modules/memmem-tests (Depends-on): Add extensions.
11806         * modules/memrchr-tests (Depends-on): Add extensions.
11807
11808 2009-05-13  Bruno Haible  <bruno@clisp.org>
11809
11810         Make some tests ISO C 99 compliant.
11811         * tests/zerosize-ptr.h: New file.
11812         * tests/test-memchr.c: Include zerosize-ptr.h.
11813         (main): Use a zero-size object pointer instead of NULL.
11814         * tests/test-memchr2.c: Include zerosize-ptr.h.
11815         (main): Use a zero-size object pointer instead of NULL.
11816         * tests/test-memcmp.c: Include zerosize-ptr.h.
11817         (main): Use a zero-size object pointer instead of NULL.
11818         * tests/test-memmem.c: Include zerosize-ptr.h.
11819         (main): Use a zero-size object pointer instead of NULL.
11820         * tests/test-memrchr.c: Include zerosize-ptr.h.
11821         (main): Use a zero-size object pointer instead of NULL.
11822         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
11823         m4/mmap-anon.m4.
11824         (Depends-on): Add getpagesize.
11825         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11826         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
11827         m4/mmap-anon.m4.
11828         (Depends-on): Add getpagesize.
11829         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11830         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
11831         m4/mmap-anon.m4.
11832         (Depends-on): Add getpagesize.
11833         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11834         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
11835         m4/mmap-anon.m4.
11836         (Depends-on): Add getpagesize.
11837         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11838         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
11839         m4/mmap-anon.m4.
11840         (Depends-on): Add getpagesize.
11841         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
11842
11843 2009-05-12  Bruno Haible  <bruno@clisp.org>
11844
11845         Tests for module 'alignof'.
11846         * modules/alignof-tests: New file.
11847         * tests/test-alignof.c: New file.
11848
11849 2009-05-12  Bruno Haible  <bruno@clisp.org>
11850
11851         Fix alignof macro.
11852         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
11853         vendor compilers that are always correct.
11854
11855 2009-05-12  Bruno Haible  <bruno@clisp.org>
11856
11857         Make the MAP_ANONYMOUS detection work on HP-UX 11.
11858         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
11859         not whether its fully works.
11860
11861 2009-05-12  Bruno Haible  <bruno@clisp.org>
11862
11863         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
11864
11865 2009-05-12  Jim Meyering  <meyering@redhat.com>
11866
11867         * top/maint.mk: Adjust backslash alignment.
11868
11869 2009-05-11  Simon Josefsson  <simon@josefsson.org>
11870
11871         * top/maint.mk: Make $(srcdir)/build-aux configurable.
11872
11873 2009-05-11  Eric Blake  <ebb9@byu.net>
11874
11875         argp: avoid undefined behavior
11876         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
11877         macros.
11878
11879 2009-05-08  Simon Josefsson  <simon@josefsson.org>
11880
11881         * tests/test-vc-list-files-git.sh: Do git config of user.email and
11882         user.name to prevent git commit from complaining.
11883
11884 2009-05-10  Bruno Haible  <bruno@clisp.org>
11885
11886         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
11887         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
11888         it rewrites every file name only once.
11889         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
11890
11891 2009-05-08  Bruno Haible  <bruno@clisp.org>
11892
11893         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
11894         instead of 'max'.
11895
11896 2009-05-08  Simon Josefsson  <simon@josefsson.org>
11897
11898         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
11899         sockaddr_storage test.
11900
11901 2009-05-07  Simon Josefsson  <simon@josefsson.org>
11902
11903         * modules/sys_socket (Makefile.am): Substitute
11904         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
11905         * m4/sys_socket_h.m4: Check for sockaddr_storage.
11906         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
11907         * tests/test-sys_socket.c: Check sockaddr_storage.
11908
11909 2009-05-08  Bruno Haible  <bruno@clisp.org>
11910
11911         New module 'alignof'.
11912         * lib/alignof.h: New file.
11913         * modules/alignof: New file.
11914
11915 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11916             Bruno Haible  <bruno@clisp.org>
11917
11918         Fix test-file-has-acl on FreeBSD.
11919         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
11920         mask is implicitly added.
11921         * tests/test-file-has-acl.c: Include <signal.h>.
11922         (main): Terminate the test after 5 seconds.
11923         * modules/acl-tests (configure.ac): Check for alarm function.
11924
11925 2009-05-04  Bruno Haible  <bruno@clisp.org>
11926
11927         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
11928         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
11929         * modules/errno (configure.ac): Drop AC_REQUIRE.
11930         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
11931         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
11932
11933 2009-05-04  Simon Josefsson  <simon@josefsson.org>
11934
11935         * modules/glob-tests: New module.
11936         * tests/test-glob.c: Add.
11937
11938 2009-05-04  Simon Josefsson  <simon@josefsson.org>
11939
11940         * modules/fnmatch-tests: New module.
11941         * tests/test-fnmatch.c: Add.
11942
11943 2009-05-04  Eric Blake  <ebb9@byu.net>
11944
11945         maint: make the new no-submodule-changes rule VPATH-safe
11946         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
11947
11948 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11949             Bruno Haible  <bruno@clisp.org>
11950
11951         acl: Fix infinite loop on FreeBSD.
11952         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
11953         of return value from acl_get_entry.
11954         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
11955         Likewise.
11956
11957 2009-05-03  Bruno Haible  <bruno@clisp.org>
11958
11959         * lib/acl-internal.h (acl_entries): Clarify return value.
11960         * lib/acl_entries.c (acl_entries): Likewise.
11961
11962 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
11963
11964         Bug fix in acl module.
11965         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
11966
11967 2009-05-03  Bruno Haible  <bruno@clisp.org>
11968
11969         Create gperf-generated file in the source dir, not in the build dir.
11970         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
11971         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
11972         * modules/unicase/locale-language (unicase/locale-languages.h):
11973         Likewise.
11974         * modules/unicase/special-casing (unicase/special-casing-table.h):
11975         Likewise.
11976         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
11977         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
11978         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
11979         Reported by Ralf Wildenhues.
11980
11981 2009-05-03  Bruno Haible  <bruno@clisp.org>
11982
11983         * modules/fnmatch (Description, configure.ac): Taken from
11984         fnmatch-posix.
11985         * modules/fnmatch-posix: Turn into a symbolic reference to the
11986         'fnmatch' module, and deprecate.
11987         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
11988
11989 2009-05-03  Bruno Haible  <bruno@clisp.org>
11990
11991         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
11992         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
11993         Reported by Ralf Wildenhues.
11994
11995 2009-05-04  Simon Josefsson  <simon@josefsson.org>
11996
11997         * m4/fnmatch.m4: Fix fnmatch re-define.
11998
11999 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
12000
12001         priv-set: new module and tests; adapt write-any-file
12002         * lib/priv-set.c: New file.
12003         * lib/priv-set.h: New file.
12004         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
12005         * lib/write-any-file.c: Simplify by using priv-set module.
12006         * m4/priv-set.m4: New file.
12007         * modules/priv-set: New file.
12008         * modules/unlinkdir: Add dependency on priv-set module.
12009         * modules/write-any-file: Likewise.
12010
12011         Tests for module 'priv-set'.
12012         * modules/priv-set-tests: New file.
12013         * tests/test-priv-set.c: New file.
12014
12015 2009-05-03  Jim Meyering  <meyering@redhat.com>
12016             Bruno Haible  <bruno@clisp.org>
12017
12018         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
12019         use the converted UTF-8 variant of the name instead.
12020
12021 2009-05-03  Jim Meyering  <meyering@redhat.com>
12022
12023         tests: tighten some getdate tests
12024         * tests/test-getdate.c (main): Tighten tests: require equality,
12025         not just greater than.  Set TZ envvar to UTC0.
12026
12027 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
12028
12029         getdate: correctly interpret "next monday" when run on a Monday
12030         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
12031         that e.g., "next tues" (when run on a tuesday) results in a date
12032         that is one week in the future, and not today's date.
12033         I.e., add a week when the wday is the same as the current one.
12034         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
12035         and earlier by Martin Bernreuther and Jan Minář.
12036         * tests/test-getdate.c (main): Check that "next DAY" is always in
12037         the future and that "last DAY" is always in the past.
12038
12039 2009-05-02  Jim Meyering  <meyering@redhat.com>
12040
12041         build: ensure that a release build fails when a submodule is unclean
12042         * top/maint.mk (no-submodule-changes): New rule.
12043         (alpha beta major): Depend on it.
12044
12045 2009-05-02  Bruno Haible  <bruno@clisp.org>
12046
12047         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
12048         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
12049         shell variable gl_fnmatch_required to detect which variant is
12050         requested.
12051         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
12052         gl_FUNC_FNMATCH_POSIX.
12053         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
12054         exclude fnmatch-posix.
12055
12056 2009-05-02  Bruno Haible  <bruno@clisp.org>
12057
12058         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
12059         * modules/mbsrtowcs (License): Change to LGPLv2+.
12060         * modules/strnlen1 (License): Likewise.
12061         Reported by Simon Josefsson.
12062
12063 2009-05-02  Bruno Haible  <bruno@clisp.org>
12064
12065         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
12066         "cross".
12067         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
12068         gnulib-tool was called with option --source-base=lib.
12069
12070 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12071
12072         Use automake *-local hooks without commands, for extensibility.
12073         * modules/localcharset (Makefile.am): Rename install-exec-local
12074         rule to install-exec-localcharset, and make it a prerequisite of
12075         install-exec-local.  Likewise, rename the uninstall-local rule to
12076         uninstall-localcharset, and make it a prerequisite of the former.
12077
12078 2009-05-01  Bruno Haible  <bruno@clisp.org>
12079
12080         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
12081         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
12082         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
12083         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
12084         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
12085         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
12086         m4/locale-zh.m4, m4/codeset.m4.
12087
12088         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
12089         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
12090         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
12091         m4/locale-zh.m4.
12092
12093         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
12094         REPLACE_WCRTOMB if mbstate_t must be replaced.
12095         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
12096         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
12097
12098 2009-05-01  Bruno Haible  <bruno@clisp.org>
12099
12100         Avoid compiler warnings when redefining macros defined by <libintl.h>.
12101         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
12102         dngettext, dcngettext, textdomain, bindtextdomain,
12103         bind_textdomain_codeset): Undefine before redefining.
12104
12105 2009-04-30  Bruno Haible  <bruno@clisp.org>
12106
12107         Fix bug introduced on 2009-04-25.
12108         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
12109         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
12110         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
12111         is defined.
12112         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
12113         is defined.
12114         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
12115         is defined.
12116         Reported by Elbert_Pol <elbert.pol@gmail.com>.
12117
12118 2009-04-28  Bruno Haible  <bruno@clisp.org>
12119
12120         Comment tweaks.
12121         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
12122         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
12123         * lib/unicase.h (u*_casexfrm): Likewise.
12124         Reported by Paolo Bonzini.
12125
12126 2009-04-28  Bruno Haible  <bruno@clisp.org>
12127
12128         Fix a compilation error.
12129         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
12130         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
12131         Reported by Jim Meyering.
12132
12133 2009-04-27  Bruno Haible  <bruno@clisp.org>
12134
12135         New module 'libunistring'.
12136         * modules/libunistring: New file.
12137         * m4/libunistring.m4: New file.
12138         * MODULES.html.sh (Unicode string functions): Add it.
12139
12140 2009-04-27  Eric Blake  <ebb9@byu.net>
12141
12142         maint.mk: allow package-specific header to provide <config.h>
12143         * top/maint.mk (sc_require_config_h): New variable.
12144         (sc_require_config_h, sc_require_config_h_first): Use it.
12145
12146 2009-04-27  Simon Josefsson  <simon@josefsson.org>
12147
12148         * top/maint.mk (sc_avoid_if_before_free): Except
12149         useless-if-before-free script.
12150
12151 2009-04-27  Eric Blake  <ebb9@byu.net>
12152
12153         maintainer-makefile: depend on all required helper scripts
12154         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
12155         useless-if-before-free.
12156         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
12157         version, rather than assuming gnulib checkout is available.
12158         Reported by Simen Josefsson.
12159
12160 2009-04-26  Bruno Haible  <bruno@clisp.org>
12161
12162         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
12163         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
12164         "../" or "..".
12165
12166 2009-04-26  Bruno Haible  <bruno@clisp.org>
12167
12168         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
12169         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
12170         AC_LIB_HAVE_LINKFLAGS.
12171
12172 2009-04-26  Bruno Haible  <bruno@clisp.org>
12173
12174         Simplify calling convention of u*_conv_from_encoding.
12175         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
12176         u32_conv_from_encoding): Expect a resultbuf argument and return the
12177         result directly as a pointer.
12178         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
12179         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
12180         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
12181         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
12182         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
12183         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
12184         Update.
12185         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
12186         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
12187         * lib/vasnprintf.c (VASNPRINTF): Update.
12188         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
12189         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
12190         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
12191         * NEWS: Mention the change.
12192
12193 2009-04-26  Bruno Haible  <bruno@clisp.org>
12194
12195         Simplify calling convention of u*_conv_to_encoding.
12196         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
12197         u32_conv_to_encoding): Expect a resultbuf argument and return the
12198         result directly as a pointer.
12199         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
12200         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
12201         freeing scaled_offsets if mem_iconveha failed.
12202         * lib/unicase/u-casexfrm.h (FUNC): Update.
12203         * lib/uninorm/u-normxfrm.h (FUNC): Update.
12204         * lib/vasnprintf.c (VASNPRINTF): Update.
12205         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
12206         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
12207         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
12208         * NEWS: Mention the change.
12209
12210 2009-04-26  Bruno Haible  <bruno@clisp.org>
12211
12212         Avoid test failures on AIX and OSF/1.
12213         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
12214         malloc(0).
12215         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
12216         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
12217         Likewise.
12218         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
12219         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
12220         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
12221         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
12222         * doc/posix-functions/malloc.texi: Document the portability problem
12223         related to malloc(0).
12224
12225 2009-04-26  Bruno Haible  <bruno@clisp.org>
12226
12227         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
12228         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
12229         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
12230
12231 2009-04-25  Bruno Haible  <bruno@clisp.org>
12232
12233         Avoid link error when creating a namespace clean library.
12234         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
12235         as macro with arguments if already defined as an alias.
12236         * lib/signbitf.c (gl_signbitf): Don't undefine.
12237         * lib/signbitd.c (gl_signbitd): Don't undefine.
12238         * lib/signbitl.c (gl_signbitl): Don't undefine.
12239
12240 2009-04-25  Jim Meyering  <meyering@redhat.com>
12241
12242         vc-list-files: fix another quoting bug
12243         * build-aux/vc-list-files: Avoid sed backslash expansion
12244         of pathological directory names.
12245
12246 2009-04-25  Eric Blake  <ebb9@byu.net>
12247
12248         vc-list-files: fix shell quoting error
12249         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
12250         timestamp.
12251
12252 2009-04-25  Jim Meyering  <meyering@redhat.com>
12253
12254         vc-list-files: restore lost functionality with subdir argument
12255         * build-aux/vc-list-files: When given a non-"." sub-directory
12256         argument, substitute the $dir/ prefix back onto each resulting name.
12257         Otherwise, coreutils' root_tests check would fail.
12258
12259 2009-04-24  Eric Blake  <ebb9@byu.net>
12260
12261         vc-list-files: ignore git symlinks
12262         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
12263         than ls-files, to ignore git symlinks.
12264
12265         maint.mk: import improvements from m4
12266         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
12267         (move_if_change): Delete unused macro.
12268         (news-date-check, vc-diff-check): Support VPATH builds.
12269         (announcement): Likewise.  Split --bootstrap-tools list...
12270         (boostrap-tools): ...into separate list, which can be overridden
12271         in cfg.mk.
12272         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
12273         requiring dependency on useless-if-before-free module.
12274         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
12275         Support VPATH builds.
12276
12277 2009-04-24  Jim Meyering  <meyering@redhat.com>
12278
12279         maint.mk: remove coreutils-specific rules and variables
12280         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
12281         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
12282         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
12283
12284         maint.mk: remove obsolete rule
12285         * top/maint.mk (rel-check): Remove rule.
12286         (WGET, WGETFLAGS): Remove now-unused variables.
12287
12288 2009-04-24  Simon Josefsson  <simon@josefsson.org>
12289
12290         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
12291         consistency.
12292
12293         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
12294         '$(PATH_SEPARATOR)' instead of ':'.
12295
12296 2009-04-24  Simon Josefsson  <simon@josefsson.org>
12297
12298         * lib/getopt1.c (main): Use 'const' for static array.
12299
12300 2009-04-24  Simon Josefsson  <simon@josefsson.org>
12301
12302         * top/maint.mk: Sync with coreutils.
12303         * NEWS: Explain incompatibilities.
12304
12305 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12306             Bruno Haible  <bruno@clisp.org>
12307
12308         Fix cross-compilation results.
12309         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
12310         statement, as third argument of AC_TRY_RUN.
12311         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
12312         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
12313         Likewise.
12314         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
12315         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
12316         Likewise.
12317         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
12318         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
12319         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
12320
12321 2009-04-20  Bruno Haible  <bruno@clisp.org>
12322
12323         Avoid test failure on mingw.
12324         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
12325
12326 2009-04-20  Bruno Haible  <bruno@clisp.org>
12327
12328         Avoid compilation error on mingw.
12329         * modules/localename-tests (Depends-on): Add locale.
12330
12331 2009-04-19  Bruno Haible  <bruno@clisp.org>
12332
12333         Support for building a shared library on Windows platforms.
12334         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
12335         (main): Test the presence of UNINORM_NFC here.
12336         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
12337         (main): Test the presence of UNINORM_NFD here.
12338         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
12339         (main): Test the presence of UNINORM_NFKC here.
12340         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
12341         (main): Test the presence of UNINORM_NFKD here.
12342
12343 2009-04-19  Bruno Haible  <bruno@clisp.org>
12344
12345         Avoid a compiler warning.
12346         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
12347         Change type of variable 'sequence'.
12348
12349 2009-04-19  Bruno Haible  <bruno@clisp.org>
12350
12351         * modules/configmake (Makefile.am): When the contents of configmake.h
12352         does not change, arrange to preserve its modification time.
12353
12354 2009-04-17  Simon Josefsson  <simon@josefsson.org>
12355
12356         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
12357         gettext domain.
12358
12359 2009-04-16  Jim Meyering  <meyering@redhat.com>
12360
12361         useless-if-before-free: improve conversion code
12362         * build-aux/useless-if-before-free: Adjust code-in-comment to match
12363         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
12364
12365 2009-04-14  Bruno Haible  <bruno@clisp.org>
12366
12367         * modules/fcntl (Depends-on): Add extensions.
12368         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
12369
12370 2009-04-12  Ben Pfaff  <blp@gnu.org>
12371
12372         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
12373         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
12374
12375 2009-03-20  Ben Pfaff  <blp@gnu.org>
12376
12377         Make rename replace existing destinations on Windows.
12378         * m4/rename.m4: Add test for Mingw.
12379         * lib/rename.c: Add rename replacement that uses MoveFileEx with
12380         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
12381         * doc/posix-functions/rename.texi: Document.
12382
12383 2009-04-10  Bruno Haible  <bruno@clisp.org>
12384
12385         New include file "iconveh.h".
12386         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
12387         * lib/striconveh.h: Include it.
12388         (enum iconv_ilseq_handler): Remove definition.
12389         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
12390         striconveh.h.
12391         * lib/striconveha.c: Include striconveh.h.
12392         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
12393         * modules/striconveh (Files): Add lib/iconveh.h.
12394         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
12395         lib/striconveh.h.
12396
12397 2009-04-10  Bruno Haible  <bruno@clisp.org>
12398
12399         * lib/uniconv.h: Update comment.
12400
12401 2009-04-10  Bruno Haible  <bruno@clisp.org>
12402
12403         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
12404         always.
12405         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
12406         * lib/unistr/u16-mbtouc-aux.c: Likewise.
12407         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
12408         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
12409         "unistring-notinline.h", so that the function gets defined always.
12410         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
12411         * lib/unistr/u8-uctomb.c: Likewise.
12412         * lib/unistr/u16-mbtouc.c: Likewise.
12413         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
12414         * lib/unistr/u16-uctomb.c: Likewise.
12415         * lib/unistr/u32-mbtouc.c: Likewise.
12416         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
12417         * lib/unistr/u32-uctomb.c: Likewise.
12418
12419 2009-04-10  Bruno Haible  <bruno@clisp.org>
12420
12421         Mark 'utime' obsolete.
12422         * modules/utime (Status, Notice): New sections.
12423         Suggested by Jim Meyering.
12424
12425         Fix cross-compile guess for utime test.
12426         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
12427         autoconf.
12428         * doc/posix-functions/utime.texi: Give more precisions.
12429         Reported by Jan <ipif@ymail.com>.
12430
12431 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
12432
12433         filevercmp: correct today's change
12434         * lib/filevercmp.c: Also handle coreutils' test inputs.
12435         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
12436
12437         Fix regression in 'filevercmp' module. Thanks Sven Joachim
12438         for reporting it.
12439         * lib/filevercmp.c: Special handle for "", "." and "..".
12440         * tests/test-filevercmp.c: Enlarge the set suite.
12441
12442 2009-04-07  Jim Meyering  <meyering@redhat.com>
12443
12444         useless-if-before-free: show how to remove braced useless free, too
12445         * build-aux/useless-if-before-free: still only in a comment, though.
12446
12447 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
12448
12449         maint.mk: import changes to syntax-check macros from coreutils
12450         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
12451         Use them in the relevant macros.
12452
12453 2009-04-06  Bruno Haible  <bruno@clisp.org>
12454
12455         Fix unportable use of bit-fields.
12456         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
12457         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
12458         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
12459
12460 2009-04-06  Bruno Haible  <bruno@clisp.org>
12461
12462         Avoid test failures on AIX and OSF/1.
12463         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
12464         that malloc(0) = NULL.
12465         * tests/unicase/test-u8-tolower.c (check): Likewise.
12466         * tests/unicase/test-u8-totitle.c (check): Likewise.
12467         * tests/unicase/test-u8-toupper.c (check): Likewise.
12468         * tests/unicase/test-u16-casefold.c (check): Likewise.
12469         * tests/unicase/test-u16-tolower.c (check): Likewise.
12470         * tests/unicase/test-u16-totitle.c (check): Likewise.
12471         * tests/unicase/test-u16-toupper.c (check): Likewise.
12472         * tests/unicase/test-u32-casefold.c (check): Likewise.
12473         * tests/unicase/test-u32-tolower.c (check): Likewise.
12474         * tests/unicase/test-u32-totitle.c (check): Likewise.
12475         * tests/unicase/test-u32-toupper.c (check): Likewise.
12476         * tests/uninorm/test-u8-nfc.c (check): Likewise.
12477         * tests/uninorm/test-u8-nfd.c (check): Likewise.
12478         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
12479         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
12480         * tests/uninorm/test-u16-nfc.c (check): Likewise.
12481         * tests/uninorm/test-u16-nfd.c (check): Likewise.
12482         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
12483         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
12484         * tests/uninorm/test-u32-nfc.c (check): Likewise.
12485         * tests/uninorm/test-u32-nfd.c (check): Likewise.
12486         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
12487         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
12488
12489 2009-04-05  Bruno Haible  <bruno@clisp.org>
12490
12491         Work around an autoconf limitation.
12492         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
12493         comment line if it would be longer than 3 KB.
12494
12495 2009-04-05  Bruno Haible  <bruno@clisp.org>
12496
12497         Avoid test failure with libiconv-1.13.
12498         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
12499         of the expected test results.
12500
12501 2009-04-05  Bruno Haible  <bruno@clisp.org>
12502
12503         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
12504         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
12505         that it should be installed.
12506
12507 2009-04-05  Bruno Haible  <bruno@clisp.org>
12508
12509         * gnulib-tool: New option --copy-file.
12510         (func_usage): Document it.
12511         (func_dest_tmpfilename): Moved out of func_import.
12512         (func_add_file, func_update_file): New functions, extracted from
12513         func_import.
12514         (func_import): Update.
12515
12516 2009-04-05  Karl Berry  <karl@gnu.org>
12517
12518         * README: prominently mention gnulib-tool.
12519         Rearrange sections so getting the code is near the top.
12520
12521 2009-04-05  Bruno Haible  <bruno@clisp.org>
12522
12523         * lib/unicase.h: Mention u*_cmp2.
12524         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
12525         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
12526         * lib/unicase/ulc-casecmp.c: Likewise.
12527         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
12528         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
12529         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
12530         unistr/u8-cmp.
12531         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
12532         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
12533         unistr/u16-cmp.
12534         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
12535         unistr/u32-cmp.
12536
12537         * lib/uninorm.h: Mention u*_cmp2.
12538         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
12539         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
12540         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
12541         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
12542         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
12543         unistr/u8-cmp.
12544         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
12545         unistr/u16-cmp.
12546         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
12547         unistr/u32-cmp.
12548
12549         New module 'unistr/u32-cmp2'.
12550         * lib/unistr/u32-cmp2.c: New file.
12551         * modules/unistr/u32-cmp2: New file.
12552
12553         New module 'unistr/u16-cmp2'.
12554         * lib/unistr/u16-cmp2.c: New file.
12555         * modules/unistr/u16-cmp2: New file.
12556
12557         New module 'unistr/u8-cmp2'.
12558         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
12559         * lib/unistr/u8-cmp2.c: New file.
12560         * lib/unistr/u-cmp2.h: New file.
12561         * modules/unistr/u8-cmp2: New file.
12562
12563 2009-04-05  Bruno Haible  <bruno@clisp.org>
12564
12565         * lib/unictype.h (uc_property_is_valid): New macro.
12566         * tests/unictype/test-pr_byname.c (main): Use it.
12567
12568         * lib/unistr.h: Doc fixes.
12569         * lib/uniconv.h: Doc fixes.
12570         * lib/unictype.h: Doc fixes.
12571
12572 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
12573
12574         Port coreutils 7.2 to Solaris 8.
12575
12576         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
12577         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
12578         for Solaris 8.  This is a bit of a hack, as it means it's the
12579         caller's responsibility to add -lnsl if needed, but most likely it
12580         won't be needed since only getaddrinfo uses this and getaddrinfo
12581         isn't needed on Solaris 8.
12582
12583         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
12584         problem to Solaris 8 encountered with coreutils 7.2, which
12585         resulted in a message "fnmatch.c:292: warning: passing argument 4
12586         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
12587         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
12588
12589 2009-04-03  Simon Josefsson  <simon@josefsson.org>
12590
12591         * m4/ld-version-script.m4: Add FIXME comment.
12592
12593 2009-04-02  Simon Josefsson  <simon@josefsson.org>
12594
12595         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
12596         SOVERSION variable.
12597
12598 2009-04-02  Bruno Haible  <bruno@clisp.org>
12599
12600         * Makefile (info, html, dvi, pdf): Combine the rules.
12601         Suggested by Jim Meyering.
12602
12603 2009-04-01  Bruno Haible  <bruno@clisp.org>
12604
12605         * Makefile (info, html, dvi, pdf): New targets.
12606         Reported by Reuben Thomas <rrt@sc3d.org>.
12607
12608 2009-04-01  Bruno Haible  <bruno@clisp.org>
12609
12610         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
12611         can be put into PATH.
12612         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
12613
12614 2009-04-01  Bruno Haible  <bruno@clisp.org>
12615
12616         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
12617
12618 2009-04-01  Bruno Haible  <bruno@clisp.org>
12619
12620         Rename module 'visibility'.
12621         * modules/lib-symbol-visibility: Renamed from modules/visibility.
12622         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
12623         * doc/gnulib.texi: Update.
12624         * MODULES.html.sh (Misc): Update.
12625         * NEWS: Mention the change.
12626
12627 2009-04-01  Simon Josefsson  <simon@josefsson.org>
12628
12629         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
12630         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
12631         Eric Blake <ebb9@byu.net> for review.
12632         * MODULES.html.sh: Add lib-msvc-compat.
12633         * doc/gnulib.texi: Link to new section.
12634         * m4/ld-output-def.m4: New file.
12635         * doc/ld-output-def.texi: New file.
12636
12637 2009-04-01  Simon Josefsson  <simon@josefsson.org>
12638
12639         Rename ld-version-script to lib-symbol-versions.  Suggested by
12640         Bruno Haible <bruno@clisp.org>.
12641         * modules/ld-version-script: Renamed to lib-symbol-versions.
12642         * doc/ld-version-script.texi: Fix module name.
12643         * MODULES.html.sh: Add lib-symbol-versions.
12644
12645 2009-03-31  Simon Josefsson  <simon@josefsson.org>
12646
12647         * modules/u64-tests: New file.
12648         * tests/test-u64.c: New file.
12649
12650 2009-03-04  Simon Josefsson  <simon@josefsson.org>
12651
12652         * MODULES.html.sh: Mention u64.
12653         * modules/u64: New module.
12654         * modules/crypto/sha512: Depend on u64 module instead of providing
12655         u64.h.
12656
12657 2009-03-27  Eric Blake  <ebb9@byu.net>
12658
12659         test-strerror: make debugging EAI_SYSTEM easier
12660         * modules/getaddrinfo-tests (Depends-on): Add strerror.
12661         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
12662         failure was EAI_SYSTEM.
12663
12664 2009-03-25  Bruno Haible  <bruno@clisp.org>
12665
12666         Fix a problem with --enable-relocatable on Solaris 7.
12667         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
12668         since 2008-02-24.
12669
12670 2009-03-25  Eric Blake  <ebb9@byu.net>
12671
12672         test-sockets: avoid gcc warning
12673         * tests/test-sockets.c (main): Silence compiler warning.
12674
12675 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
12676
12677         New modules nproc, pthread, contributed by Glen Lenker.
12678
12679         * MODULES.html.sh: Add pthread, nproc.
12680         * lib/nproc.c: New file.
12681         * lib/nproc.h: New file.
12682         * lib/pthread.in.h: New file.
12683         * m4/pthread.m4: New file.
12684         * modules/nproc: New file.
12685         * modules/pthread: New file.
12686
12687 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12688
12689         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
12690         New variable.
12691
12692 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
12693
12694         filevercmp: handle simple~ and numbered.~3~ backup suffixes
12695         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
12696         * tests/test-filevercmp.c: Add tests for backup suffixes.
12697
12698 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12699
12700         * modules/stdlib (Depends-on): Add stdint, needed when defining
12701         struct random_data on, for example, HP-UX 10.20.  Reported by
12702         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12703
12704 2009-03-24  Simon Josefsson  <simon@josefsson.org>
12705
12706         * lib/readline.c (readline): Call fflush on stdout after printing
12707         prompt.
12708
12709 2009-03-20  Bruno Haible  <bruno@clisp.org>
12710
12711         Remove dependency from 'close' module to -lws2_32 on native Windows.
12712         * lib/close-hook.h: New file.
12713         * lib/close-hook.c: New file.
12714         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
12715         w32sock.h.
12716         (_gl_close_fd_maybe_socket): Remove function.
12717         (rpl_close): Invoke execute_all_close_hooks instead of
12718         _gl_close_fd_maybe_socket.
12719         * lib/sockets.c: Include close-hook.h, w32sock.h.
12720         (close_fd_maybe_socket): New function, essentially from lib/close.c.
12721         (close_sockets_hook): New variable.
12722         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
12723         (gl_sockets_cleanup): Unregister it.
12724         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
12725         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
12726         * modules/close-hook: New file.
12727         * modules/close (Files): Remove lib/w32sock.h.
12728         (Depends-on): Add close-hook.
12729         (Link): Remove section.
12730         * modules/sockets (Files): Add lib/w32sock.h.
12731         (Depends-on): Add close-hook.
12732         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
12733         invocation.
12734         * NEWS: Mention that LIB_CLOSE is gone.
12735
12736 2009-03-23  Eric Blake  <ebb9@byu.net>
12737
12738         signal-tests: test previous patch
12739         * tests/test-signal.c: New file.
12740         * modules/signal-tests: Likewise.
12741
12742         signal.h: always support 'volatile sig_atomic_t'
12743         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
12744         (gl_SIGNAL_H_DEFAULTS): Add a default.
12745         * modules/signal (Makefile.am): Substitute if needed.
12746         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
12747         users can blindly add volatile.
12748         * doc/posix-headers/signal.texi (signal.h): Document it.
12749         Reported by Matthew Woehlke.
12750
12751 2009-03-23  Jim Meyering  <meyering@redhat.com>
12752
12753         pathmax: PATH_MAX: use pathconf only when available
12754         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
12755         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
12756         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
12757         This avoids a link failure in a PSP cross-compilation environment
12758         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
12759
12760         * lib/vasnprintf.c (divide): Fix typo in comment.
12761
12762 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12763
12764         * gnulib-tool (func_filter_filelist): Fix comment.
12765
12766 2009-03-20  Bruno Haible  <bruno@clisp.org>
12767
12768         Make sockets.h self-contained.
12769         * lib/sockets.c: Include sockets.h first.
12770         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
12771
12772 2009-03-19  Eric Blake  <ebb9@byu.net>
12773
12774         doc: mention more functions added in cygwin 1.7.0
12775         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
12776         addition.
12777         * doc/posix-functions/log2f.texi: Likewise.
12778
12779 2009-03-19  Jim Meyering  <meyering@redhat.com>
12780
12781         fsusage: avoid syntax error due to statement-before-declaration
12782         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
12783         after all declarations.  Reported by Matthew Woehlke in
12784         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
12785
12786 2009-03-18  Eric Blake  <ebb9@byu.net>
12787
12788         build-aux/compile: sync from automake
12789         * build-aux/compile: New file, from automake.
12790         * config/srclist.txt: Mention build-aux/compile.
12791
12792 2009-03-17  Bruno Haible  <bruno@clisp.org>
12793
12794         * lib/git-merge-changelog.c: Fix typo in comment.
12795         Reported by Reuben Thomas <rrt@sc3d.org>.
12796
12797 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
12798
12799         * m4/regex.m4: update and improve help for
12800         --without-included-regex.
12801
12802 2009-03-17  Simon Josefsson  <simon@josefsson.org>
12803
12804         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
12805         failure on missing include files.
12806
12807 2009-03-17  Eric Blake  <ebb9@byu.net>
12808
12809         doc: mention more functions added in cygwin 1.7.0
12810         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
12811         addition.
12812         * doc/posix-functions/fwscanf.texi: Likewise.
12813         * doc/posix-functions/swprintf.texi: Likewise.
12814         * doc/posix-functions/swscanf.texi: Likewise.
12815         * doc/posix-functions/vfwprintf.texi: Likewise.
12816         * doc/posix-functions/vfwscanf.texi: Likewise.
12817         * doc/posix-functions/vswprintf.texi: Likewise.
12818         * doc/posix-functions/vswscanf.texi: Likewise.
12819         * doc/posix-functions/vwprintf.texi: Likewise.
12820         * doc/posix-functions/vwscanf.texi: Likewise.
12821         * doc/posix-functions/wcscasecmp.texi: Likewise.
12822         * doc/posix-functions/wcsdup.texi: Likewise.
12823         * doc/posix-functions/wcsftime.texi: Likewise.
12824         * doc/posix-functions/wcsncasecmp.texi: Likewise.
12825         * doc/posix-functions/wprintf.texi: Likewise.
12826         * doc/posix-functions/wscanf.texi: Likewise.
12827         * doc/glibc-functions/gethostbyname2.texi: Likewise.
12828
12829 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12830
12831         maint.mk: really add $(AM_MAKEFLAGS)
12832         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
12833         was inadvertently omitted in the last commit.
12834         Spotted by Bruno Haible.
12835
12836         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
12837         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
12838         $(AM_MAKEFLAGS)' rather than plain `make'.
12839
12840         gnulib-tool: execute $MAKE not make
12841         * gnulib-tool: Default $MAKE to 'make'.
12842         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
12843         than make.  Initialize $MAKE in the do-autobuild script.
12844
12845         gnulib-tool: use $MAKE not make in generated files
12846         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
12847         make, in generated files.  Initialize $MAKE in the do-autobuild
12848         script.
12849
12850         * top/GNUmakefile (_have-git-version-gen): Fix typo.
12851
12852         GNUmakefile: disable parallelism only for multiple, recursive targets
12853         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
12854         additions in the Makefile.
12855         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
12856         by Automake.
12857         (.NOTPARALLEL): Only disable parallel builds if multiple targets
12858         are listed on the command line and at least one of them is
12859         listed in $(ALL_RECURSIVE_TARGETS).
12860
12861 2009-03-14  Bruno Haible  <bruno@clisp.org>
12862
12863         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
12864         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
12865         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
12866         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
12867         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
12868         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
12869         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
12870         unistr/u8-uctomb.
12871         * modules/unistr/u8-strchr (Depends-on): Likewise.
12872         * modules/unistr/u8-strrchr (Depends-on): Likewise.
12873         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
12874         unistr/u16-uctomb.
12875         * modules/unistr/u16-strchr (Depends-on): Likewise.
12876         * modules/unistr/u16-strrchr (Depends-on): Likewise.
12877
12878 2009-03-12  Bruno Haible  <bruno@clisp.org>
12879
12880         Work around select() bug on Interix 3.5.
12881         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
12882         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
12883         * m4/select.m4: New file.
12884         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
12885         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
12886         * modules/select (Files): Add m4/select.m4.
12887         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
12888         * modules/nanosleep (Depends-on): Add select.
12889         * modules/poll (Depends-on): Likewise.
12890         * doc/posix-functions/select.texi: Mention the Interix bug.
12891         Reported by Markus Duft <mduft@gentoo.org>.
12892
12893         * lib/select.c: Renamed from lib/winsock-select.c.
12894         * modules/select (Files): Add lib/select.c, remove
12895         lib/winsock-select.c.
12896         (configure.ac): Update.
12897
12898 2009-03-12  Jim Meyering  <meyering@redhat.com>
12899
12900         avoid gcc warnings about unused macro definitions
12901         * lib/readtokens.c (STREQ): Remove unused definition.
12902         * lib/xmalloc.c (SIZE_MAX): Likewise.
12903         * lib/openat-die.c (N_): Likewise.
12904         * lib/mountlist.c (SIZE_MAX): Remove definition.
12905         Instead, include <stdint.h>.
12906         * lib/readutmp.c: Likewise.
12907         * modules/readutmp (Depends-on): Add stdint.
12908         * modules/mountlist (Depends-on): Add stdint.
12909         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
12910
12911 2009-03-10  Bruno Haible  <bruno@clisp.org>
12912
12913         Tests for module 'mbmemcasecoll'.
12914         * modules/mbmemcasecoll-tests: New file.
12915         * tests/test-mbmemcasecoll1.sh: New file.
12916         * tests/test-mbmemcasecoll2.sh: New file.
12917         * tests/test-mbmemcasecoll3.sh: New file.
12918         * tests/test-mbmemcasecoll.c: New file.
12919
12920         New module 'mbmemcasecoll'.
12921         * lib/mbmemcasecoll.h: New file.
12922         * lib/mbmemcasecoll.c: New file.
12923         * modules/mbmemcasecoll: New file.
12924
12925         * tests/test-mbmemcasecmp.h: New file, extracted from
12926         tests/test-mbmemcasecmp.c.
12927         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
12928         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
12929         (main): Update.
12930         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
12931
12932 2009-03-09  Bruno Haible  <bruno@clisp.org>
12933
12934         Tests for module 'mbmemcasecmp'.
12935         * modules/mbmemcasecmp-tests: New file.
12936         * tests/test-mbmemcasecmp1.sh: New file.
12937         * tests/test-mbmemcasecmp2.sh: New file.
12938         * tests/test-mbmemcasecmp3.sh: New file.
12939         * tests/test-mbmemcasecmp.c: New file.
12940
12941         New module 'mbmemcasecmp'.
12942         * lib/mbmemcasecmp.h: New file.
12943         * lib/mbmemcasecmp.c: New file.
12944         * modules/mbmemcasecmp: New file.
12945
12946 2009-03-09  Bruno Haible  <bruno@clisp.org>
12947
12948         Tests for module 'unicase/ulc-casecoll'.
12949         * modules/unicase/ulc-casecoll-tests: New file.
12950         * tests/unicase/test-ulc-casecoll1.sh: New file.
12951         * tests/unicase/test-ulc-casecoll2.sh: New file.
12952         * tests/unicase/test-ulc-casecoll.c: New file.
12953
12954         New module 'unicase/ulc-casecoll'.
12955         * lib/unicase.h (ulc_casecoll): New declaration.
12956         * lib/unicase/ulc-casecoll.c: New file.
12957         * modules/unicase/ulc-casecoll: New file.
12958
12959         New module 'unicase/ulc-casexfrm'.
12960         * lib/unicase.h (ulc_casexfrm): New declaration.
12961         * lib/unicase/ulc-casexfrm.c: New file.
12962         * modules/unicase/ulc-casexfrm: New file.
12963
12964 2009-03-09  Bruno Haible  <bruno@clisp.org>
12965
12966         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
12967         invocations.
12968
12969         * m4/mbscasecmp.m4: Remove file.
12970         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
12971         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
12972
12973         * m4/mbscasestr.m4: Remove file.
12974         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
12975         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
12976
12977         * m4/mbschr.m4: Remove file.
12978         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
12979         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
12980
12981         * m4/mbscspn.m4: Remove file.
12982         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
12983         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
12984
12985         * m4/mbslen.m4: Remove file.
12986         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
12987         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
12988
12989         * m4/mbsncasecmp.m4: Remove file.
12990         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
12991         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
12992
12993         * m4/mbsnlen.m4: Remove file.
12994         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
12995         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
12996
12997         * m4/mbspbrk.m4: Remove file.
12998         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
12999         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
13000
13001         * m4/mbspcasecmp.m4: Remove file.
13002         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
13003         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
13004
13005         * m4/mbsrchr.m4: Remove file.
13006         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
13007         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
13008
13009         * m4/mbssep.m4: Remove file.
13010         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
13011         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
13012
13013         * m4/mbsspn.m4: Remove file.
13014         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
13015         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
13016
13017         * m4/mbsstr.m4: Remove file.
13018         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
13019         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
13020
13021         * m4/mbstok_r.m4: Remove file.
13022         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
13023         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
13024
13025         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
13026
13027         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
13028         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
13029
13030         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
13031
13032 2009-03-08  Bruno Haible  <bruno@clisp.org>
13033
13034         Tests for module 'unicase/ulc-casecmp'.
13035         * modules/unicase/ulc-casecmp-tests: New file.
13036         * tests/unicase/test-ulc-casecmp1.sh: New file.
13037         * tests/unicase/test-ulc-casecmp2.sh: New file.
13038         * tests/unicase/test-ulc-casecmp.c: New file.
13039
13040         New module 'unicase/ulc-casecmp'.
13041         * lib/unicase.h (ulc_casecmp): New declaration.
13042         * lib/unicase/ulc-casecmp.c: New file.
13043         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
13044         'const SRC_UNIT *'.
13045         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
13046         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
13047         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
13048         * modules/unicase/ulc-casecmp: New file.
13049
13050         Tests for module 'unicase/u32-is-cased'.
13051         * modules/unicase/u32-is-cased-tests: New file.
13052         * tests/unicase/test-u32-is-cased.c: New file.
13053
13054         Tests for module 'unicase/u16-is-cased'.
13055         * modules/unicase/u16-is-cased-tests: New file.
13056         * tests/unicase/test-u16-is-cased.c: New file.
13057
13058         Tests for module 'unicase/u8-is-cased'.
13059         * modules/unicase/u8-is-cased-tests: New file.
13060         * tests/unicase/test-u8-is-cased.c: New file.
13061         * tests/unicase/test-is-cased.h: New file.
13062
13063         New module 'unicase/u32-is-cased'.
13064         * lib/unicase/u32-is-cased.c: New file.
13065         * modules/unicase/u32-is-cased: New file.
13066
13067         New module 'unicase/u16-is-cased'.
13068         * lib/unicase/u16-is-cased.c: New file.
13069         * modules/unicase/u16-is-cased: New file.
13070
13071         New module 'unicase/u8-is-cased'.
13072         * lib/unicase/u8-is-cased.c: New file.
13073         * lib/unicase/u-is-cased.h: New file.
13074         * modules/unicase/u8-is-cased: New file.
13075
13076         Tests for module 'unicase/u32-is-casefolded'.
13077         * modules/unicase/u32-is-casefolded-tests: New file.
13078         * tests/unicase/test-u32-is-casefolded.c: New file.
13079
13080         Tests for module 'unicase/u16-is-casefolded'.
13081         * modules/unicase/u16-is-casefolded-tests: New file.
13082         * tests/unicase/test-u16-is-casefolded.c: New file.
13083
13084         Tests for module 'unicase/u8-is-casefolded'.
13085         * modules/unicase/u8-is-casefolded-tests: New file.
13086         * tests/unicase/test-u8-is-casefolded.c: New file.
13087         * tests/unicase/test-is-casefolded.h: New file.
13088
13089         New module 'unicase/u32-is-casefolded'.
13090         * lib/unicase/u32-is-casefolded.c: New file.
13091         * modules/unicase/u32-is-casefolded: New file.
13092
13093         New module 'unicase/u16-is-casefolded'.
13094         * lib/unicase/u16-is-casefolded.c: New file.
13095         * modules/unicase/u16-is-casefolded: New file.
13096
13097         New module 'unicase/u8-is-casefolded'.
13098         * lib/unicase/u8-is-casefolded.c: New file.
13099         * modules/unicase/u8-is-casefolded: New file.
13100
13101         Tests for module 'unicase/u32-is-titlecase'.
13102         * modules/unicase/u32-is-titlecase-tests: New file.
13103         * tests/unicase/test-u32-is-titlecase.c: New file.
13104
13105         Tests for module 'unicase/u16-is-titlecase'.
13106         * modules/unicase/u16-is-titlecase-tests: New file.
13107         * tests/unicase/test-u16-is-titlecase.c: New file.
13108
13109         Tests for module 'unicase/u8-is-titlecase'.
13110         * modules/unicase/u8-is-titlecase-tests: New file.
13111         * tests/unicase/test-u8-is-titlecase.c: New file.
13112         * tests/unicase/test-is-titlecase.h: New file.
13113
13114         New module 'unicase/u32-is-titlecase'.
13115         * lib/unicase/u32-is-titlecase.c: New file.
13116         * modules/unicase/u32-is-titlecase: New file.
13117
13118         New module 'unicase/u16-is-titlecase'.
13119         * lib/unicase/u16-is-titlecase.c: New file.
13120         * modules/unicase/u16-is-titlecase: New file.
13121
13122         New module 'unicase/u8-is-titlecase'.
13123         * lib/unicase/u8-is-titlecase.c: New file.
13124         * modules/unicase/u8-is-titlecase: New file.
13125
13126         Tests for module 'unicase/u32-is-lowercase'.
13127         * modules/unicase/u32-is-lowercase-tests: New file.
13128         * tests/unicase/test-u32-is-lowercase.c: New file.
13129
13130         Tests for module 'unicase/u16-is-lowercase'.
13131         * modules/unicase/u16-is-lowercase-tests: New file.
13132         * tests/unicase/test-u16-is-lowercase.c: New file.
13133
13134         Tests for module 'unicase/u8-is-lowercase'.
13135         * modules/unicase/u8-is-lowercase-tests: New file.
13136         * tests/unicase/test-u8-is-lowercase.c: New file.
13137         * tests/unicase/test-is-lowercase.h: New file.
13138
13139         New module 'unicase/u32-is-lowercase'.
13140         * lib/unicase/u32-is-lowercase.c: New file.
13141         * modules/unicase/u32-is-lowercase: New file.
13142
13143         New module 'unicase/u16-is-lowercase'.
13144         * lib/unicase/u16-is-lowercase.c: New file.
13145         * modules/unicase/u16-is-lowercase: New file.
13146
13147         New module 'unicase/u8-is-lowercase'.
13148         * lib/unicase/u8-is-lowercase.c: New file.
13149         * modules/unicase/u8-is-lowercase: New file.
13150
13151         Tests for module 'unicase/u32-is-uppercase'.
13152         * modules/unicase/u32-is-uppercase-tests: New file.
13153         * tests/unicase/test-u32-is-uppercase.c: New file.
13154
13155         Tests for module 'unicase/u16-is-uppercase'.
13156         * modules/unicase/u16-is-uppercase-tests: New file.
13157         * tests/unicase/test-u16-is-uppercase.c: New file.
13158
13159         Tests for module 'unicase/u8-is-uppercase'.
13160         * modules/unicase/u8-is-uppercase-tests: New file.
13161         * tests/unicase/test-u8-is-uppercase.c: New file.
13162         * tests/unicase/test-is-uppercase.h: New file.
13163
13164         New module 'unicase/u32-is-uppercase'.
13165         * lib/unicase/u32-is-uppercase.c: New file.
13166         * modules/unicase/u32-is-uppercase: New file.
13167
13168         New module 'unicase/u16-is-uppercase'.
13169         * lib/unicase/u16-is-uppercase.c: New file.
13170         * modules/unicase/u16-is-uppercase: New file.
13171
13172         New module 'unicase/u8-is-uppercase'.
13173         * lib/unicase/u8-is-uppercase.c: New file.
13174         * modules/unicase/u8-is-uppercase: New file.
13175
13176         New module 'unicase/u32-is-invariant'.
13177         * lib/unicase/u32-is-invariant.c: New file.
13178         * modules/unicase/u32-is-invariant: New file.
13179
13180         New module 'unicase/u16-is-invariant'.
13181         * lib/unicase/u16-is-invariant.c: New file.
13182         * modules/unicase/u16-is-invariant: New file.
13183
13184         New module 'unicase/u8-is-invariant'.
13185         * lib/unicase/u8-is-invariant.c: New file.
13186         * lib/unicase/invariant.h: New file.
13187         * lib/unicase/u-is-invariant.h: New file.
13188         * modules/unicase/u8-is-invariant: New file.
13189
13190         Tests for module 'unicase/u32-casecoll'.
13191         * modules/unicase/u32-casecoll-tests: New file.
13192         * tests/unicase/test-u32-casecoll.c: New file.
13193
13194         Tests for module 'unicase/u16-casecoll'.
13195         * modules/unicase/u16-casecoll-tests: New file.
13196         * tests/unicase/test-u16-casecoll.c: New file.
13197
13198         Tests for module 'unicase/u8-casecoll'.
13199         * modules/unicase/u8-casecoll-tests: New file.
13200         * tests/unicase/test-u8-casecoll.c: New file.
13201
13202         New module 'unicase/u32-casecoll'.
13203         * lib/unicase/u32-casecoll.c: New file.
13204         * modules/unicase/u32-casecoll: New file.
13205
13206         New module 'unicase/u16-casecoll'.
13207         * lib/unicase/u16-casecoll.c: New file.
13208         * modules/unicase/u16-casecoll: New file.
13209
13210         New module 'unicase/u8-casecoll'.
13211         * lib/unicase/u8-casecoll.c: New file.
13212         * lib/unicase/u-casecoll.h: New file.
13213         * modules/unicase/u8-casecoll: New file.
13214
13215         New module 'unicase/u32-casexfrm'.
13216         * lib/unicase/u32-casexfrm.c: New file.
13217         * modules/unicase/u32-casexfrm: New file.
13218
13219         New module 'unicase/u16-casexfrm'.
13220         * lib/unicase/u16-casexfrm.c: New file.
13221         * modules/unicase/u16-casexfrm: New file.
13222
13223         New module 'unicase/u8-casexfrm'.
13224         * lib/unicase/u8-casexfrm.c: New file.
13225         * lib/unicase/u-casexfrm.h: New file.
13226         * modules/unicase/u8-casexfrm: New file.
13227
13228         Tests for module 'unicase/u32-casecmp'.
13229         * modules/unicase/u32-casecmp-tests: New file.
13230         * tests/unicase/test-u32-casecmp.c: New file.
13231
13232         Tests for module 'unicase/u16-casecmp'.
13233         * modules/unicase/u16-casecmp-tests: New file.
13234         * tests/unicase/test-u16-casecmp.c: New file.
13235
13236         Tests for module 'unicase/u8-casecmp'.
13237         * modules/unicase/u8-casecmp-tests: New file.
13238         * tests/unicase/test-u8-casecmp.c: New file.
13239         * tests/unicase/test-casecmp.h: New file.
13240
13241         New module 'unicase/u32-casecmp'.
13242         * lib/unicase/u32-casecmp.c: New file.
13243         * modules/unicase/u32-casecmp: New file.
13244
13245         New module 'unicase/u16-casecmp'.
13246         * lib/unicase/u16-casecmp.c: New file.
13247         * modules/unicase/u16-casecmp: New file.
13248
13249         New module 'unicase/u8-casecmp'.
13250         * lib/unicase/u8-casecmp.c: New file.
13251         * lib/unicase/u-casecmp.h: New file.
13252         * modules/unicase/u8-casecmp: New file.
13253
13254         Tests for module 'unicase/u32-casefold'.
13255         * modules/unicase/u32-casefold-tests: New file.
13256         * tests/unicase/test-u32-casefold.c: New file.
13257
13258         Tests for module 'unicase/u16-casefold'.
13259         * modules/unicase/u16-casefold-tests: New file.
13260         * tests/unicase/test-u16-casefold.c: New file.
13261
13262         Tests for module 'unicase/u8-casefold'.
13263         * modules/unicase/u8-casefold-tests: New file.
13264         * tests/unicase/test-u8-casefold.c: New file.
13265
13266         New module 'unicase/u32-casefold'.
13267         * lib/unicase/u32-casefold.c: New file.
13268         * modules/unicase/u32-casefold: New file.
13269
13270         New module 'unicase/u16-casefold'.
13271         * lib/unicase/u16-casefold.c: New file.
13272         * modules/unicase/u16-casefold: New file.
13273
13274         New module 'unicase/u8-casefold'.
13275         * lib/unicase/u8-casefold.c: New file.
13276         * lib/unicase/u-casefold.h: New file.
13277         * modules/unicase/u8-casefold: New file.
13278
13279         New module 'unicase/tocasefold'.
13280         * lib/unicase/casefold.h: New file.
13281         * lib/unicase/tocasefold.c: New file.
13282         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
13283         * modules/unicase/tocasefold: New file.
13284
13285         Tests for module 'unicase/u32-totitle'.
13286         * modules/unicase/u32-totitle-tests: New file.
13287         * tests/unicase/test-u32-totitle.c: New file.
13288
13289         Tests for module 'unicase/u16-totitle'.
13290         * modules/unicase/u16-totitle-tests: New file.
13291         * tests/unicase/test-u16-totitle.c: New file.
13292
13293         Tests for module 'unicase/u8-totitle'.
13294         * modules/unicase/u8-totitle-tests: New file.
13295         * tests/unicase/test-u8-totitle.c: New file.
13296
13297         New module 'unicase/u32-totitle'.
13298         * lib/unicase/u32-totitle.c: New file.
13299         * modules/unicase/u32-totitle: New file.
13300
13301         New module 'unicase/u16-totitle'.
13302         * lib/unicase/u16-totitle.c: New file.
13303         * modules/unicase/u16-totitle: New file.
13304
13305         New module 'unicase/u8-totitle'.
13306         * lib/unicase/u8-totitle.c: New file.
13307         * lib/unicase/u-totitle.h: New file.
13308         * modules/unicase/u8-totitle: New file.
13309
13310         Tests for module 'unicase/u32-tolower'.
13311         * modules/unicase/u32-tolower-tests: New file.
13312         * tests/unicase/test-u32-tolower.c: New file.
13313
13314         Tests for module 'unicase/u16-tolower'.
13315         * modules/unicase/u16-tolower-tests: New file.
13316         * tests/unicase/test-u16-tolower.c: New file.
13317
13318         Tests for module 'unicase/u8-tolower'.
13319         * modules/unicase/u8-tolower-tests: New file.
13320         * tests/unicase/test-u8-tolower.c: New file.
13321
13322         New module 'unicase/u32-tolower'.
13323         * lib/unicase/u32-tolower.c: New file.
13324         * modules/unicase/u32-tolower: New file.
13325
13326         New module 'unicase/u16-tolower'.
13327         * lib/unicase/u16-tolower.c: New file.
13328         * modules/unicase/u16-tolower: New file.
13329
13330         New module 'unicase/u8-tolower'.
13331         * lib/unicase/u8-tolower.c: New file.
13332         * modules/unicase/u8-tolower: New file.
13333
13334         Tests for module 'unicase/u32-toupper'.
13335         * modules/unicase/u32-toupper-tests: New file.
13336         * tests/unicase/test-u32-toupper.c: New file.
13337
13338         Tests for module 'unicase/u16-toupper'.
13339         * modules/unicase/u16-toupper-tests: New file.
13340         * tests/unicase/test-u16-toupper.c: New file.
13341
13342         Tests for module 'unicase/u8-toupper'.
13343         * modules/unicase/u8-toupper-tests: New file.
13344         * tests/unicase/test-u8-toupper.c: New file.
13345
13346         New module 'unicase/u32-toupper'.
13347         * lib/unicase/u32-toupper.c: New file.
13348         * modules/unicase/u32-toupper: New file.
13349
13350         New module 'unicase/u16-toupper'.
13351         * lib/unicase/u16-toupper.c: New file.
13352         * modules/unicase/u16-toupper: New file.
13353
13354         New module 'unicase/u8-toupper'.
13355         * lib/unicase/u8-toupper.c: New file.
13356         * modules/unicase/u8-toupper: New file.
13357
13358         New module 'unicase/u32-casemap'.
13359         * lib/unicase/u32-casemap.c: New file.
13360         * modules/unicase/u32-casemap: New file.
13361
13362         New module 'unicase/u16-casemap'.
13363         * lib/unicase/u16-casemap.c: New file.
13364         * modules/unicase/u16-casemap: New file.
13365
13366         New module 'unicase/u8-casemap'.
13367         * lib/unicase/unicasemap.h: New file.
13368         * lib/unicase/u8-casemap.c: New file.
13369         * lib/unicase/u-casemap.h: New file.
13370         * modules/unicase/u8-casemap: New file.
13371
13372         New module 'unicase/special-casing'.
13373         * lib/unicase/special-casing.h: New file.
13374         * lib/unicase/special-casing.c: New file.
13375         * lib/unicase/special-casing-table.gperf: New file, generated by
13376         gen-uni-tables.c.
13377         * modules/unicase/special-casing: New file.
13378
13379         Tests for module 'unicase/locale-language'.
13380         * modules/unicase/locale-language-tests: New file.
13381         * tests/unicase/test-locale-language.sh: New file.
13382         * tests/unicase/test-locale-language.c: New file.
13383
13384         New module 'unicase/locale-language'.
13385         * lib/unicase/locale-language.c: New file.
13386         * lib/unicase/locale-languages.gperf: New file.
13387         * modules/unicase/locale-language: New file.
13388
13389         Generate more tables for case conversion and case folding.
13390         * lib/gen-uni-tables.c (SCC_*): New enum items.
13391         (struct special_casing_rule): New type.
13392         (casing_rules, num_casing_rules, allocated_casing_rules): New
13393         variables.
13394         (add_casing_rule, fill_casing_rules): New functions.
13395         (struct casefold_rule): New type.
13396         (casefolding_rules, num_casefolding_rules,
13397         allocated_casefolding_rules): New variables.
13398         (fill_casefolding_rules): New function.
13399         (unicode_casefold): New variable.
13400         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
13401         sort_casing_rules, output_casing_rules): New functions.
13402         (main): Accept to more arguments: SpecialCasing.txt and
13403         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
13404         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
13405         Output mapping for casefolding.
13406
13407         * lib/unicase.h: Include stdbool.h, uninorm.h.
13408         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
13409         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
13410         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
13411         arguments.
13412         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
13413         resultp arguments.
13414         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
13415         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
13416         resultp arguments.
13417         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
13418         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
13419         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
13420         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
13421         declarations.
13422         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
13423
13424 2009-03-08  Bruno Haible  <bruno@clisp.org>
13425
13426         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
13427         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
13428         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
13429         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
13430
13431 2009-03-07  Bruno Haible  <bruno@clisp.org>
13432
13433         Adjust u*_normcmp, u*_normcoll API.
13434         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
13435         u16_normcoll, u32_normcoll): Change failure conventions.
13436         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
13437         errno and return -1.
13438         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
13439
13440 2009-03-07  Bruno Haible  <bruno@clisp.org>
13441
13442         Tests for module 'uninorm/u32-normcoll'.
13443         * modules/uninorm/u32-normcoll-tests: New file.
13444         * tests/uninorm/test-u32-normcoll.c: New file.
13445
13446         Tests for module 'uninorm/u16-normcoll'.
13447         * modules/uninorm/u16-normcoll-tests: New file.
13448         * tests/uninorm/test-u16-normcoll.c: New file.
13449
13450         Tests for module 'uninorm/u8-normcoll'.
13451         * modules/uninorm/u8-normcoll-tests: New file.
13452         * tests/uninorm/test-u8-normcoll.c: New file.
13453
13454 2009-03-07  Bruno Haible  <bruno@clisp.org>
13455
13456         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
13457         tests/uninorm/test-u32-normcmp.c.
13458         * tests/uninorm/test-u32-normcmp.c: Include it.
13459         (test_nonascii): New function, extracted from main. Add some more
13460         tests.
13461         (main): Invoke test_ascii and test_nonascii.
13462         * modules/uninorm/u32-normcmp-tests (Files): Add
13463         tests/uninorm/test-u32-normcmp.h.
13464         (Depends-on): Remove uninorm/u32-normcmp.
13465
13466         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
13467         tests/uninorm/test-u16-normcmp.c.
13468         * tests/uninorm/test-u16-normcmp.c: Include it.
13469         (test_nonascii): New function, extracted from main. Add some more
13470         tests.
13471         (main): Invoke test_ascii and test_nonascii.
13472         * modules/uninorm/u16-normcmp-tests (Files): Add
13473         tests/uninorm/test-u16-normcmp.h.
13474         (Depends-on): Remove uninorm/u16-normcmp.
13475
13476         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
13477         tests/uninorm/test-u8-normcmp.c.
13478         * tests/uninorm/test-u8-normcmp.c: Include it.
13479         (test_nonascii): New function, extracted from main. Add some more
13480         tests.
13481         (main): Invoke test_ascii and test_nonascii.
13482         * modules/uninorm/u8-normcmp-tests (Files): Add
13483         tests/uninorm/test-u8-normcmp.h.
13484         (Depends-on): Remove uninorm/u8-normcmp.
13485
13486 2009-03-07  Bruno Haible  <bruno@clisp.org>
13487
13488         New module 'uninorm/u32-normcoll'.
13489         * lib/uninorm/u32-normcoll.c: New file.
13490         * modules/uninorm/u32-normcoll: New file.
13491
13492         New module 'uninorm/u16-normcoll'.
13493         * lib/uninorm/u16-normcoll.c: New file.
13494         * modules/uninorm/u16-normcoll: New file.
13495
13496         New module 'uninorm/u8-normcoll'.
13497         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
13498         declarations.
13499         * lib/uninorm/u8-normcoll.c: New file.
13500         * lib/uninorm/u-normcoll.h: New file.
13501         * modules/uninorm/u8-normcoll: New file.
13502
13503         New module 'uninorm/u32-normxfrm'.
13504         * lib/uninorm/u32-normxfrm.c: New file.
13505         * modules/uninorm/u32-normxfrm: New file.
13506
13507         New module 'uninorm/u16-normxfrm'.
13508         * lib/uninorm/u16-normxfrm.c: New file.
13509         * modules/uninorm/u16-normxfrm: New file.
13510
13511         New module 'uninorm/u8-normxfrm'.
13512         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
13513         declarations.
13514         * lib/uninorm/u8-normxfrm.c: New file.
13515         * lib/uninorm/u-normxfrm.h: New file.
13516         * modules/uninorm/u8-normxfrm: New file.
13517
13518 2009-03-07  Bruno Haible  <bruno@clisp.org>
13519
13520         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
13521         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
13522         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
13523
13524 2009-03-07  Bruno Haible  <bruno@clisp.org>
13525
13526         New module 'memxfrm'.
13527         * lib/memxfrm.h: New file.
13528         * lib/memxfrm.c: New file.
13529         * modules/memxfrm: New file.
13530
13531 2009-03-07  Bruno Haible  <bruno@clisp.org>
13532
13533         New module 'memcmp2'.
13534         * lib/memcmp2.h: New file.
13535         * lib/memcmp2.c: New file.
13536         * modules/memcmp2: New file.
13537
13538 2009-03-07  Bruno Haible  <bruno@clisp.org>
13539
13540         Tests for module 'uninorm/decomposing-form'.
13541         * modules/uninorm/decomposing-form-tests: New file.
13542         * tests/uninorm/test-decomposing-form.c: New file.
13543
13544         New module 'uninorm/decomposing-form'.
13545         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
13546         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
13547         Add 'decomposing_variant' field.
13548         * lib/uninorm/decomposing-form.c: New file.
13549         * lib/uninorm/nfc.c (uninorm_nfc): Update.
13550         * lib/uninorm/nfd.c (uninorm_nfd): Update.
13551         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
13552         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
13553         * modules/uninorm/decomposing-form: New file.
13554         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
13555         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
13556
13557 2009-03-07  Bruno Haible  <bruno@clisp.org>
13558
13559         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
13560         strings.
13561
13562 2009-03-06  Bruno Haible  <bruno@clisp.org>
13563
13564         Tests for module 'uninorm/u32-normcmp'.
13565         * tests/uninorm/test-u32-normcmp.c: New file.
13566         * modules/uninorm/u32-normcmp-tests: New file.
13567
13568         Tests for module 'uninorm/u16-normcmp'.
13569         * tests/uninorm/test-u16-normcmp.c: New file.
13570         * modules/uninorm/u16-normcmp-tests: New file.
13571
13572         Tests for module 'uninorm/u8-normcmp'.
13573         * tests/uninorm/test-u8-normcmp.c: New file.
13574         * modules/uninorm/u8-normcmp-tests: New file.
13575
13576         New module 'uninorm/u32-normcmp'.
13577         * lib/uninorm/u32-normcmp.c: New file.
13578         * modules/uninorm/u32-normcmp: New file.
13579
13580         New module 'uninorm/u16-normcmp'.
13581         * lib/uninorm/u16-normcmp.c: New file.
13582         * modules/uninorm/u16-normcmp: New file.
13583
13584         New module 'uninorm/u8-normcmp'.
13585         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
13586         declarations.
13587         * lib/uninorm/u8-normcmp.c: New file.
13588         * lib/uninorm/u-normcmp.h: New file.
13589         * modules/uninorm/u8-normcmp: New file.
13590
13591 2009-03-06  Bruno Haible  <bruno@clisp.org>
13592
13593         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
13594         Reported by Eric Blake.
13595
13596 2009-03-06  Eric Blake  <ebb9@byu.net>
13597             Bruno Haible  <bruno@clisp.org>
13598
13599         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
13600         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
13601         condition.
13602         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
13603         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
13604         condition.
13605         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
13606
13607 2009-03-06  Eric Blake  <ebb9@byu.net>
13608
13609         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
13610         to avoid compiler warnings.
13611         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
13612
13613 2009-03-05  Bruno Haible  <bruno@clisp.org>
13614
13615         * tests/test-ftell.c (main): Disable test beyond end of file on
13616         FreeMiNT.
13617         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
13618
13619 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
13620
13621         * lib/filevercmp.c: Move hidden files up in ordering.
13622         * tests/test-filevercmp.c: Add tests for hidden files.
13623
13624 2009-03-04  Bruno Haible  <bruno@clisp.org>
13625
13626         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
13627         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
13628         AM_CFLAGS.
13629         Reported by Simon Josefsson.
13630
13631 2009-03-03  Bruno Haible  <bruno@clisp.org>
13632
13633         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
13634         Reported by Simon Josefsson.
13635
13636         * doc/ld-version-script.texi: Update node reference.
13637
13638 2009-03-03  Bruno Haible  <bruno@clisp.org>
13639
13640         * modules/visibility (License): Change to 'unlimited'.
13641         Suggested by Simon Josefsson.
13642
13643 2009-03-03  Jim Meyering  <meyering@redhat.com>
13644
13645         unlinkdir: cannot_unlink_dir may modify process state
13646         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
13647         it's neither thread-safe nor appropriate for use in a library.
13648
13649 2009-03-03  Eric Blake  <ebb9@byu.net>
13650
13651         test-closein: silence test under Darwin
13652         * tests/test-closein.sh: Ignore stderr from cat, since we don't
13653         care if it dies from EPIPE or EBADF.
13654
13655 2009-03-03  Bruno Haible  <bruno@clisp.org>
13656
13657         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
13658         earlier.
13659         * doc/visibility.texi: Fix @node and @section.
13660
13661 2009-03-03  Simon Josefsson  <simon@josefsson.org>
13662
13663         * doc/gnulib.texi: Link to sections for ld version script and
13664         visibility.
13665         * doc/visibility.texi: Add @node and @section.
13666         * modules/ld-version-script: New module.
13667         * m4/ld-version-script.m4: New file.
13668         * doc/ld-version-script.texi: New file.
13669
13670 2009-03-02  David Lutterkort  <lutter@redhat.com>
13671
13672         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
13673         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13674
13675 2009-03-02  Bruno Haible  <bruno@clisp.org>
13676
13677         * doc/visibility.texi: Mention libtool's -export-symbols option.
13678
13679 2009-03-02  Jim Meyering  <meyering@redhat.com>
13680
13681         announce-gen: new option: --no-print-checksums
13682         * build-aux/announce-gen (usage): Describe it.
13683         (print_checksums): Print a newline here, not in the [*] footnote.
13684         (main): Honor it.
13685
13686 2009-03-01  Bruno Haible  <bruno@clisp.org>
13687
13688         Use socklen_t in the native Windows replacements prototypes.
13689         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
13690         instead of 'int'.
13691         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13692         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13693         * modules/getsockopt (Depends-on): Add socklen.
13694         * modules/setsockopt (Depends-on): Add socklen.
13695
13696 2009-03-01  Bruno Haible  <bruno@clisp.org>
13697
13698         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
13699         least 4.2.
13700
13701 2009-03-01  Eric Blake  <ebb9@byu.net>
13702             Bruno Haible  <bruno@clisp.org>
13703
13704         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
13705         error messages.
13706         * lib/wait-process.c (wait_subprocess): Omit error message about
13707         deadly signal sent to the child of termsigp != NULL.
13708
13709 2009-03-01  Eric Blake  <ebb9@byu.net>
13710
13711         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
13712
13713 2009-03-01  Bruno Haible  <bruno@clisp.org>
13714
13715         Avoid a gcc warning.
13716         * tests/test-sched.c (b): Make global.
13717         Reported by Eric Blake.
13718
13719 2009-01-19  Martin Lambers  <marlam@marlam.de>
13720
13721         Provide POSIX semantics for socket timeout options on W32.
13722         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
13723         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
13724         * modules/setsockopt: Depend on sys_time module for struct timeval.
13725         * modules/getsockopt: Depend on sys_time module for struct timeval.
13726
13727 2009-03-01  Simon Josefsson  <simon@josefsson.org>
13728
13729         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
13730         __USE_GNU, for consistency with netdb.in.h.
13731         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13732
13733 2009-03-01  Bruno Haible  <bruno@clisp.org>
13734
13735         More support for FreeMiNT.
13736         * lib/fseeko.c (rpl_fseeko): Complete last commit.
13737         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13738
13739 2009-03-01  Bruno Haible  <bruno@clisp.org>
13740
13741         More support for FreeMiNT.
13742         * lib/fpurge.c (fpurge): Correct last commit.
13743         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13744
13745 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13746
13747         Fix unportable awk script in vc-list-files.
13748         * build-aux/vc-list-files: In the replacement awk script, use
13749         substr with a second argument of 1, not zero.
13750         Report by Simon Josefsson.
13751
13752 2009-02-28  Bruno Haible  <bruno@clisp.org>
13753
13754         More support for FreeMiNT.
13755         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
13756         to FreeMiNT today.
13757         * lib/fwriting.c (fwriting): Likewise.
13758         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
13759
13760 2009-02-28  Bruno Haible  <bruno@clisp.org>
13761
13762         * tests/test-freadseek.c (main): Disable test beyond end of file on
13763         FreeMiNT.
13764         * tests/test-ftello.c (main): Likewise.
13765         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
13766
13767 2009-02-28  Bruno Haible  <bruno@clisp.org>
13768
13769         Add tentative support for FreeMiNT.
13770         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
13771         * lib/fpurge.c (fpurge): Likewise.
13772         * lib/freadable.c (freadable): Likewise.
13773         * lib/freading.c (freading): Likewise.
13774         * lib/freadptr.c (freadptr): Likewise.
13775         * lib/freadseek.c (freadptrinc): Likewise.
13776         * lib/fseeko.c (rpl_fseeko): Likewise.
13777         * lib/fseterr.c (fseterr): Likewise.
13778         * lib/fwritable.c (fwritable): Likewise.
13779         * lib/fwriting.c (fwriting): Likewise.
13780         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
13781         Hourihane.
13782         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13783
13784 2009-02-28  Bruno Haible  <bruno@clisp.org>
13785
13786         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
13787         SIGCHLD.
13788         Reported by Jim Meyering.
13789
13790 2009-02-28  Bruno Haible  <bruno@clisp.org>
13791
13792         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
13793         Mention the results of these tests on various platforms.
13794         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
13795         order.
13796         * doc/posix-functions/printf.texi: Likewise.
13797         * doc/posix-functions/snprintf.texi: Likewise.
13798         * doc/posix-functions/sprintf.texi: Likewise.
13799         * doc/posix-functions/vfprintf.texi: Likewise.
13800         * doc/posix-functions/vprintf.texi: Likewise.
13801         * doc/posix-functions/vsnprintf.texi: Likewise.
13802         * doc/posix-functions/vsprintf.texi: Likewise.
13803         * doc/glibc-functions/obstack_printf.texi: Likewise.
13804         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
13805
13806 2009-02-28  Bruno Haible  <bruno@clisp.org>
13807
13808         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
13809         Reported by Loïc Minier <lool@dooz.org>.
13810
13811 2009-02-27  Bruno Haible  <bruno@clisp.org>
13812
13813         * gnulib-tool (func_import): Make the sed expression used to create the
13814         sed script for updating the .gitignore file POSIX compliant.
13815         Reported by Eric Blake.
13816
13817 2009-02-27  Bruno Haible  <bruno@clisp.org>
13818
13819         * gnulib-tool (sed): Don't alias as "sed --posix".
13820         Reported by Eric Blake.
13821
13822 2009-02-27  Bruno Haible  <bruno@clisp.org>
13823
13824         Avoid test link errors.
13825         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
13826         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
13827         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
13828         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
13829         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13830
13831 2009-02-27  Bruno Haible  <bruno@clisp.org>
13832
13833         Avoid spurious "(cached)" in configure output.
13834         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
13835         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
13836         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
13837         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
13838         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
13839         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
13840         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
13841         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
13842         Reported by Eric Blake.
13843
13844 2009-02-27  Eric Blake  <ebb9@byu.net>
13845
13846         printf: fix regression in previous patch
13847         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
13848
13849 2009-02-27  Bruno Haible  <bruno@clisp.org>
13850
13851         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
13852         value.
13853         * lib/stdint.in.h: Likewise.
13854         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
13855
13856 2009-02-27  Eric Blake  <ebb9@byu.net>
13857
13858         doc: mention more functions added in cygwin 1.7.0
13859         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
13860         addition.
13861         * doc/posix-functions/open_wmemstream.texi: Likewise.
13862         * doc/posix-functions/wcsnlen.texi: Likewise.
13863         * doc/posix-functions/wcsnrtombs.texi: Likewise.
13864         * doc/posix-functions/wcstod.texi: Likewise.
13865         * doc/posix-functions/wcstof.texi: Likewise.
13866         * doc/posix-functions/wcstoimax.texi: Likewise.
13867         * doc/posix-functions/wcstok.texi: Likewise.
13868         * doc/posix-functions/wcstoumax.texi: Likewise.
13869
13870         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
13871         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
13872         * doc/posix-functions/fprintf.texi: Update.
13873         * doc/posix-functions/printf.texi: Update.
13874         * doc/posix-functions/snprintf.texi: Update.
13875         * doc/posix-functions/sprintf.texi: Update.
13876         * doc/posix-functions/vfprintf.texi: Update.
13877         * doc/posix-functions/vprintf.texi: Update.
13878         * doc/posix-functions/vsnprintf.texi: Update.
13879         * doc/posix-functions/vsprintf.texi: Update.
13880         * doc/glibc-functions/obstack_printf.texi: Update.
13881         * doc/glibc-functions/obstack_vprintf.texi: Update.
13882
13883 2009-02-26  Eric Blake  <ebb9@byu.net>
13884
13885         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
13886         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
13887         compilation bug by using runtime conversion.
13888         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13889         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
13890         * modules/ceill-tests (Files): Use nan.h.
13891         * modules/floorl-tests (Files): Likewise.
13892         * modules/frexpl-tests (Files): Likewise.
13893         * modules/isnanl-tests (Files): Likewise.
13894         * modules/ldexpl-tests (Files): Likewise.
13895         * modules/roundl-tests (Files): Likewise.
13896         * modules/truncl-tests (Files): Likewise.
13897         * tests/test-ceill.c (main): Use a working NaN.
13898         * tests/test-floorl.c (main): Likewise.
13899         * tests/test-frexpl.c (main): Likewise.
13900         * tests/test-isnan.c (test_long_double): Likewise.
13901         * tests/test-isnanl.h (main): Likewise.
13902         * tests/test-ldexpl.h (main): Likewise.
13903         * tests/test-roundl.h (main): Likewise.
13904         * tests/test-truncl.h (main): Likewise.
13905         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
13906
13907 2009-02-26  Eric Blake  <ebb9@byu.net>
13908             Bruno Haible  <bruno@clisp.org>
13909
13910         Work around a *printf bug with %ls on Solaris.
13911         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
13912         precision is specified, sprintf stops converting the wide string
13913         argument when the number of bytes that have been produced by this
13914         conversion equals or exceeds the precision.
13915         * doc/posix-functions/fprintf.texi: Update.
13916         * doc/posix-functions/printf.texi: Update.
13917         * doc/posix-functions/snprintf.texi: Update.
13918         * doc/posix-functions/sprintf.texi: Update.
13919         * doc/posix-functions/vfprintf.texi: Update.
13920         * doc/posix-functions/vprintf.texi: Update.
13921         * doc/posix-functions/vsnprintf.texi: Update.
13922         * doc/posix-functions/vsprintf.texi: Update.
13923         * doc/glibc-functions/obstack_printf.texi: Update.
13924         * doc/glibc-functions/obstack_vprintf.texi: Update.
13925
13926 2009-02-26  Eric Blake  <ebb9@byu.net>
13927
13928         stdlib: favor compiler check of random.h
13929         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
13930         to avoid an ObjC random.h installed by Swarm.
13931
13932 2009-02-26  Bruno Haible  <bruno@clisp.org>
13933
13934         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
13935         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
13936         Reported by Gary V. Vaughan <gary@gnu.org>.
13937
13938 2009-02-26  Bruno Haible  <bruno@clisp.org>
13939
13940         Fix *printf behaviour regarding the %ls directive.
13941         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
13942         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
13943         NEED_PRINTF_DIRECTIVE_LS.
13944         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
13945         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
13946         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
13947         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
13948         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
13949         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
13950         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
13951         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
13952         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
13953         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
13954         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
13955         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
13956         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
13957         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
13958         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
13959         * doc/posix-functions/fprintf.texi: Update.
13960         * doc/posix-functions/printf.texi: Update.
13961         * doc/posix-functions/snprintf.texi: Update.
13962         * doc/posix-functions/sprintf.texi: Update.
13963         * doc/posix-functions/vfprintf.texi: Update.
13964         * doc/posix-functions/vprintf.texi: Update.
13965         * doc/posix-functions/vsnprintf.texi: Update.
13966         * doc/posix-functions/vsprintf.texi: Update.
13967         * doc/glibc-functions/obstack_printf.texi: Update.
13968         * doc/glibc-functions/obstack_vprintf.texi: Update.
13969         Reported by Eric Blake.
13970
13971 2009-02-25  Bruno Haible  <bruno@clisp.org>
13972
13973         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
13974         with known value.
13975         Reported by Gary V. Vaughan <gary@gnu.org>.
13976
13977 2009-02-25  Bruno Haible  <bruno@clisp.org>
13978
13979         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
13980         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
13981         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
13982         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
13983         Reported by Gary V. Vaughan <gary@gnu.org>.
13984
13985 2009-02-25  Bruno Haible  <bruno@clisp.org>
13986
13987         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
13988         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
13989         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
13990         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
13991         Reported by Gary V. Vaughan <gary@gnu.org>.
13992
13993 2009-02-25  Eric Blake  <ebb9@byu.net>
13994
13995         tests: skip fseek/ftell tests if ungetc is broken
13996         * m4/ungetc.m4: New file.
13997         * modules/fseek-tests: Split test, so ungetc dependency is
13998         separate from rest of test.
13999         * modules/fseeko-tests: Likewise.
14000         * modules/ftell-tests: Likewise.
14001         * modules/ftello-tests: Likewise.
14002         * tests/test-fseek.c (main): Isolate ungetc dependency.
14003         * tests/test-fseeko.c (main): Likewise.
14004         * tests/test-ftell.c (main): Likewise.
14005         * tests/test-ftello.c (main): Likewise.
14006         * tests/test-fseek2.sh: New file.
14007         * tests/test-fseeko2.sh: Likewise.
14008         * tests/test-ftell2.sh: Likewise.
14009         * tests/test-ftello2.sh: Likewise.
14010
14011 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
14012
14013         test-getaddrinfo: fix usage of skip return code 77
14014         * tests/test-gettaddrinfo.c: Return skip code 77 only
14015         for first occurance of skip (4x77 is not 77)
14016
14017 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
14018
14019         strtod: avoid C99 decl-after-statement
14020         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
14021
14022 2009-02-24  Eric Blake  <ebb9@byu.net>
14023
14024         strtod: detect HP-UX 11.31 bug
14025         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
14026         Reported by Gary V. Vaughan.
14027
14028 2009-02-23  Bruno Haible  <bruno@clisp.org>
14029
14030         Fix invalid read past end of memory block.
14031         * lib/vasnprintf.c (DCHAR_SET): Define.
14032         (local_wcslen): Define only when needed.
14033         (local_strnlen, local_wcsnlen): New functions.
14034         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
14035         directives that involve a conversion ourselves.
14036         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
14037         wcsnlen, mbrtowc, wcrtomb.
14038         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
14039         * tests/test-vasprintf-posix.c (test_function): Likewise.
14040         * tests/test-snprintf-posix.h (test_function): Likewise.
14041         * tests/test-sprintf-posix.h (test_function): Likewise.
14042         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14043
14044 2009-02-22  Bruno Haible  <bruno@clisp.org>
14045
14046         Implement new clarified decomposition of Hangul syllables.
14047         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
14048         of type LTV, return only a pairwise decomposition.
14049         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
14050         Likewise.
14051         * tests/uninorm/test-decomposition.c (main): Updated expected result.
14052         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
14053         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
14054
14055 2009-02-22  Bruno Haible  <bruno@clisp.org>
14056
14057         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
14058         zero-length results and shrink excess allocated memory.
14059         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
14060         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
14061         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
14062         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
14063         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
14064         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
14065         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
14066         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
14067         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
14068         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
14069         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
14070         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
14071
14072 2009-02-21  Bruno Haible  <bruno@clisp.org>
14073
14074         * doc/gnulib.texi: Include safe-alloc.texi earlier.
14075         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
14076         spaces after a period. Put a space between a macro name and its
14077         argument list. Trivial rewordings.
14078         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
14079         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
14080         (main): Return 0 explicitly.
14081
14082 2009-02-21  Bruno Haible  <bruno@clisp.org>
14083
14084         Tests for module 'uninorm/filter'.
14085         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
14086         * modules/uninorm/filter-tests: New file.
14087
14088         New module 'uninorm/filter'.
14089         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
14090         uninorm_filter_flush, uninorm_filter_free): New declarations.
14091         * lib/uninorm/uninorm-filter.c: New file.
14092         * modules/uninorm/filter: New file.
14093
14094 2009-02-21  Bruno Haible  <bruno@clisp.org>
14095
14096         Tests for module 'uninorm/nfkc'.
14097         * tests/uninorm/test-nfkc.c: New file.
14098         * tests/uninorm/test-u8-nfkc.c: New file.
14099         * tests/uninorm/test-u16-nfkc.c: New file.
14100         * tests/uninorm/test-u32-nfkc.c: New file.
14101         * tests/uninorm/test-u32-nfkc-big.sh: New file.
14102         * tests/uninorm/test-u32-nfkc-big.c: New file.
14103         * modules/uninorm/nfkc-tests: New file.
14104
14105         New module 'uninorm/nfkc'.
14106         * lib/uninorm/nfkc.c: New file.
14107         * modules/uninorm/nfkc: New file.
14108
14109         Tests for module 'uninorm/nfkd'.
14110         * tests/uninorm/test-nfkd.c: New file.
14111         * tests/uninorm/test-u8-nfkd.c: New file.
14112         * tests/uninorm/test-u16-nfkd.c: New file.
14113         * tests/uninorm/test-u32-nfkd.c: New file.
14114         * tests/uninorm/test-u32-nfkd-big.sh: New file.
14115         * tests/uninorm/test-u32-nfkd-big.c: New file.
14116         * modules/uninorm/nfkd-tests: New file.
14117
14118         New module 'uninorm/nfkd'.
14119         * lib/uninorm/nfkd.c: New file.
14120         * modules/uninorm/nfkd: New file.
14121
14122         Tests for module 'uninorm/nfc'.
14123         * tests/uninorm/test-nfc.c: New file.
14124         * tests/uninorm/test-u8-nfc.c: New file.
14125         * tests/uninorm/test-u16-nfc.c: New file.
14126         * tests/uninorm/test-u32-nfc.c: New file.
14127         * tests/uninorm/test-u32-nfc-big.sh: New file.
14128         * tests/uninorm/test-u32-nfc-big.c: New file.
14129         * modules/uninorm/nfc-tests: New file.
14130
14131         New module 'uninorm/nfc'.
14132         * lib/uninorm/nfc.c: New file.
14133         * modules/uninorm/nfc: New file.
14134
14135         Tests for module 'uninorm/nfd'.
14136         * tests/uninorm/test-nfd.c: New file.
14137         * tests/uninorm/test-u8-nfd.c: New file.
14138         * tests/uninorm/test-u16-nfd.c: New file.
14139         * tests/uninorm/test-u32-nfd.c: New file.
14140         * tests/uninorm/test-u32-nfd-big.sh: New file.
14141         * tests/uninorm/test-u32-nfd-big.c: New file.
14142         * tests/uninorm/test-u32-normalize-big.h: New file.
14143         * tests/uninorm/test-u32-normalize-big.c: New file.
14144         * tests/uninorm/NormalizationTest.txt: New file, created from
14145         Unicode 5.1.0 NormalizationTest.txt.
14146         * modules/uninorm/nfd-tests: New file.
14147
14148         New module 'uninorm/nfd'.
14149         * lib/uninorm/nfd.c: New file.
14150         * modules/uninorm/nfd: New file.
14151
14152         New module 'uninorm/u32-normalize'.
14153         * lib/uninorm/u32-normalize.c: New file.
14154         * modules/uninorm/u32-normalize: New file.
14155
14156         New module 'uninorm/u16-normalize'.
14157         * lib/uninorm/u16-normalize.c: New file.
14158         * modules/uninorm/u16-normalize: New file.
14159
14160         New module 'uninorm/u8-normalize'.
14161         * lib/uninorm/u8-normalize.c: New file.
14162         * lib/uninorm/normalize-internal.h: New file.
14163         * lib/uninorm/u-normalize-internal.h: New file.
14164         * modules/uninorm/u8-normalize: New file.
14165
14166         New module 'uninorm/decompose-internal'.
14167         * lib/uninorm/decompose-internal.c: New file.
14168         * modules/uninorm/decompose-internal: New file.
14169
14170         Tests for module 'uninorm/composition'.
14171         * tests/uninorm/test-composition.c: New file.
14172         * modules/uninorm/composition-tests: New file.
14173
14174         New module 'uninorm/composition'.
14175         * lib/uninorm/composition.c: New file.
14176         * lib/uninorm/composition-table.gperf: New file, generated by
14177         gen-uni-tables.
14178         * modules/uninorm/composition: New file.
14179
14180         Tests for module 'uninorm/compat-decomposition'.
14181         * tests/uninorm/test-compat-decomposition.c: New file.
14182         * modules/uninorm/compat-decomposition-tests: New file.
14183
14184         New module 'uninorm/compat-decomposition'.
14185         * lib/uninorm/decompose-internal.h: New file.
14186         * lib/uninorm/compat-decomposition.c: New file.
14187         * modules/uninorm/compat-decomposition: New file.
14188
14189         Tests for module 'uninorm/canonical-decomposition'.
14190         * tests/uninorm/test-canonical-decomposition.c: New file.
14191         * modules/uninorm/canonical-decomposition-tests: New file.
14192
14193         New module 'uninorm/canonical-decomposition'.
14194         * lib/uninorm/canonical-decomposition.c: New file.
14195         * modules/uninorm/canonical-decomposition: New file.
14196
14197         Tests for module 'uninorm/decomposition'.
14198         * tests/uninorm/test-decomposition.c: New file.
14199         * modules/uninorm/decomposition-tests: New file.
14200
14201         New module 'uninorm/decomposition'.
14202         * lib/uninorm/decomposition.c: New file.
14203         * modules/uninorm/decomposition: New file.
14204
14205         New module 'uninorm/decomposition-table'.
14206         * lib/uninorm/decomposition-table.h: New file.
14207         * lib/uninorm/decomposition-table.c: New file.
14208         * lib/uninorm/decomposition-table1.h: New file, generated by
14209         gen-uni-tables.
14210         * lib/uninorm/decomposition-table2.h: New file, generated by
14211         gen-uni-tables.
14212         * modules/uninorm/decomposition-table: New file.
14213
14214         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
14215         (UC_DECOMP_*): New enumeration items.
14216         (get_decomposition): New function.
14217         (struct decomp_table): New type.
14218         (output_decomposition, output_decomposition_tables): New functions.
14219         (unicode_composition_exclusions): New variable.
14220         (fill_composition_exclusions, debug_output_composition_tables): New
14221         functions.
14222         (main): Accept one more argument. Invoke fill_composition_exclusions.
14223         Output decomposition and composition tables.
14224
14225         New module 'uninorm/base'.
14226         * lib/uninorm.h: New file.
14227         * lib/unictype.h: Update comment.
14228         * modules/uninorm/base: New file.
14229
14230 2009-02-21  David Lutterkort  <lutter@redhat.com>
14231
14232         Tests for module 'safe-alloc'.
14233         * tests/test-safe-alloc.c: New file.
14234         * modules/safe-alloc-tests: New file.
14235
14236         New module 'safe-alloc'.
14237         * lib/safe-alloc.h: New file.
14238         * lib/safe-alloc.c: New file.
14239         * m4/safe-alloc.m4: New file.
14240         * modules/safe-alloc: New file.
14241         * doc/safe-alloc.texi: New file.
14242         * doc/gnulib.texi: Include it.
14243         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
14244         safe-alloc.
14245
14246 2009-02-18  Bruno Haible  <bruno@clisp.org>
14247
14248         Fix link error on non-glibc systems.
14249         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
14250         variable.
14251         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14252
14253 2009-02-18  Jim Meyering  <meyering@redhat.com>
14254
14255         fts: avoid used-uninitialized error due to recent change
14256         * lib/fts.c (fts_read): Guard uses of the new member,
14257         parent->fts_n_dirs_remaining, since it's not relevant for
14258         the parent of a directory specified on the command-line.
14259
14260 2009-02-17  James Youngman  <jay@gnu.org>
14261             Bruno Haible  <bruno@clisp.org>
14262
14263         * m4/include_next.m4: Reformulate comment.
14264
14265 2009-02-16  Jim Meyering  <meyering@redhat.com>
14266
14267         fts: add #if guards so that the fts_lgpl module still builds
14268         * lib/fts.c: Guard just-added hash-table-using parts with
14269         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
14270         Reported by Simon Josefsson.
14271
14272 2009-02-15  Bruno Haible  <bruno@clisp.org>
14273
14274         * modules/array-mergesort-tests: New file.
14275         * tests/test-array-mergesort.c: New file.
14276
14277         New module 'array-mergesort'.
14278         * modules/array-mergesort: New file.
14279         * lib/array-mergesort.h: New file.
14280
14281 2009-02-15  Bruno Haible  <bruno@clisp.org>
14282
14283         Fix 2009-02-07 commit.
14284         * lib/gen-uni-tables.c (output_predicate, output_category,
14285         output_combclass, output_bidi_category, output_decimal_digit,
14286         output_digit, output_numeric, output_mirror, output_scripts,
14287         output_ident_category, output_simple_mapping): Fix format directives.
14288         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
14289
14290 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
14291
14292         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
14293         fixes are available from IBM.
14294
14295 2009-02-13  Jim Meyering  <meyering@redhat.com>
14296
14297         fts: arrange not to stat non-directories in more cases
14298         This makes GNU find (when it doesn't need to stat each file)
14299         *much* more efficient at traversing reiserfs file systems.
14300         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
14301         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
14302         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
14303         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
14304         (leaf_optimization_applies): New function.
14305         (LCO_hash, LCO_compare): New helper functions.
14306         (link_count_optimize_ok): New function.
14307         (fts_stat): Initialize new member (if dir).
14308         (fts_read): Decrement parent's fts_n_dirs_remaining count if
14309         we've just stat'ed a directory.  Skip the stat call when possible.
14310         ---
14311         Note this AFS-related exchange:
14312         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
14313         and note find's pioctl call in find/fstype.c.
14314         But that is necessary only if you want to enable the
14315         optimization for AFS, and for now, I don't.
14316
14317         fts: move a function definition "up" (no semantic change)
14318         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
14319         "up" to precede upcoming use of a related function.
14320
14321 2009-02-11  Jim Meyering  <meyering@redhat.com>
14322
14323         fts: correct internal computation of nlinks (optimization-related)
14324         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
14325         whether the current entry is a directory, so don't test it.
14326
14327 2009-02-10  Bruno Haible  <bruno@clisp.org>
14328
14329         Tests for module 'uniwbrk/ulc-wordbreaks'.
14330         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
14331         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
14332         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
14333
14334         Tests for module 'uniwbrk/u32-wordbreaks'.
14335         * modules/uniwbrk/u32-wordbreaks-tests: New file.
14336         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
14337
14338         Tests for module 'uniwbrk/u16-wordbreaks'.
14339         * modules/uniwbrk/u16-wordbreaks-tests: New file.
14340         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
14341
14342         Tests for module 'uniwbrk/u8-wordbreaks'.
14343         * modules/uniwbrk/u8-wordbreaks-tests: New file.
14344         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
14345
14346 2009-02-10  Bruno Haible  <bruno@clisp.org>
14347
14348         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
14349         property.
14350         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
14351         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
14352         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
14353
14354 2009-02-10  Simon Josefsson  <simon@josefsson.org>
14355
14356         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
14357         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
14358
14359 2009-02-10  Bruno Haible  <bruno@clisp.org>
14360
14361         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
14362         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
14363         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
14364         * lib/unilbrk/u8-possible-linebreaks.c: Update.
14365         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
14366         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
14367
14368 2009-02-09  Simon Josefsson  <simon@josefsson.org>
14369
14370         * lib/sockets.h (gl_fd_to_handle): New function.
14371
14372         * tests/test-sockets.c: Call gl_fd_to_handle.
14373
14374 2009-02-09  Bruno Haible  <bruno@clisp.org>
14375
14376         * doc/havelib.texi: Document the conventions on bi-arch systems.
14377
14378 2009-02-08  Bruno Haible  <bruno@clisp.org>
14379
14380         Document the AC_LIB_LINKFLAGS macro.
14381         * doc/havelib.texi: New file, mostly written on 2005-05-24.
14382         * doc/gnulib.texi: Include it.
14383
14384 2009-02-08  Bruno Haible  <bruno@clisp.org>
14385
14386         Fix wrong order of sections, compared to TOC.
14387         * doc/gnulib.texi: Include relocatable-maint.texi after the
14388         "Regular expressions" node, not before.
14389
14390 2009-02-08  Bruno Haible  <bruno@clisp.org>
14391
14392         Tests for module 'unicase/totitle'.
14393         * modules/unicase/totitle-tests: New file.
14394
14395         Tests for module 'unicase/tolower'.
14396         * modules/unicase/tolower-tests: New file.
14397
14398         Tests for module 'unicase/toupper'.
14399         * modules/unicase/toupper-tests: New file.
14400         * tests/unicase/test-mapping-part1.h: New file.
14401         * tests/unicase/test-mapping-part2.h: New file.
14402
14403         New module 'unicase/totitle'.
14404         * modules/unicase/totitle: New file.
14405         * lib/unicase/totitle.c: New file.
14406
14407         New module 'unicase/tolower'.
14408         * modules/unicase/tolower: New file.
14409         * lib/unicase/tolower.c: New file.
14410
14411         New module 'unicase/toupper'.
14412         * modules/unicase/toupper: New file.
14413         * lib/unicase/toupper.c: New file.
14414         * lib/unicase/simple-mapping.h: New file.
14415
14416         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
14417         (mapping_table): New structure.
14418         (output_simple_mapping): New function.
14419         (main): Invoke output_simple_mapping_test and output_simple_mapping.
14420         * modules/gen-uni-tables (Description): Update.
14421         * lib/unicase/toupper.h: New file, automatically generated by
14422         gen-uni-tables.
14423         * lib/unicase/tolower.h: New file, automatically generated by
14424         gen-uni-tables.
14425         * lib/unicase/totitle.h: New file, automatically generated by
14426         gen-uni-tables.
14427         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
14428         gen-uni-tables.
14429         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
14430         gen-uni-tables.
14431         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
14432         gen-uni-tables.
14433
14434         New module 'unicase/base'.
14435         * modules/unicase/base: New file.
14436         * lib/unicase.h: New file.
14437
14438 2009-02-08  Bruno Haible  <bruno@clisp.org>
14439
14440         New module 'uniwbrk/ulc-wordbreaks'.
14441         * modules/uniwbrk/ulc-wordbreaks: New file.
14442         * lib/uniwbrk/ulc-wordbreaks.c: New file.
14443
14444         New module 'uniwbrk/u32-wordbreaks'.
14445         * modules/uniwbrk/u32-wordbreaks: New file.
14446         * lib/uniwbrk/u32-wordbreaks.c: New file.
14447
14448         New module 'uniwbrk/u16-wordbreaks'.
14449         * modules/uniwbrk/u16-wordbreaks: New file.
14450         * lib/uniwbrk/u16-wordbreaks.c: New file.
14451
14452         New module 'uniwbrk/u8-wordbreaks'.
14453         * modules/uniwbrk/u8-wordbreaks: New file.
14454         * lib/uniwbrk/u8-wordbreaks.c: New file.
14455         * lib/uniwbrk/u-wordbreaks.h: New file.
14456
14457         New module 'uniwbrk/table'.
14458         * modules/uniwbrk/table: New file.
14459         * lib/uniwbrk/wbrktable.h: New file.
14460         * lib/uniwbrk/wbrktable.c: New file.
14461
14462         New module 'uniwbrk/wordbreak-property'.
14463         * modules/uniwbrk/wordbreak-property: New file.
14464         * lib/uniwbrk/wordbreak-property.c: New file.
14465
14466         * lib/gen-uni-tables.c (WBP_*): New enum items.
14467         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
14468         (unicode_org_wbp): New variable.
14469         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
14470         New functions.
14471         (wbp_table): New structure.
14472         (output_wbp, output_wbrk_tables): New functions.
14473         (main): Accept additional argument. Invoke fill_org_wbp,
14474         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
14475         output_wbrk_tables.
14476         * modules/gen-uni-tables (Description): Update.
14477         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
14478         gen-uni-tables.
14479
14480         New module 'uniwbrk/base'.
14481         * modules/uniwbrk/base: New file.
14482         * lib/uniwbrk.h: New file.
14483
14484 2009-02-08  Bruno Haible  <bruno@clisp.org>
14485
14486         Update to Unicode 5.1.0.
14487         * lib/gen-uni-tables.c (is_property_alphabetic): Include
14488         U+2185..U+2188.
14489         (is_property_default_ignorable_code_point): Don't include characters
14490         of category Cc or Cs and not-a-characters.
14491         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
14492         U+0D79, U+109E, U+109F, U+A60C.
14493         * lib/unictype/bidi_of.h: Regenerated.
14494         * lib/unictype/blocks.h: Regenerated.
14495         * lib/unictype/categ_C.h: Regenerated.
14496         * lib/unictype/categ_Cf.h: Regenerated.
14497         * lib/unictype/categ_Cn.h: Regenerated.
14498         * lib/unictype/categ_L.h: Regenerated.
14499         * lib/unictype/categ_Ll.h: Regenerated.
14500         * lib/unictype/categ_Lm.h: Regenerated.
14501         * lib/unictype/categ_Lo.h: Regenerated.
14502         * lib/unictype/categ_Lu.h: Regenerated.
14503         * lib/unictype/categ_M.h: Regenerated.
14504         * lib/unictype/categ_Mc.h: Regenerated.
14505         * lib/unictype/categ_Me.h: Regenerated.
14506         * lib/unictype/categ_Mn.h: Regenerated.
14507         * lib/unictype/categ_N.h: Regenerated.
14508         * lib/unictype/categ_Nd.h: Regenerated.
14509         * lib/unictype/categ_Nl.h: Regenerated.
14510         * lib/unictype/categ_No.h: Regenerated.
14511         * lib/unictype/categ_P.h: Regenerated.
14512         * lib/unictype/categ_Pd.h: Regenerated.
14513         * lib/unictype/categ_Pe.h: Regenerated.
14514         * lib/unictype/categ_Pf.h: Regenerated.
14515         * lib/unictype/categ_Pi.h: Regenerated.
14516         * lib/unictype/categ_Po.h: Regenerated.
14517         * lib/unictype/categ_Ps.h: Regenerated.
14518         * lib/unictype/categ_S.h: Regenerated.
14519         * lib/unictype/categ_Sk.h: Regenerated.
14520         * lib/unictype/categ_Sm.h: Regenerated.
14521         * lib/unictype/categ_So.h: Regenerated.
14522         * lib/unictype/categ_of.h: Regenerated.
14523         * lib/unictype/combining.h: Regenerated.
14524         * lib/unictype/ctype_alnum.h: Regenerated.
14525         * lib/unictype/ctype_alpha.h: Regenerated.
14526         * lib/unictype/ctype_graph.h: Regenerated.
14527         * lib/unictype/ctype_lower.h: Regenerated.
14528         * lib/unictype/ctype_print.h: Regenerated.
14529         * lib/unictype/ctype_punct.h: Regenerated.
14530         * lib/unictype/ctype_upper.h: Regenerated.
14531         * lib/unictype/decdigit.h: Regenerated.
14532         * lib/unictype/digit.h: Regenerated.
14533         * lib/unictype/mirror.h: Regenerated.
14534         * lib/unictype/numeric.h: Regenerated.
14535         * lib/unictype/pr_alphabetic.h: Regenerated.
14536         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
14537         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
14538         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
14539         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
14540         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
14541         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
14542         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
14543         * lib/unictype/pr_combining.h: Regenerated.
14544         * lib/unictype/pr_dash.h: Regenerated.
14545         * lib/unictype/pr_decimal_digit.h: Regenerated.
14546         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
14547         * lib/unictype/pr_deprecated.h: Regenerated.
14548         * lib/unictype/pr_diacritic.h: Regenerated.
14549         * lib/unictype/pr_extender.h: Regenerated.
14550         * lib/unictype/pr_format_control.h: Regenerated.
14551         * lib/unictype/pr_grapheme_base.h: Regenerated.
14552         * lib/unictype/pr_grapheme_extend.h: Regenerated.
14553         * lib/unictype/pr_grapheme_link.h: Regenerated.
14554         * lib/unictype/pr_id_continue.h: Regenerated.
14555         * lib/unictype/pr_id_start.h: Regenerated.
14556         * lib/unictype/pr_ideographic.h: Regenerated.
14557         * lib/unictype/pr_ignorable_control.h: Regenerated.
14558         * lib/unictype/pr_lowercase.h: Regenerated.
14559         * lib/unictype/pr_math.h: Regenerated.
14560         * lib/unictype/pr_numeric.h: Regenerated.
14561         * lib/unictype/pr_other_alphabetic.h: Regenerated.
14562         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
14563         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
14564         * lib/unictype/pr_other_id_continue.h: Regenerated.
14565         * lib/unictype/pr_other_lowercase.h: Regenerated.
14566         * lib/unictype/pr_other_math.h: Regenerated.
14567         * lib/unictype/pr_punctuation.h: Regenerated.
14568         * lib/unictype/pr_sentence_terminal.h: Regenerated.
14569         * lib/unictype/pr_soft_dotted.h: Regenerated.
14570         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
14571         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
14572         * lib/unictype/pr_unified_ideograph.h: Regenerated.
14573         * lib/unictype/pr_uppercase.h: Regenerated.
14574         * lib/unictype/pr_xid_continue.h: Regenerated.
14575         * lib/unictype/pr_xid_start.h: Regenerated.
14576         * lib/unictype/pr_zero_width.h: Regenerated.
14577         * lib/unictype/scripts.h: Regenerated.
14578         * lib/unictype/scripts_byname.gperf: Regenerated.
14579         * lib/unictype/sy_java_ident.h: Regenerated.
14580         * lib/unilbrk/lbrkprop1.h: Regenerated.
14581         * lib/unilbrk/lbrkprop2.h: Regenerated.
14582         * tests/unictype/test-categ_C.c: Regenerated.
14583         * tests/unictype/test-categ_Cf.c: Regenerated.
14584         * tests/unictype/test-categ_Cn.c: Regenerated.
14585         * tests/unictype/test-categ_L.c: Regenerated.
14586         * tests/unictype/test-categ_Ll.c: Regenerated.
14587         * tests/unictype/test-categ_Lm.c: Regenerated.
14588         * tests/unictype/test-categ_Lo.c: Regenerated.
14589         * tests/unictype/test-categ_Lu.c: Regenerated.
14590         * tests/unictype/test-categ_M.c: Regenerated.
14591         * tests/unictype/test-categ_Mc.c: Regenerated.
14592         * tests/unictype/test-categ_Me.c: Regenerated.
14593         * tests/unictype/test-categ_Mn.c: Regenerated.
14594         * tests/unictype/test-categ_N.c: Regenerated.
14595         * tests/unictype/test-categ_Nd.c: Regenerated.
14596         * tests/unictype/test-categ_Nl.c: Regenerated.
14597         * tests/unictype/test-categ_No.c: Regenerated.
14598         * tests/unictype/test-categ_P.c: Regenerated.
14599         * tests/unictype/test-categ_Pd.c: Regenerated.
14600         * tests/unictype/test-categ_Pe.c: Regenerated.
14601         * tests/unictype/test-categ_Pf.c: Regenerated.
14602         * tests/unictype/test-categ_Pi.c: Regenerated.
14603         * tests/unictype/test-categ_Po.c: Regenerated.
14604         * tests/unictype/test-categ_Ps.c: Regenerated.
14605         * tests/unictype/test-categ_S.c: Regenerated.
14606         * tests/unictype/test-categ_Sk.c: Regenerated.
14607         * tests/unictype/test-categ_Sm.c: Regenerated.
14608         * tests/unictype/test-categ_So.c: Regenerated.
14609         * tests/unictype/test-ctype_alnum.c: Regenerated.
14610         * tests/unictype/test-ctype_alpha.c: Regenerated.
14611         * tests/unictype/test-ctype_graph.c: Regenerated.
14612         * tests/unictype/test-ctype_lower.c: Regenerated.
14613         * tests/unictype/test-ctype_print.c: Regenerated.
14614         * tests/unictype/test-ctype_punct.c: Regenerated.
14615         * tests/unictype/test-ctype_upper.c: Regenerated.
14616         * tests/unictype/test-decdigit.h: Regenerated.
14617         * tests/unictype/test-digit.h: Regenerated.
14618         * tests/unictype/test-numeric.h: Regenerated.
14619         * tests/unictype/test-pr_alphabetic.c: Regenerated.
14620         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
14621         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
14622         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
14623         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
14624         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
14625         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
14626         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
14627         * tests/unictype/test-pr_combining.c: Regenerated.
14628         * tests/unictype/test-pr_dash.c: Regenerated.
14629         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
14630         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
14631         * tests/unictype/test-pr_deprecated.c: Regenerated.
14632         * tests/unictype/test-pr_diacritic.c: Regenerated.
14633         * tests/unictype/test-pr_extender.c: Regenerated.
14634         * tests/unictype/test-pr_format_control.c: Regenerated.
14635         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
14636         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
14637         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
14638         * tests/unictype/test-pr_id_continue.c: Regenerated.
14639         * tests/unictype/test-pr_id_start.c: Regenerated.
14640         * tests/unictype/test-pr_ideographic.c: Regenerated.
14641         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
14642         * tests/unictype/test-pr_lowercase.c: Regenerated.
14643         * tests/unictype/test-pr_math.c: Regenerated.
14644         * tests/unictype/test-pr_numeric.c: Regenerated.
14645         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
14646         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
14647         Regenerated.
14648         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
14649         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
14650         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
14651         * tests/unictype/test-pr_other_math.c: Regenerated.
14652         * tests/unictype/test-pr_punctuation.c: Regenerated.
14653         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
14654         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
14655         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
14656         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
14657         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
14658         * tests/unictype/test-pr_uppercase.c: Regenerated.
14659         * tests/unictype/test-pr_xid_continue.c: Regenerated.
14660         * tests/unictype/test-pr_xid_start.c: Regenerated.
14661         * tests/unictype/test-pr_zero_width.c: Regenerated.
14662
14663         Update to Unicode 5.1.0.
14664         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
14665         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
14666         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
14667         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
14668         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
14669         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
14670         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
14671         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
14672         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
14673         (nonspacing_table_ind): Update.
14674         * tests/uniwidth/test-uc_width2.sh: Update expected result.
14675
14676         Update to Unicode 5.1.0.
14677         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
14678         code transform.
14679         * lib/uniname/uniname.c (unicode_character_name,
14680         unicode_name_character): Add the range 0x1Fxxx to the code transform.
14681         * lib/uniname/uninames.h: Regenerated.
14682         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
14683
14684 2009-02-07  Bruno Haible  <bruno@clisp.org>
14685
14686         Merge gen-ctype and gen-lbrk into a single program.
14687         * lib/gen-uni-tables.c: New file, incorporating
14688         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
14689         Add directory prefixes to the names of the generated files.
14690         * lib/unictype/gen-ctype.c: Remove file.
14691         * lib/unilbrk/gen-lbrk.c: Remove file.
14692         * modules/gen-uni-tables: New file.
14693         * modules/unictype/gen-ctype: Remove file.
14694         * modules/unilbrk/gen-lbrk: Remove file.
14695
14696 2009-02-07  Bruno Haible  <bruno@clisp.org>
14697
14698         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
14699
14700         New module 'unistr/u32-strcoll'.
14701         * modules/unistr/u32-strcoll: New file.
14702         * lib/unistr/u32-strcoll.c: New file.
14703
14704         New module 'unistr/u16-strcoll'.
14705         * modules/unistr/u16-strcoll: New file.
14706         * lib/unistr/u16-strcoll.c: New file.
14707
14708         New module 'unistr/u8-strcoll'.
14709         * modules/unistr/u8-strcoll: New file.
14710         * lib/unistr/u8-strcoll.c: New file.
14711         * lib/unistr/u-strcoll.h: New file.
14712
14713 2009-02-07  Bruno Haible  <bruno@clisp.org>
14714
14715         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
14716         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
14717         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
14718         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
14719         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
14720         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
14721
14722 2009-02-07  Bruno Haible  <bruno@clisp.org>
14723
14724         Make 64-bit clean.
14725         * lib/unictype/gen-ctype.c (output_predicate, output_category,
14726         output_combclass, output_bidi_category, output_decimal_digit,
14727         output_digit, output_numeric, output_mirror, output_scripts,
14728         output_ident_category): Use proper width specifier in format strings.
14729
14730 2009-02-07  Bruno Haible  <bruno@clisp.org>
14731
14732         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
14733         failure behaviour.
14734
14735 2009-02-07  Jim Meyering  <meyering@redhat.com>
14736
14737         regex: avoid compilation failure with upcoming gcc-4.4
14738         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
14739         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
14740         "... error: integer overflow in preprocessor expression".
14741
14742 2009-02-05  Ben Pfaff  <blp@gnu.org>
14743
14744         Fix link errors on Windows when close module is used.
14745         * modules/close: Add $(LIB_CLOSE) to Link section.
14746         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
14747         $(LIB_CLOSE) on Windows.
14748
14749 2009-02-05  Jim Meyering  <meyering@redhat.com>
14750
14751         still avoid unused-parameter warnings, but do it cleanly
14752         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
14753         (get_fs_usage): Cast to void instead.
14754         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
14755         (dev_from_mount_options, read_file_system_list): Cast to void.
14756         Prompted by Bruno Haible.
14757
14758 2009-02-04  Jim Meyering  <meyering@redhat.com>
14759
14760         fsusage.c: correct copyright year
14761         * lib/fsusage.c: Reflect year in which the change is pushed into
14762
14763         avoid misc. warnings
14764         * lib/fsusage.c (UNUSED_PARAM): Define.
14765         (get_fs_usage): Mark parameter "disk" as unused.
14766         * lib/getugroups.c (getgrent): Use "void" in prototype.
14767         * lib/mountlist.c: Mark unused parameters.
14768         (read_file_system_list): Declare a local with "const".
14769         * lib/nanosleep.c (getnow): Declare static.
14770         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
14771
14772         dirfd: set errno upon failure
14773         * lib/dirfd.c: Include <errno.h>.
14774         Set errno to ENOTSUP when returning -1.
14775         * modules/dirfd (Depends-on): Add errno.
14776         Suggested by John Kodis <kodis@comcast.net>.
14777
14778 2009-02-01  Bruno Haible  <bruno@clisp.org>
14779
14780         Don't assume sizeof (long) >= sizeof (void *).
14781         * lib/memcmp.c: Include stdint.h.
14782         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
14783         srcp2 to 'const byte *'.
14784         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
14785         types to uintptr_t.
14786         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
14787         * modules/memcmp (Depends-on): Add stdint.
14788         Reported by Ozkan Sezer <sezeroz@gmail.com>.
14789
14790 2009-01-30  Eric Blake  <ebb9@byu.net>
14791
14792         fix more require-before-expand issues
14793         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
14794         expand, AC_PROG_AWK.
14795         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
14796
14797 2009-01-28  Eric Blake  <ebb9@byu.net>
14798
14799         version-etc: use consistent URL formatting
14800         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
14801         Improve formatting.  Use fputs for string without %.
14802
14803 2009-01-28  Jim Meyering  <meyering@redhat.com>
14804
14805         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
14806         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
14807         "underquoted definition of NAME" from autoconf-2.59.
14808
14809 2009-01-28  Bruno Haible  <bruno@clisp.org>
14810
14811         * doc/gnulib.texi: Add "Obsolete modules" to index.
14812
14813 2009-01-28  Jim Meyering  <meyering@redhat.com>
14814
14815         useless-if-before-free: recognize more variants
14816         * build-aux/useless-if-before-free: Also recognize e.g.,
14817         if (NULL != p) free (p);
14818
14819 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
14820
14821         test-getaddrinfo: skip (don't fail) this test when there's no network
14822         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
14823         on the presumption that it means you lack network access.
14824
14825 2009-01-26  Jim Meyering  <meyering@redhat.com>
14826
14827         fflush: avoid warnings on modern systems
14828         * lib/fflush.c (rpl_fflush): Move declarations of locals,
14829         pos and result, into scopes where they're used.
14830
14831 2009-01-26  Eric Blake  <ebb9@byu.net>
14832
14833         Silence warning reintroduced by recent extensions patch.
14834         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
14835         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
14836         autoconf.
14837
14838         Backport improved autoconf semantics of AC_DEFUN_ONCE.
14839         * m4/00gnulib.m4: New file.
14840         * gnulib-tool (func_get_filelist): Always use it.
14841         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
14842         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
14843
14844 2009-01-25  Bruno Haible  <bruno@clisp.org>
14845
14846         Make test-quotearg work on MacOS X and AIX.
14847         * tests/test-quotearg.sh: New file.
14848         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
14849         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
14850         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
14851         include <libintl.h>.
14852         (fake_locale): Remove variable.
14853         (gettext, dgettext, dcgettext): Remove functions.
14854         (main): Instead of setting a fake locale, set a real locale. Call
14855         textdomain and bindtextdomain.
14856         * modules/quotearg-tests (Files): Add the new files.
14857         (Depends-on): Add gettext, setenv, unsetenv.
14858         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
14859         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
14860         Augment TESTS_ENVIRONMENT.
14861
14862 2009-01-25  Bruno Haible  <bruno@clisp.org>
14863
14864         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
14865         fr_FR.ISO8859-1 locale on MacOS X.
14866         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
14867         ja_JP.eucJP locale on MacOS X.
14868         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
14869         zh_CN.GB18030 locale on MacOS X.
14870
14871 2009-01-25  Bruno Haible  <bruno@clisp.org>
14872
14873         Avoid link errors on MacOS X 10.3.
14874         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
14875         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
14876
14877 2009-01-25  Bruno Haible  <bruno@clisp.org>
14878
14879         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
14880         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
14881         * modules/pipe (Files): Remove m4/posix_spawn.m4.
14882         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
14883         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
14884         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
14885         posix_spawnattr_init, posix_spawnattr_setsigmask,
14886         posix_spawnattr_setflags, posix_spawnattr_destroy.
14887
14888         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
14889         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
14890         * modules/execute (Files): Remove m4/posix_spawn.m4.
14891         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
14892         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
14893         posix_spawnattr_init, posix_spawnattr_setsigmask,
14894         posix_spawnattr_setflags, posix_spawnattr_destroy.
14895
14896 2009-01-25  Bruno Haible  <bruno@clisp.org>
14897
14898         * lib/glthread/threadlib.c: Include <stdlib.h>.
14899
14900 2009-01-25  Bruno Haible  <bruno@clisp.org>
14901
14902         * lib/glthread/threadlib.c (dummy): New declaration.
14903
14904 2009-01-25  Bruno Haible  <bruno@clisp.org>
14905
14906         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
14907         multibyte characters also for the GB18030 encoding. Don't crash when
14908         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
14909
14910 2009-01-25  Bruno Haible  <bruno@clisp.org>
14911
14912         Avoid redefining 'struct random_data' on OSF/1 5.1.
14913         * lib/stdlib.in.h: Include <random.h> if it exists.
14914         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
14915         HAVE_RANDOM_H. Include <random.h> when testing whether
14916         'struct random_data' exists.
14917         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
14918
14919 2009-01-25  Bruno Haible  <bruno@clisp.org>
14920
14921         Don't install charset.alias on MacOS X >= 10.3.
14922         * lib/localcharset.c (DARWIN7): New macro.
14923         (get_charset_aliases): Hardcode the result for Darwin7.
14924         * modules/localcharset (install-exec-local): Don't install
14925         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
14926
14927 2009-01-25  Bruno Haible  <bruno@clisp.org>
14928
14929         Don't install charset.alias on mingw and Cygwin.
14930         * modules/localcharset (install-exec-local): Don't install
14931         charset.alias on mingw and Cygwin, if the file does not yet exist.
14932         The result for these platforms is hardcoded in localcharset.c.
14933
14934 2009-01-25  Bruno Haible  <bruno@clisp.org>
14935
14936         Make it possible again to use AC_GNU_SOURCE together with gnulib.
14937         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
14938         before requiring AC_USE_SYSTEM_EXTENSIONS.
14939
14940 2009-01-25  Jim Meyering  <meyering@redhat.com>
14941
14942         c-strtod: avoid warnings
14943         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
14944         "assignment discards qualifiers from pointer target type" warnings.
14945
14946 2009-01-24  Bruno Haible  <bruno@clisp.org>
14947
14948         Add support for non-UTF-8 locales on MacOS X.
14949         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
14950         canonical encodings. For Darwin 7 and newer, don't map traditional
14951         encodings to UTF-8.
14952         Reported by Vincent Lefevre <vincent@vinc17.org>
14953         at <http://savannah.gnu.org/bugs/?25235>.
14954
14955 2009-01-24  Bruno Haible  <bruno@clisp.org>
14956
14957         * doc/gnulib.texi (Obsolete modules): New section.
14958         Reported by Mike Frysinger <vapier@gentoo.org>.
14959
14960 2009-01-24  Bruno Haible  <bruno@clisp.org>
14961
14962         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
14963         (%.dvi): New rule.
14964
14965 2009-01-24  Bruno Haible  <bruno@clisp.org>
14966
14967         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
14968         Reported by Eric Blake.
14969
14970 2009-01-24  Bruno Haible  <bruno@clisp.org>
14971
14972         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
14973         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
14974         Reported by Gary V. Vaughan <gary@gnu.org>.
14975
14976 2009-01-24  Bruno Haible  <bruno@clisp.org>
14977
14978         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
14979
14980 2009-01-23  Bruno Haible  <bruno@clisp.org>
14981
14982         Make c-strtod, c-strtold usable in libraries.
14983         * lib/c-strtod.c: Include string.h instead of xalloc.h.
14984         (C_STRTOD): Call strdup instead of xstrdup.
14985         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
14986         * modules/c-strtold (Depends-on): Likewise.
14987         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
14988         * NEWS: Mention the change.
14989         Reported by Michael Gold <mgold@ncf.ca>.
14990
14991 2009-01-23  Jim Meyering  <meyering@redhat.com>
14992
14993         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
14994         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
14995         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
14996
14997 2009-01-23  Simon Josefsson  <simon@josefsson.org>
14998
14999         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
15000         GNU CoreUtils.
15001         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
15002         * modules/version-etc (Description): Update.
15003
15004 2009-01-22  Bruno Haible  <bruno@clisp.org>
15005
15006         Cache the C locale object.
15007         * lib/c-strtod.c (c_locale_cache): New variable.
15008         (c_locale): New function.
15009         (C_STRTOD): Use it, and don't call freelocale.
15010         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
15011         Suggested by Paolo Bonzini.
15012
15013 2009-01-21  Bruno Haible  <bruno@clisp.org>
15014
15015         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
15016         conditions other than overflow.
15017
15018 2009-01-21  Bruno Haible  <bruno@clisp.org>
15019
15020         * lib/c-strtod.c: Include errno.h.
15021         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
15022         value from STRTOD_L and STRTOD.
15023
15024 2009-01-21  Bruno Haible  <bruno@clisp.org>
15025         and Jim Meyering  <meyering@redhat.com>
15026
15027         nanosleep: skip configure test (fail it) for apple universal builds
15028         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
15029         universal builds, assume that nanosleep does not work.
15030         * modules/nanosleep (Depends-on): Add multiarch.
15031
15032         mktime: skip configure test (fail it) for apple universal builds
15033         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
15034         universal builds, assume that mktime does not work.
15035         * modules/mktime (Depends-on): Add multiarch.
15036
15037 2009-01-21  Eric Blake  <ebb9@byu.net>
15038
15039         multiarch: avoid expand-before-require warning
15040         * modules/multiarch (configure.ac): Require, rather than expand,
15041         gl_MULTIARCH.
15042         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
15043         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
15044         enforce that all clients require it.  Partial reversion of
15045         2008-12-29 patch.
15046
15047         error: avoid expand-before-require warning
15048         * modules/errno (configure.ac): Require, rather than expand,
15049         gl_HEADER_ERRNO_H.
15050         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
15051         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
15052         enforce that all clients require it.
15053
15054         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
15055         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
15056         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
15057         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
15058
15059 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
15060
15061         Revert:
15062         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
15063
15064         regex: do not depend on obsolete modules.
15065         * modules/regex: Remove memcmp and memmove.
15066
15067 2009-01-20  Bruno Haible  <bruno@clisp.org>
15068
15069         Make the 'link' module link on Windows NT 4.
15070         * lib/link.c (_WIN32_WINNT): Don't define.
15071         (CreateHardLinkFuncType): New type.
15072         (CreateHardLinkFunc, initialized): New variables.
15073         (initialize): New function.
15074         (link): Invoke CreateHardLink indirectly through the function pointer.
15075
15076 2009-01-20  Bruno Haible  <bruno@clisp.org>
15077
15078         Fix compilation failure on mingw.
15079         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
15080
15081 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
15082
15083         * doc/c-strtod.texi: Mention a couple of restrictions.
15084
15085 2009-01-20  Jim Meyering  <meyering@redhat.com>
15086
15087         gettimeofday: move more declarations out of functions
15088         * lib/gettimeofday.c: Move extern declarations of tzset and
15089         gmtime out of containing functions.  Prompted by Bruno Haible.
15090
15091 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
15092
15093         regex: do not depend on obsolete modules.
15094         * modules/regex: Remove memcmp and memmove.
15095
15096 2009-01-19  Bruno Haible  <bruno@clisp.org>
15097
15098         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
15099         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
15100         gl_BIGENDIAN, not AC_C_BIGENDIAN.
15101         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
15102         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
15103
15104 2009-01-19  Bruno Haible  <bruno@clisp.org>
15105
15106         * tests/test-link.c: Include <errno.h>.
15107         (main): Exit with code 77 when a hard link cannot be created due to
15108         the file system.
15109         * tests/test-link.sh: Skip test when a hard link cannot be created due
15110         to the file system.
15111         Suggested by Eric Blake.
15112
15113 2009-01-19  Martin Lambers  <marlam@marlam.de>
15114
15115         * modules/link-tests: New file.
15116         * tests/test-link.sh: New file.
15117         * tests/test-link.c: New file.
15118
15119 2009-01-19  Eric Blake  <ebb9@byu.net>
15120
15121         doc: mention another function added in cygwin 1.7.0
15122         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
15123         Another new function in cygwin 1.7.
15124
15125 2009-01-19  Bruno Haible  <bruno@clisp.org>
15126
15127         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
15128         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
15129         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
15130         gl_BIGENDIAN, not AC_C_BIGENDIAN.
15131         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
15132         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
15133         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
15134         * m4/md4.m4 (gl_MD4): Likewise.
15135         * m4/md5.m4 (gl_MD5): Likewise.
15136         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
15137         * m4/sha1.m4 (gl_SHA1): Likewise.
15138         * m4/sha256.m4 (gl_SHA256): Likewise.
15139         * m4/sha512.m4 (gl_SHA512): Likewise.
15140
15141 2009-01-19  Bruno Haible  <bruno@clisp.org>
15142
15143         * modules/uniname/uniname-tests (Depends-on): Add progname.
15144         * tests/uniname/test-uninames.c: Include progname.h.
15145         (main): Call set_program_name.
15146
15147         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
15148         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
15149         (main): Call set_program_name.
15150
15151         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
15152         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
15153         (main): Call set_program_name.
15154
15155         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
15156         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
15157         (main): Call set_program_name.
15158
15159         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
15160         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
15161         (main): Call set_program_name.
15162
15163         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
15164         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
15165         (main): Call set_program_name.
15166
15167         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
15168         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
15169         (main): Call set_program_name.
15170
15171         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
15172         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
15173         (main): Call set_program_name.
15174
15175         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
15176         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
15177         (main): Call set_program_name.
15178
15179 2009-01-19  Eric Blake  <ebb9@byu.net>
15180
15181         test-unistd: test previous patch
15182         * tests/test-unistd.c: Test *_FILENO macros.
15183
15184         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
15185         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
15186         Guarantee a definition.
15187         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
15188         * modules/unistd-safer (Depends-on): Add dependency on unistd.
15189         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
15190         * lib/dup-safer.c (STDERR_FILENO): Likewise.
15191         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
15192         Likewise.
15193         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
15194         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
15195         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
15196         Likewise.
15197         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
15198         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
15199         (STDERR_FILENO): Likewise.
15200         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
15201         (STDERR_FILENO): Likewise.
15202         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
15203         (STDERR_FILENO): Likewise.
15204         Reported by Elbert Pol.
15205
15206 2009-01-19  Eric Blake  <ebb9@byu.net>
15207
15208         doc: mention more functions added in cygwin 1.7.0
15209         * doc/posix-functions/abort.texi (abort): Update wording related
15210         to cygwin.
15211         * doc/posix-functions/daylight.texi (daylight): Likewise.
15212         * doc/posix-functions/optarg.texi (optarg): Likewise.
15213         * doc/posix-functions/optarg.texi (opterr): Likewise.
15214         * doc/posix-functions/optarg.texi (optind): Likewise.
15215         * doc/posix-functions/optarg.texi (optopt): Likewise.
15216         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
15217         worked in 1.5.x, and was withdrawn in 1.7.
15218         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
15219         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
15220         cygwin versions.
15221         * doc/posix-functions/perror.texi (perror): Likewise.
15222         * doc/posix-functions/printf.texi (printf): Likewise.
15223         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
15224         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
15225         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15226         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15227         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
15228         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
15229         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
15230         Likewise.
15231         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
15232         Likewise.
15233         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
15234         this function.
15235         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
15236         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
15237         Likewise.
15238         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
15239         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
15240         * doc/posix-functions/confstr.texi (confstr): Likewise.
15241         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
15242         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
15243         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
15244         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
15245         * doc/posix-functions/fputws.texi (fputws): Likewise.
15246         * doc/posix-functions/fwide.texi (fwide): Likewise.
15247         * doc/posix-functions/getwc.texi (getwc): Likewise.
15248         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
15249         * doc/posix-functions/putwc.texi (putwc): Likewise.
15250         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
15251         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
15252         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
15253         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
15254         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
15255         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
15256         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
15257         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
15258         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
15259         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
15260         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
15261
15262 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
15263
15264         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
15265         * lib/ioctl.c: Include <sys/ioctl.h>.
15266
15267 2009-01-19  Simon Josefsson  <simon@josefsson.org>
15268
15269         * modules/getdate-tests (Depends-on): Add progname.
15270         * tests/test-getdate.c: Use progname module, to avoid link errors
15271         on non-glibc systems.
15272
15273 2009-01-18  Simon Josefsson  <simon@josefsson.org>
15274
15275         * modules/filenamecat-tests (Depends-on): Add progname.
15276         * modules/fstrcmp-tests (Depends-on): Likewise.
15277
15278         * tests/test-filenamecat.c: Use progname module, to avoid link
15279         errors on non-glibc systems.
15280         * tests/test-fstrcmp.c: Likewise.
15281
15282 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
15283
15284         gettimeofday: avoid warning: nested extern declaration of 'localtime'
15285         * lib/gettimeofday.c: Move extern declaration out of function.
15286
15287 2009-01-18  Bruno Haible  <bruno@clisp.org>
15288
15289         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
15290         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
15291         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
15292
15293 2009-01-18  Bruno Haible  <bruno@clisp.org>
15294
15295         * lib/strftime.c (MEMPCPY): Remove unused macro.
15296         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
15297
15298 2009-01-18  Martin Lambers  <marlam@marlam.de>
15299
15300         New module 'link'.
15301         * lib/unistd.in.h (link): New declaration.
15302         * lib/link.c: New file.
15303         * m4/link.m4: New file.
15304         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
15305         HAVE_LINK.
15306         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
15307         * modules/link: New file.
15308         * doc/posix-functions/link.texi: Mention the new module.
15309
15310 2009-01-18  Bruno Haible  <bruno@clisp.org>
15311
15312         * tests/test-avltree_list.c (main): Call set_program_name.
15313         * tests/test-avltree_oset.c (main): Likewise.
15314         * tests/test-obstack-printf.c: Include progname.h.
15315         (main): Call set_program_name.
15316         * tests/test-quotearg.c: Include progname.h.
15317         (main): Call set_program_name.
15318         * tests/test-xmemdup0.c: Include progname.h.
15319         (main): Call set_program_name.
15320
15321 2009-01-18  Bruno Haible  <bruno@clisp.org>
15322
15323         New module 'alphasort'.
15324         * lib/dirent.in.h (alphasort): New declaration.
15325         * lib/alphasort.c: New file, from glibc with modifications.
15326         * m4/alphasort.m4: New file.
15327         * modules/alphasort: New file.
15328         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
15329         HAVE_ALPHASORT.
15330         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
15331         HAVE_ALPHASORT.
15332         * doc/posix-functions/alphasort.texi: Mention the new module and the
15333         portability problems.
15334
15335 2009-01-18  Bruno Haible  <bruno@clisp.org>
15336
15337         New module 'scandir'.
15338         * lib/dirent.in.h (scandir): New declaration.
15339         * lib/scandir.c: New file, from glibc with modifications.
15340         * m4/scandir.m4: New file.
15341         * modules/scandir: New file.
15342         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
15343         HAVE_SCANDIR.
15344         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
15345         HAVE_SCANDIR.
15346         * doc/posix-functions/scandir.texi: Mention the new module and the
15347         portability problems.
15348
15349 2009-01-17  Bruno Haible  <bruno@clisp.org>
15350
15351         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
15352         Update documentation.
15353         (func_remove_suffix): Escape all dots in the suffix. Update
15354         documentation.
15355         (func_filter_filelist): Update documentation.
15356         Reported by Ralf Wildenhues.
15357
15358 2009-01-17  Bruno Haible  <bruno@clisp.org>
15359
15360         * modules/dprintf-posix-tests: New file.
15361         * tests/test-dprintf-posix.sh: New file.
15362         * tests/test-dprintf-posix.c: New file.
15363
15364         New modules 'dprintf', 'dprintf-posix'.
15365         * lib/stdio.in.h (dprintf): New declaration.
15366         * lib/dprintf.c: New file.
15367         * m4/dprintf.m4: New file.
15368         * m4/dprintf-posix.m4: New file.
15369         * modules/dprintf: New file.
15370         * modules/dprintf-posix: New file.
15371         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
15372         HAVE_DPRINTF, REPLACE_DPRINTF.
15373         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
15374         HAVE_DPRINTF, REPLACE_DPRINTF.
15375         * doc/posix-functions/dprintf.texi: Mention the new modules.
15376
15377 2009-01-17  Bruno Haible  <bruno@clisp.org>
15378
15379         * modules/vdprintf-posix-tests: New file.
15380         * tests/test-vdprintf-posix.sh: New file.
15381         * tests/test-vdprintf-posix.c: New file.
15382
15383         New modules 'vdprintf', 'vdprintf-posix'.
15384         * lib/stdio.in.h (vdprintf): New declaration.
15385         * lib/vdprintf.c: New file.
15386         * m4/vdprintf.m4: New file.
15387         * m4/vdprintf-posix.m4: New file.
15388         * modules/vdprintf: New file.
15389         * modules/vdprintf-posix: New file.
15390         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
15391         HAVE_VDPRINTF, REPLACE_VDPRINTF.
15392         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
15393         HAVE_VDPRINTF, REPLACE_VDPRINTF.
15394         * doc/posix-functions/vdprintf.texi: Mention the new modules.
15395
15396 2009-01-17  Bruno Haible  <bruno@clisp.org>
15397
15398         Fix replacement of fopen on mingw.
15399         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
15400         mingw.
15401
15402 2009-01-17  Bruno Haible  <bruno@clisp.org>
15403
15404         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
15405         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
15406
15407 2009-01-17  Bruno Haible  <bruno@clisp.org>
15408
15409         Avoid test-fflush2.sh failure on mingw.
15410         * tests/test-fflush2.c: Include binary-io.h.
15411         (main): Put standard input into binary mode.
15412         * modules/fflush-tests (Depends-on): Add binary-io.
15413
15414 2009-01-17  Bruno Haible  <bruno@clisp.org>
15415
15416         * lib/wchar.in.h: In another particular situation, include only the
15417         system's <wchar.h> file.
15418         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
15419         Reported by Albert Chin-A-Young <china@thewrittenword.com>
15420         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
15421
15422 2009-01-17  Bruno Haible  <bruno@clisp.org>
15423
15424         Support for stripping executables in --enable-relocatable.
15425         * build-aux/install-reloc: Expect one more argument, or an environment
15426         variable RELOC_STRIP_PROG. If set, strip the destination program and
15427         its wrapper.
15428         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
15429         RELOC_STRIP_PROG.
15430         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
15431         to set RELOCATABLE_STRIP.
15432         * NEWS: Mention the new Makefile requirement.
15433
15434 2009-01-17  Bruno Haible  <bruno@clisp.org>
15435
15436         * build-aux/install-reloc: Remove debugging information left over by
15437         C compiler on MacOS X.
15438
15439 2009-01-17  Bruno Haible  <bruno@clisp.org>
15440
15441         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
15442         * lib/progreloc.c (find_executable): Fix type of pointer passed to
15443         _NSGetExecutablePath.
15444
15445 2009-01-16  Jim Meyering  <meyering@redhat.com>
15446
15447         strerror: avoid warnings about discarding "const"
15448         * lib/strerror.c (rpl_strerror): Instead of returning a const
15449         string from each and every "case", use a variable, and add a single
15450         cast after the switch.
15451
15452 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
15453
15454         * lib/arpa_inet.in.h: Add extern "C" block for C++.
15455
15456 2009-01-16  Bruno Haible  <bruno@clisp.org>
15457
15458         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
15459         array initializer syntax that also works in C++ mode.
15460         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15461
15462 2009-01-16  Jim Meyering  <meyering@redhat.com>
15463
15464         poll: suppress a warning
15465         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
15466         to ignore "...unsigned expression < 0 is always false" warnings.
15467
15468 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
15469
15470         poll: remove declarations of unused variables
15471         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
15472         sockbuf and optlen.
15473
15474 2009-01-15  Bruno Haible  <bruno@clisp.org>
15475
15476         Make fflush-after-ungetc POSIX compliant on BSD systems.
15477         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
15478         (clear_ungetc_buffer): Implement also for other systems.
15479         (rpl_fflush): On glibc systems, invoke
15480         clear_ungetc_buffer_preserving_position. Otherwise, invoke
15481         clear_ungetc_buffer after fetching the stream's position, not before.
15482
15483 2009-01-15  Bruno Haible  <bruno@clisp.org>
15484
15485         Make fflush-after-ungetc POSIX compliant on glibc systems.
15486         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
15487         after ungetc.
15488         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
15489         (rpl_fflush): On glibc systems, simply call the system's fflush
15490         function after clearing the ungetc buffer.
15491         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
15492         Instead, lseek only to the end of file, then use the system's fseeko
15493         for the rest. On glibc systems, reset the EOF indicator bit.
15494
15495 2009-01-15  Jim Meyering  <meyering@redhat.com>
15496
15497         openmp.m4: revert quote-adding change, for portability to older autoconf
15498         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
15499         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
15500         Simon Josefsson noticed the problem when using autoconf-2.61.
15501
15502 2009-01-15  Bruno Haible  <bruno@clisp.org>
15503
15504         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
15505         * tests/test-fflush2.c (ASSERT): Always fail.
15506         (main): Add two tests for fflush() after ungetc(), taking into account
15507         the Austin Group's clarification.
15508         Suggested by Eric Blake.
15509
15510 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
15511
15512         mktime.m4: remove K&R-style function prototypes
15513         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
15514         for the Sun C++ compiler.
15515
15516 2009-01-14  Bruno Haible  <bruno@clisp.org>
15517
15518         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
15519         while including <wchar.h>.
15520         * lib/wchar.in.h: In two particular situations on HP-UX, include only
15521         the system's <wchar.h> file.
15522         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15523
15524 2009-01-14  Bruno Haible  <bruno@clisp.org>
15525
15526         * m4/csharp.m4: Don't mention gettext on the serial number line.
15527         * m4/csharpexec.m4: Likewise.
15528         * m4/eaccess.m4: Likewise.
15529         * m4/javaexec.m4: Likewise.
15530         * m4/sig_atomic_t.m4: Likewise.
15531         * m4/tmpdir.m4: Likewise.
15532         * m4/intldir.m4: Bump gettext version.
15533         * m4/lib-ld.m4: Likewise.
15534
15535 2009-01-14  Bruno Haible  <bruno@clisp.org>
15536
15537         * lib/progname.c (set_program_name): Add more comments.
15538         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
15539
15540 2009-01-14  Simon Josefsson  <simon@josefsson.org>
15541
15542         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
15543         were sys/stat.h does not define it.
15544
15545 2009-01-14  Jim Meyering  <meyering@redhat.com>
15546
15547         many *.m4 files: improve m4 quoting
15548         99% of this change was performed by running the following commands:
15549         git ls-files | grep '\.m4$' | xargs perl -pi \
15550           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
15551           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
15552           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
15553           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
15554         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
15555         The remainder were to add Copyright dates, increment serial numbers,
15556         undo some changes in comments, exclude m4/intl.m4, and add quotes
15557         around the "1" in ",1" where the unusual spacing prohibited the
15558         above regexps from doing the job.  For more details, see
15559         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
15560         * m4/acl.m4: Modified.
15561         * m4/afs.m4: Likewise.
15562         * m4/alloca.m4: Likewise.
15563         * m4/argp.m4: Likewise.
15564         * m4/argz.m4: Likewise.
15565         * m4/atexit.m4: Likewise.
15566         * m4/bison-i18n.m4: Likewise.
15567         * m4/bison.m4: Likewise.
15568         * m4/byteswap.m4: Likewise.
15569         * m4/c-stack.m4: Likewise.
15570         * m4/c-strtod.m4: Likewise.
15571         * m4/calloc.m4: Likewise.
15572         * m4/canonicalize-lgpl.m4: Likewise.
15573         * m4/chown.m4: Likewise.
15574         * m4/clock_time.m4: Likewise.
15575         * m4/codeset.m4: Likewise.
15576         * m4/copy-file.m4: Likewise.
15577         * m4/csharp.m4: Likewise.
15578         * m4/csharpcomp.m4: Likewise.
15579         * m4/csharpexec.m4: Likewise.
15580         * m4/d-ino.m4: Likewise.
15581         * m4/d-type.m4: Likewise.
15582         * m4/dirfd.m4: Likewise.
15583         * m4/double-slash-root.m4: Likewise.
15584         * m4/eaccess.m4: Likewise.
15585         * m4/eealloc.m4: Likewise.
15586         * m4/environ.m4: Likewise.
15587         * m4/errno_h.m4: Likewise.
15588         * m4/euidaccess.m4: Likewise.
15589         * m4/execute.m4: Likewise.
15590         * m4/fatal-signal.m4: Likewise.
15591         * m4/fchdir.m4: Likewise.
15592         * m4/fcntl_h.m4: Likewise.
15593         * m4/fileblocks.m4: Likewise.
15594         * m4/filenamecat.m4: Likewise.
15595         * m4/findprog.m4: Likewise.
15596         * m4/flexmember.m4: Likewise.
15597         * m4/fnmatch.m4: Likewise.
15598         * m4/fopen.m4: Likewise.
15599         * m4/fpending.m4: Likewise.
15600         * m4/fprintf-posix.m4: Likewise.
15601         * m4/free.m4: Likewise.
15602         * m4/frexp.m4: Likewise.
15603         * m4/frexpl.m4: Likewise.
15604         * m4/fsusage.m4: Likewise.
15605         * m4/ftruncate.m4: Likewise.
15606         * m4/gc-camellia.m4: Likewise.
15607         * m4/gc-random.m4: Likewise.
15608         * m4/gc.m4: Likewise.
15609         * m4/getaddrinfo.m4: Likewise.
15610         * m4/getcwd-abort-bug.m4: Likewise.
15611         * m4/getcwd-path-max.m4: Likewise.
15612         * m4/getdate.m4: Likewise.
15613         * m4/getdomainname.m4: Likewise.
15614         * m4/getgroups.m4: Likewise.
15615         * m4/gethostname.m4: Likewise.
15616         * m4/gethrxtime.m4: Likewise.
15617         * m4/getline.m4: Likewise.
15618         * m4/getloadavg.m4: Likewise.
15619         * m4/getndelim2.m4: Likewise.
15620         * m4/getpass.m4: Likewise.
15621         * m4/gettext.m4: Likewise.
15622         * m4/gettime.m4: Likewise.
15623         * m4/gettimeofday.m4: Likewise.
15624         * m4/gnulib-common.m4: Likewise.
15625         * m4/group-member.m4: Likewise.
15626         * m4/host-os.m4: Likewise.
15627         * m4/iconv.m4: Likewise.
15628         * m4/iconv_open.m4: Likewise.
15629         * m4/inet_ntop.m4: Likewise.
15630         * m4/inet_pton.m4: Likewise.
15631         * m4/inline.m4: Likewise.
15632         * m4/intldir.m4: Likewise.
15633         * m4/intlmacosx.m4: Likewise.
15634         * m4/intmax.m4: Likewise.
15635         * m4/intmax_t.m4: Likewise.
15636         * m4/inttypes.m4: Likewise.
15637         * m4/inttypes_h.m4: Likewise.
15638         * m4/inttypes-pri.m4: Likewise.
15639         * m4/isapipe.m4: Likewise.
15640         * m4/isnand.m4: Likewise.
15641         * m4/isnanf.m4: Likewise.
15642         * m4/isnanl.m4: Likewise.
15643         * m4/javacomp.m4: Likewise.
15644         * m4/javaexec.m4: Likewise.
15645         * m4/jm-winsz1.m4: Likewise.
15646         * m4/jm-winsz2.m4: Likewise.
15647         * m4/lchown.m4: Likewise.
15648         * m4/lcmessage.m4: Likewise.
15649         * m4/ldexpl.m4: Likewise.
15650         * m4/lib-ld.m4: Likewise.
15651         * m4/lib-link.m4: Likewise.
15652         * m4/libsigsegv.m4: Likewise.
15653         * m4/link-follow.m4: Likewise.
15654         * m4/localcharset.m4: Likewise.
15655         * m4/locale-fr.m4: Likewise.
15656         * m4/locale-ja.m4: Likewise.
15657         * m4/locale-tr.m4: Likewise.
15658         * m4/locale-zh.m4: Likewise.
15659         * m4/lock.m4: Likewise.
15660         * m4/longlong.m4: Likewise.
15661         * m4/ls-mntd-fs.m4: Likewise.
15662         * m4/lstat.m4: Likewise.
15663         * m4/malloc.m4: Likewise.
15664         * m4/mathl.m4: Likewise.
15665         * m4/mbrtowc.m4: Likewise.
15666         * m4/mbstate_t.m4: Likewise.
15667         * m4/mbswidth.m4: Likewise.
15668         * m4/memchr.m4: Likewise.
15669         * m4/memcmp.m4: Likewise.
15670         * m4/memcpy.m4: Likewise.
15671         * m4/memmem.m4: Likewise.
15672         * m4/memmove.m4: Likewise.
15673         * m4/mempcpy.m4: Likewise.
15674         * m4/memrchr.m4: Likewise.
15675         * m4/memset.m4: Likewise.
15676         * m4/minmax.m4: Likewise.
15677         * m4/mkdir-slash.m4: Likewise.
15678         * m4/mkdtemp.m4: Likewise.
15679         * m4/mktime.m4: Likewise.
15680         * m4/mmap-anon.m4: Likewise.
15681         * m4/mountlist.m4: Likewise.
15682         * m4/nanosleep.m4: Likewise.
15683         * m4/nls.m4: Likewise.
15684         * m4/nocrash.m4: Likewise.
15685         * m4/open.m4: Likewise.
15686         * m4/openat.m4: Likewise.
15687         * m4/openmp.m4: Likewise.
15688         * m4/pathmax.m4: Likewise.
15689         * m4/perl.m4: Likewise.
15690         * m4/physmem.m4: Likewise.
15691         * m4/pipe.m4: Likewise.
15692         * m4/po.m4: Likewise.
15693         * m4/poll.m4: Likewise.
15694         * m4/posixtm.m4: Likewise.
15695         * m4/posixver.m4: Likewise.
15696         * m4/printf-frexp.m4: Likewise.
15697         * m4/printf-frexpl.m4: Likewise.
15698         * m4/printf-posix.m4: Likewise.
15699         * m4/printf-posix-rpl.m4: Likewise.
15700         * m4/printf.m4: Likewise.
15701         * m4/progtest.m4: Likewise.
15702         * m4/putenv.m4: Likewise.
15703         * m4/readline.m4: Likewise.
15704         * m4/readlink.m4: Likewise.
15705         * m4/readutmp.m4: Likewise.
15706         * m4/realloc.m4: Likewise.
15707         * m4/regex.m4: Likewise.
15708         * m4/relocatable.m4: Likewise.
15709         * m4/relocatable-lib.m4: Likewise.
15710         * m4/rename-dest-slash.m4: Likewise.
15711         * m4/rename.m4: Likewise.
15712         * m4/rmdir-errno.m4: Likewise.
15713         * m4/rmdir.m4: Likewise.
15714         * m4/roundf.m4: Likewise.
15715         * m4/roundl.m4: Likewise.
15716         * m4/rpmatch.m4: Likewise.
15717         * m4/save-cwd.m4: Likewise.
15718         * m4/selinux-selinux-h.m4: Likewise.
15719         * m4/setenv.m4: Likewise.
15720         * m4/settime.m4: Likewise.
15721         * m4/sig2str.m4: Likewise.
15722         * m4/sig_atomic_t.m4: Likewise.
15723         * m4/signalblocking.m4: Likewise.
15724         * m4/signbit.m4: Likewise.
15725         * m4/sigpipe.m4: Likewise.
15726         * m4/sockets.m4: Likewise.
15727         * m4/sockpfaf.m4: Likewise.
15728         * m4/st_dm_mode.m4: Likewise.
15729         * m4/stat-time.m4: Likewise.
15730         * m4/stdbool.m4: Likewise.
15731         * m4/stdint.m4: Likewise.
15732         * m4/stdint_h.m4: Likewise.
15733         * m4/stpcpy.m4: Likewise.
15734         * m4/stpncpy.m4: Likewise.
15735         * m4/strcase.m4: Likewise.
15736         * m4/strchrnul.m4: Likewise.
15737         * m4/strcspn.m4: Likewise.
15738         * m4/strdup.m4: Likewise.
15739         * m4/strftime.m4: Likewise.
15740         * m4/strndup.m4: Likewise.
15741         * m4/strnlen.m4: Likewise.
15742         * m4/strpbrk.m4: Likewise.
15743         * m4/strptime.m4: Likewise.
15744         * m4/strsep.m4: Likewise.
15745         * m4/strtod.m4: Likewise.
15746         * m4/strtoimax.m4: Likewise.
15747         * m4/strtok_r.m4: Likewise.
15748         * m4/strtol.m4: Likewise.
15749         * m4/strtoll.m4: Likewise.
15750         * m4/strtoul.m4: Likewise.
15751         * m4/strtoull.m4: Likewise.
15752         * m4/strtoumax.m4: Likewise.
15753         * m4/strverscmp.m4: Likewise.
15754         * m4/threadlib.m4: Likewise.
15755         * m4/timegm.m4: Likewise.
15756         * m4/tm_gmtoff.m4: Likewise.
15757         * m4/tmpdir.m4: Likewise.
15758         * m4/tmpfile.m4: Likewise.
15759         * m4/tzset.m4: Likewise.
15760         * m4/uintmax_t.m4: Likewise.
15761         * m4/unlinkdir.m4: Likewise.
15762         * m4/unlocked-io.m4: Likewise.
15763         * m4/uptime.m4: Likewise.
15764         * m4/userspec.m4: Likewise.
15765         * m4/utimbuf.m4: Likewise.
15766         * m4/utime.m4: Likewise.
15767         * m4/utimes-null.m4: Likewise.
15768         * m4/utimes.m4: Likewise.
15769         * m4/vararrays.m4: Likewise.
15770         * m4/vasnprintf.m4: Likewise.
15771         * m4/vfprintf-posix.m4: Likewise.
15772         * m4/vprintf-posix.m4: Likewise.
15773         * m4/wait-process.m4: Likewise.
15774         * m4/wchar_t.m4: Likewise.
15775         * m4/wint_t.m4: Likewise.
15776         * m4/write-any-file.m4: Likewise.
15777         * m4/yield.m4: Likewise.
15778
15779 2009-01-13  Bruno Haible  <bruno@clisp.org>
15780
15781         Avoid test-copy-file.sh failures when ACL support insufficient.
15782         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
15783         TESTS_ENVIRONMENT.
15784         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
15785         Reported by Jim Meyering.
15786
15787 2009-01-13  Bruno Haible  <bruno@clisp.org>
15788
15789         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
15790         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
15791         * modules/unistdio/u8-printf-parse (Files): Likewise.
15792         * modules/unistdio/u32-printf-parse (Files): Likewise.
15793         * modules/unistdio/ulc-printf-parse (Files): Likewise.
15794
15795 2009-01-13  Simon Josefsson  <simon@josefsson.org>
15796
15797         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
15798         and m4/inttypes_h.m4 too.
15799
15800 2009-01-12  Eric Blake  <ebb9@byu.net>
15801
15802         tests: IRIX 6.2 cc can't compile -0.0 into .data
15803         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
15804         rather than at compile-time.
15805         * tests/test-floorl.c (minus_zero): Likewise.
15806         * tests/test-frexpl.c (minus_zero): Likewise.
15807         * tests/test-isnan.c (minus_zerol): Likewise.
15808         * tests/test-isnanl.h (minus_zero): Likewise.
15809         * tests/test-ldexpl.c (minus_zero): Likewise.
15810         * tests/test-roundl.c (minus_zero): Likewise.
15811         * tests/test-signbit.c (minus_zerol): Likewise.
15812         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
15813         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
15814         * tests/test-truncl.c (minus_zero): Likewise.
15815         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
15816         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
15817         Reported by Tom G. Christensen and Nelson H. F. Beebe.
15818
15819 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
15820
15821         regex: fix glibc bug 9697
15822         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
15823         handling.
15824
15825 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
15826
15827         regex: fix glibc bug 697
15828         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
15829         being NULL also if there are no backreferences.
15830
15831 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
15832
15833         regex: merge glibc changes
15834         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
15835         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
15836         re_string_skip_chars, re_string_reconstruct): Likewise.
15837         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
15838
15839 2009-01-07  Jim Meyering  <meyering@redhat.com>
15840
15841         poll: filter through cppi
15842         * lib/poll.c: Indent cpp directives to reflect nesting.
15843
15844 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
15845
15846         poll: don't return uninitialized
15847         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
15848
15849 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
15850
15851         avoid compile failure on AIX 6.1
15852         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
15853         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
15854
15855 2009-01-04  Jim Meyering  <meyering@redhat.com>
15856
15857         remove duplicate inclusion of <stdio.h>
15858         * tests/test-fprintf-posix.c: Likewise.
15859         * tests/test-printf-posix.c: Likewise.
15860         * tests/test-snprintf-posix.c: Likewise.
15861         * tests/test-sprintf-posix.c: Likewise.
15862         * tests/test-vasprintf-posix.c: Likewise.
15863         * tests/test-vfprintf-posix.c: Likewise.
15864         * tests/test-vprintf-posix.c: Likewise.
15865         * tests/test-vsnprintf-posix.c: Likewise.
15866         * tests/test-vsprintf-posix.c: Likewise.
15867
15868 2009-01-03  Jim Meyering  <meyering@redhat.com>
15869
15870         gnulib-tool: fix sed-based filtering
15871         * gnulib-tool (func_filter_filelist): Remove extra backslash
15872         in sed_fff_filter definition.
15873
15874 2009-01-02  Jim Meyering  <meyering@redhat.com>
15875
15876         strftime: avoid compilation failure on Solaris 2.6
15877         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
15878         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
15879         Don't #define mbrlen or mbsinit, since now they're guaranteed to
15880         be available.  Reported by Tom G. Christensen.  Details in
15881         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
15882
15883 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15884             Bruno Haible  <bruno@clisp.org>
15885
15886         Speed up gnulib-tool by doing more string processing through shell
15887         built-ins.
15888         * gnulib-tool (fast_func_append): New variable.
15889         (func_remove_prefix, func_remove_suffix): New functions.
15890         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
15891         (func_filter_filelist): New function.
15892         (func_get_dependencies): Use func_remove_suffix instead of sed.
15893         (func_get_automake_snippet): Use func_filter_filelist instead of a
15894         subshell and sed invocation.
15895
15896 2009-01-01  Bruno Haible  <bruno@clisp.org>
15897
15898         Fix a security bug.
15899         * gnulib-tool (func_import, import, update): Don't allow the characters
15900         '"', '$', '`', '\' in macro arguments that become part of commands that
15901         are evaluated.
15902
15903 2009-01-01  Bruno Haible  <bruno@clisp.org>
15904
15905         * gnulib-tool (func_reset_sigpipe): Add more comments.
15906
15907 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15908
15909         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
15910         func_emit_tests_Makefile_am, func_import): Abort loops early if we
15911         already know the answer.
15912
15913 2009-01-01  Jim Meyering  <meyering@redhat.com>
15914
15915         * lib/version-etc.c (version_etc_va): Update copyright year.
15916
15917 2008-12-30  Bruno Haible  <bruno@clisp.org>
15918
15919         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
15920         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
15921         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
15922
15923 2008-12-29  Eric Blake  <ebb9@byu.net>
15924
15925         multiarch: avoid autoconf AC_REQUIRE bug
15926         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
15927         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
15928         2.63 and older.
15929         Reported by Bruno Haible, and analyzed in
15930         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
15931
15932 2008-12-29  Bruno Haible  <bruno@clisp.org>
15933
15934         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
15935         files in subdirectories correctly.
15936         Reported by Ralf Wildenhues.
15937
15938 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15939
15940         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
15941         rather than 'join FILE -', for Solaris join.
15942
15943 2008-12-29  Bruno Haible  <bruno@clisp.org>
15944
15945         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
15946         quoting.
15947         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
15948         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
15949         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
15950         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
15951         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
15952         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
15953         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
15954         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
15955         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
15956         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
15957         * m4/nls.m4 (AM_NLS): Likewise.
15958         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
15959         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
15960         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
15961         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
15962         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
15963         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
15964         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
15965         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
15966         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
15967         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
15968         * m4/xsize.m4 (gl_XSIZE): Likewise.
15969         Suggested by Jim Meyering.
15970
15971 2008-11-17  Bruce Korb  <bkorb@gnu.org>
15972
15973         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
15974         * lib/parse-duration.c: use a switch instead of cascading if's.
15975
15976 2008-12-29  Eric Blake  <ebb9@byu.net>
15977
15978         wchar.h: supply WEOF on Irix 5.3
15979         * lib/wchar.in.h (wint_t): Also supply WEOF.
15980         * lib/wctype.in.h (wint_t): Likewise.
15981         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
15982         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
15983         Reported by Tom G. Christensen.
15984
15985 2008-12-26  Bruno Haible  <bruno@clisp.org>
15986
15987         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
15988         i486, i586, i686.
15989
15990 2008-12-26  Bruno Haible  <bruno@clisp.org>
15991
15992         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
15993
15994 2008-12-26  Bruno Haible  <bruno@clisp.org>
15995
15996         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
15997         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
15998         not __STDC_CONSTANT_MACROS.
15999         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
16000
16001 2008-12-25  Bruno Haible  <bruno@clisp.org>
16002
16003         Add support for universal builds to vasnprintf.
16004         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
16005         universal builds, guess no.
16006         * modules/vasnprintf-posix (Depends-on): Add multiarch.
16007         * modules/vasprintf-posix (Depends-on): Likewise.
16008         * modules/fprintf-posix (Depends-on): Likewise.
16009         * modules/vfprintf-posix (Depends-on): Likewise.
16010         * modules/snprintf-posix (Depends-on): Likewise.
16011         * modules/vsnprintf-posix (Depends-on): Likewise.
16012         * modules/sprintf-posix (Depends-on): Likewise.
16013         * modules/vsprintf-posix (Depends-on): Likewise.
16014         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
16015         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
16016         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
16017         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
16018         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
16019         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
16020         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
16021
16022         Add support for universal builds to <inttypes.h>.
16023         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
16024         _SCNu64_PREFIX): In Apple
16025         universal builds, define directly, using _LP64.
16026         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
16027         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
16028         * modules/inttypes (Depends-on): Add multiarch.
16029         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
16030
16031         Add support for universal builds to <stdint.h>.
16032         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
16033         universal builds, define directly, using _LP64.
16034         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
16035         Apple universal builds, don't test for the size and suffix of ptrdiff_t
16036         and size_t.
16037         * modules/stdint (Depends-on): Add multiarch.
16038         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
16039
16040         New module 'multiarch'.
16041         * modules/multiarch: New file.
16042         * m4/multiarch.m4: New file.
16043
16044 2008-12-25  Bruno Haible  <bruno@clisp.org>
16045
16046         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
16047
16048 2008-12-25  Bruno Haible  <bruno@clisp.org>
16049
16050         * modules/btowc (License): Relicense under LGPLv2+.
16051         * modules/mbsinit (License): Likewise.
16052         * modules/mbrtowc (License): Likewise.
16053         * modules/wcrtomb (License): Likewise.
16054         * modules/streq (License): Likewise.
16055         Reported by David Lutterkort <lutter@redhat.com>.
16056
16057 2008-12-23  Bruno Haible  <bruno@clisp.org>
16058
16059         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
16060
16061 2008-12-23  Bruno Haible  <bruno@clisp.org>
16062
16063         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
16064         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
16065         GETADDRINFO_LIB, not in LIBS.
16066         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
16067         * modules/canon-host (Link): Likewise.
16068         * NEWS: Mention the change.
16069         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
16070         GETADDRINFO_LIB.
16071
16072 2008-12-22  Bruno Haible  <bruno@clisp.org>
16073
16074         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
16075         * doc/posix-functions/iswalpha_l.texi: Likewise.
16076         * doc/posix-functions/iswblank_l.texi: Likewise.
16077         * doc/posix-functions/iswcntrl_l.texi: Likewise.
16078         * doc/posix-functions/iswctype_l.texi: Likewise.
16079         * doc/posix-functions/iswdigit_l.texi: Likewise.
16080         * doc/posix-functions/iswgraph_l.texi: Likewise.
16081         * doc/posix-functions/iswlower_l.texi: Likewise.
16082         * doc/posix-functions/iswprint_l.texi: Likewise.
16083         * doc/posix-functions/iswpunct_l.texi: Likewise.
16084         * doc/posix-functions/iswspace_l.texi: Likewise.
16085         * doc/posix-functions/iswupper_l.texi: Likewise.
16086         * doc/posix-functions/iswxdigit_l.texi: Likewise.
16087         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
16088         * doc/posix-functions/open_wmemstream.texi: Likewise.
16089         * doc/posix-functions/swscanf.texi: Likewise.
16090         * doc/posix-functions/towctrans_l.texi: Likewise.
16091         * doc/posix-functions/towlower.texi: Likewise.
16092         * doc/posix-functions/towlower_l.texi: Likewise.
16093         * doc/posix-functions/towupper.texi: Likewise.
16094         * doc/posix-functions/towupper_l.texi: Likewise.
16095         * doc/posix-functions/vfwprintf.texi: Likewise.
16096         * doc/posix-functions/vfwscanf.texi: Likewise.
16097         * doc/posix-functions/vswscanf.texi: Likewise.
16098         * doc/posix-functions/vwprintf.texi: Likewise.
16099         * doc/posix-functions/vwscanf.texi: Likewise.
16100         * doc/posix-functions/wcpcpy.texi: Likewise.
16101         * doc/posix-functions/wcpncpy.texi: Likewise.
16102         * doc/posix-functions/wcscasecmp.texi: Likewise.
16103         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
16104         * doc/posix-functions/wcscoll_l.texi: Likewise.
16105         * doc/posix-functions/wcsdup.texi: Likewise.
16106         * doc/posix-functions/wcsncasecmp.texi: Likewise.
16107         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
16108         * doc/posix-functions/wcsnlen.texi: Likewise.
16109         * doc/posix-functions/wcsnrtombs.texi: Likewise.
16110         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
16111         * doc/posix-functions/wctrans_l.texi: Likewise.
16112         * doc/posix-functions/wctype_l.texi: Likewise.
16113         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
16114         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
16115         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
16116         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
16117         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
16118         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
16119         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
16120         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
16121         * doc/glibc-functions/wcschrnul.texi: Likewise.
16122         * doc/glibc-functions/wcsftime_l.texi: Likewise.
16123         * doc/glibc-functions/wcstod_l.texi: Likewise.
16124         * doc/glibc-functions/wcstof_l.texi: Likewise.
16125         * doc/glibc-functions/wcstol_l.texi: Likewise.
16126         * doc/glibc-functions/wcstold_l.texi: Likewise.
16127         * doc/glibc-functions/wcstoll_l.texi: Likewise.
16128         * doc/glibc-functions/wcstoq.texi: Likewise.
16129         * doc/glibc-functions/wcstoul_l.texi: Likewise.
16130         * doc/glibc-functions/wcstoull_l.texi: Likewise.
16131         * doc/glibc-functions/wcstouq.texi: Likewise.
16132         * doc/glibc-functions/wmempcpy.texi: Likewise.
16133
16134 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
16135             Eric Blake  <ebb9@byu.net>
16136             Paolo Bonzini  <bonzini@gnu.org>
16137             Bruno Haible  <bruno@clisp.org>
16138
16139         Make c-stack work on Haiku.
16140         * lib/c-stack.c (SA_ONSTACK): Define fallback.
16141         (c_stack_action): Use SA_ONSTACK flag.
16142
16143 2008-12-22  Bruno Haible  <bruno@clisp.org>
16144
16145         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
16146
16147 2008-12-22  Bruno Haible  <bruno@clisp.org>
16148
16149         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
16150         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
16151         being overridden.
16152         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
16153         New macros.
16154         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
16155         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
16156         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
16157         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
16158
16159 2008-12-22  Bruno Haible  <bruno@clisp.org>
16160
16161         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
16162         from test code.
16163
16164 2008-12-22  Eric Blake  <ebb9@byu.net>
16165
16166         Avoid gcc warnings on cygwin.
16167         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
16168         Avoid unused variable.
16169         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
16170         Likewise.
16171
16172 2008-12-22  Bruno Haible  <bruno@clisp.org>
16173
16174         Remove HAVE_MBRTOWC conditionals.
16175         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
16176         (mbscasecmp): Assume mbrtowc function.
16177         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
16178         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
16179         * lib/mbschr.c: Include mbuiter.h unconditionally.
16180         (mbschr): Assume mbrtowc function.
16181         * lib/mbscspn.c: Include mbuiter.h unconditionally.
16182         (mbscspn): Assume mbrtowc function.
16183         * lib/mbslen.c: Include mbuiter.h unconditionally.
16184         (mbslen): Assume mbrtowc function.
16185         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
16186         (mbsncasecmp): Assume mbrtowc function.
16187         * lib/mbsnlen.c: Include mbiter.h unconditionally.
16188         (mbsnlen): Assume mbrtowc function.
16189         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
16190         (mbspbrk): Assume mbrtowc function.
16191         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
16192         (mbspcasecmp): Assume mbrtowc function.
16193         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
16194         (mbsrchr): Assume mbrtowc function.
16195         * lib/mbssep.c: Include mbuiter.h unconditionally.
16196         (mbssep): Assume mbrtowc function.
16197         * lib/mbsspn.c: Include mbuiter.h unconditionally.
16198         (mbsspn): Assume mbrtowc function.
16199         * lib/mbsstr.c: Include mbuiter.h unconditionally.
16200         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
16201         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
16202         (mbstok_r): Assume mbrtowc function.
16203         * lib/propername.c: Include mbuiter.h unconditionally.
16204         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
16205         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
16206         (trim2): Assume mbrtowc function.
16207         * lib/mbswidth.c (mbsinit): Remove fallback definition.
16208         (mbsnwidth): Assume mbrtowc function.
16209         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
16210         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
16211         fallback definitions.
16212         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
16213
16214 2008-12-22  Bruno Haible  <bruno@clisp.org>
16215
16216         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
16217
16218 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
16219
16220         * modules/regex: Request emulations for the mb*/wc* functions we need.
16221         * m4/regex.m4: Don't look for those functions here.
16222         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
16223
16224 2008-12-22  Bruno Haible  <bruno@clisp.org>
16225
16226         * modules/fnmatch (Depends-on): Remove duplicated dependency.
16227
16228 2008-12-21  Bruno Haible  <bruno@clisp.org>
16229
16230         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
16231         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
16232         (Include): Remove conditionalization.
16233         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
16234         (Include): Remove conditionalization.
16235         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
16236         (Include): Remove conditionalization.
16237         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
16238         * m4/mbfile.m4 (gl_MBFILE): Likewise.
16239         * NEWS: Mention the change.
16240         Reported by Alan Hourihane <alanh@fairlite.co.uk>
16241         via Sergey Poznyakoff <gray@gnu.org.ua>.
16242
16243 2008-12-21  Bruno Haible  <bruno@clisp.org>
16244
16245         * MODULES.html.sh (Extended multibyte and wide character utilities
16246         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
16247         wcrtomb, wcsrtombs.
16248         (Support for systems lacking POSIX:2008): Add accept, bind, close,
16249         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
16250         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
16251         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
16252
16253 2008-12-21  Bruno Haible  <bruno@clisp.org>
16254
16255         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
16256
16257 2008-12-21  Bruno Haible  <bruno@clisp.org>
16258
16259         * modules/wcsnrtombs-tests: New file.
16260         * tests/test-wcsnrtombs1.sh: New file.
16261         * tests/test-wcsnrtombs2.sh: New file.
16262         * tests/test-wcsnrtombs3.sh: New file.
16263         * tests/test-wcsnrtombs4.sh: New file.
16264         * tests/test-wcsnrtombs.c: New file.
16265
16266         New module 'wcsnrtombs'.
16267         * lib/wchar.in.h (wcsnrtombs): New declaration.
16268         * lib/wcsnrtombs.c: New file.
16269         * lib/wcsrtombs-state.c: New file.
16270         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
16271         (internal_state): Remove variable.
16272         * m4/wcsnrtombs.m4: New file.
16273         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
16274         compilation units.
16275         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
16276         HAVE_WCSNRTOMBS.
16277         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
16278         HAVE_WCSNRTOMBS.
16279         * modules/wcsnrtombs: New file.
16280         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
16281         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
16282
16283 2008-12-21  Bruno Haible  <bruno@clisp.org>
16284
16285         * modules/wcsrtombs-tests: New file.
16286         * tests/test-wcsrtombs1.sh: New file.
16287         * tests/test-wcsrtombs2.sh: New file.
16288         * tests/test-wcsrtombs3.sh: New file.
16289         * tests/test-wcsrtombs4.sh: New file.
16290         * tests/test-wcsrtombs.c: New file.
16291
16292         New module 'wcsrtombs'.
16293         * lib/wchar.in.h (wcsrtombs): New declaration.
16294         * lib/wcsrtombs.c: New file.
16295         * m4/wcsrtombs.m4: New file.
16296         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
16297         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
16298         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
16299         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
16300         * modules/wcsrtombs: New file.
16301         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
16302         bugs.
16303
16304 2008-12-21  Bruno Haible  <bruno@clisp.org>
16305
16306         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
16307         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
16308         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
16309         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
16310         if not correct.
16311         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
16312         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
16313         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
16314         m4/locale-zh.m4, m4/codeset.m4.
16315         * doc/posix-functions/wcrtomb.texi: Document the bug.
16316
16317 2008-12-21  Bruno Haible  <bruno@clisp.org>
16318
16319         Work around a btowc() bug on IRIX 6.5.
16320         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
16321         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
16322         REPLACE_WTOBC if not.
16323         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
16324         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
16325         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
16326
16327 2008-12-21  Bruno Haible  <bruno@clisp.org>
16328
16329         * modules/wcrtomb-tests: New file.
16330         * tests/test-wcrtomb.sh: New file.
16331         * tests/test-wcrtomb.c: New file.
16332
16333         New module 'wcrtomb'.
16334         * lib/wchar.in.h (wcrtomb): New declaration.
16335         * lib/wcrtomb.c: New file.
16336         * m4/wcrtomb.m4: New file.
16337         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
16338         HAVE_WCRTOMB.
16339         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
16340         HAVE_WCRTOMB.
16341         * modules/wcrtomb: New file.
16342         * doc/posix-functions/wcrtomb.texi: Mention the new module.
16343
16344 2008-12-21  Bruno Haible  <bruno@clisp.org>
16345
16346         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
16347         * modules/mbsrtowcs (Files): Likewise.
16348         * modules/wctob (Files): Likewise.
16349         * modules/c-strcase-tests (Files): Likewise.
16350         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
16351         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
16352         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
16353         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
16354         * modules/vasnprintf-posix-tests (Files): Likewise.
16355
16356 2008-12-21  William Pursell  <bill.pursell@gmail.com>
16357
16358         gitlog-to-changelog: pass all command-line arguments to git-log
16359         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
16360         it is sometimes convenient to filter the commits in various ways.
16361         gitlog-to-changelog only allows --since to specify a start date,
16362         but git-log itself supports many other filtering mechanisms.
16363         At the moment, I want to filter by branch name.  Rather than
16364         adding a --branch option to gitlog-to-changelog, it seems more
16365         flexible to simply pass all options directly to git-log and let
16366         git do the work.  Notice that this effectively makes --since a
16367         redundant option for gitlog-to-changelog, but removing it would
16368         require current usage to change since calls would then require
16369         an additional '--'.
16370
16371 2008-12-21  Bruno Haible  <bruno@clisp.org>
16372
16373         * modules/mbsnrtowcs-tests: New file.
16374         * tests/test-mbsnrtowcs1.sh: New file.
16375         * tests/test-mbsnrtowcs2.sh: New file.
16376         * tests/test-mbsnrtowcs3.sh: New file.
16377         * tests/test-mbsnrtowcs4.sh: New file.
16378         * tests/test-mbsnrtowcs.c: New file.
16379
16380         New module 'mbsnrtowcs'.
16381         * lib/wchar.in.h (mbsnrtowcs): New declaration.
16382         * lib/mbsnrtowcs.c: New file.
16383         * lib/mbsrtowcs-state.c: New file.
16384         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
16385         (internal_state): Remove variable.
16386         * m4/mbsnrtowcs.m4: New file.
16387         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
16388         compilation units.
16389         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
16390         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
16391         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
16392         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
16393         * modules/mbsnrtowcs: New file.
16394         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
16395         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
16396         portability problem.
16397
16398 2008-12-21  Bruno Haible  <bruno@clisp.org>
16399
16400         Work around mbsrtowcs bug.
16401         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
16402         (gl_FUNC_MBSRTOWCS): Invoke it.
16403         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
16404         m4/locale-zh.m4.
16405         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
16406
16407 2008-12-21  Bruno Haible  <bruno@clisp.org>
16408
16409         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
16410
16411 2008-12-21  Bruno Haible  <bruno@clisp.org>
16412
16413         Update doc for AIX.
16414         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
16415         16-bit wchar_t type.
16416         * doc/posix-functions/btowc.texi: Likewise.
16417         * doc/posix-functions/fgetwc.texi: Likewise.
16418         * doc/posix-functions/fgetws.texi: Likewise.
16419         * doc/posix-functions/fputwc.texi: Likewise.
16420         * doc/posix-functions/fputws.texi: Likewise.
16421         * doc/posix-functions/fwide.texi: Likewise.
16422         * doc/posix-functions/fwprintf.texi: Likewise.
16423         * doc/posix-functions/fwscanf.texi: Likewise.
16424         * doc/posix-functions/getwchar.texi: Likewise.
16425         * doc/posix-functions/getwc.texi: Likewise.
16426         * doc/posix-functions/iswalnum.texi: Likewise.
16427         * doc/posix-functions/iswalpha.texi: Likewise.
16428         * doc/posix-functions/iswblank.texi: Likewise.
16429         * doc/posix-functions/iswcntrl.texi: Likewise.
16430         * doc/posix-functions/iswctype.texi: Likewise.
16431         * doc/posix-functions/iswdigit.texi: Likewise.
16432         * doc/posix-functions/iswgraph.texi: Likewise.
16433         * doc/posix-functions/iswlower.texi: Likewise.
16434         * doc/posix-functions/iswprint.texi: Likewise.
16435         * doc/posix-functions/iswpunct.texi: Likewise.
16436         * doc/posix-functions/iswspace.texi: Likewise.
16437         * doc/posix-functions/iswupper.texi: Likewise.
16438         * doc/posix-functions/iswxdigit.texi: Likewise.
16439         * doc/posix-functions/mbrtowc.texi: Likewise.
16440         * doc/posix-functions/mbsrtowcs.texi: Likewise.
16441         * doc/posix-functions/mbstowcs.texi: Likewise.
16442         * doc/posix-functions/mbtowc.texi: Likewise.
16443         * doc/posix-functions/putwchar.texi: Likewise.
16444         * doc/posix-functions/putwc.texi: Likewise.
16445         * doc/posix-functions/swprintf.texi: Likewise.
16446         * doc/posix-functions/tolower.texi: Likewise.
16447         * doc/posix-functions/toupper.texi: Likewise.
16448         * doc/posix-functions/towctrans.texi: Likewise.
16449         * doc/posix-functions/ungetwc.texi: Likewise.
16450         * doc/posix-functions/vswprintf.texi: Likewise.
16451         * doc/posix-functions/wcrtomb.texi: Likewise.
16452         * doc/posix-functions/wcscat.texi: Likewise.
16453         * doc/posix-functions/wcschr.texi: Likewise.
16454         * doc/posix-functions/wcscmp.texi: Likewise.
16455         * doc/posix-functions/wcscoll.texi: Likewise.
16456         * doc/posix-functions/wcscpy.texi: Likewise.
16457         * doc/posix-functions/wcscspn.texi: Likewise.
16458         * doc/posix-functions/wcsftime.texi: Likewise.
16459         * doc/posix-functions/wcslen.texi: Likewise.
16460         * doc/posix-functions/wcsncat.texi: Likewise.
16461         * doc/posix-functions/wcsncmp.texi: Likewise.
16462         * doc/posix-functions/wcsncpy.texi: Likewise.
16463         * doc/posix-functions/wcspbrk.texi: Likewise.
16464         * doc/posix-functions/wcsrchr.texi: Likewise.
16465         * doc/posix-functions/wcsrtombs.texi: Likewise.
16466         * doc/posix-functions/wcsspn.texi: Likewise.
16467         * doc/posix-functions/wcsstr.texi: Likewise.
16468         * doc/posix-functions/wcstod.texi: Likewise.
16469         * doc/posix-functions/wcstof.texi: Likewise.
16470         * doc/posix-functions/wcstoimax.texi: Likewise.
16471         * doc/posix-functions/wcstok.texi: Likewise.
16472         * doc/posix-functions/wcstold.texi: Likewise.
16473         * doc/posix-functions/wcstoll.texi: Likewise.
16474         * doc/posix-functions/wcstol.texi: Likewise.
16475         * doc/posix-functions/wcstombs.texi: Likewise.
16476         * doc/posix-functions/wcstoull.texi: Likewise.
16477         * doc/posix-functions/wcstoul.texi: Likewise.
16478         * doc/posix-functions/wcstoumax.texi: Likewise.
16479         * doc/posix-functions/wcswidth.texi: Likewise.
16480         * doc/posix-functions/wcsxfrm.texi: Likewise.
16481         * doc/posix-functions/wctob.texi: Likewise.
16482         * doc/posix-functions/wctomb.texi: Likewise.
16483         * doc/posix-functions/wctrans.texi: Likewise.
16484         * doc/posix-functions/wctype.texi: Likewise.
16485         * doc/posix-functions/wcwidth.texi: Likewise.
16486         * doc/posix-functions/wmemchr.texi: Likewise.
16487         * doc/posix-functions/wmemcmp.texi: Likewise.
16488         * doc/posix-functions/wmemcpy.texi: Likewise.
16489         * doc/posix-functions/wmemmove.texi: Likewise.
16490         * doc/posix-functions/wmemset.texi: Likewise.
16491         * doc/posix-functions/wprintf.texi: Likewise.
16492         * doc/posix-functions/wscanf.texi: Likewise.
16493
16494 2008-12-21  Bruno Haible  <bruno@clisp.org>
16495
16496         Update doc for HP-UX 11.11.
16497         * doc/posix-functions/btowc.texi: Clarify that the function is missing
16498         in HP-UX version 11.00, not in all versions of HP-UX 11.
16499         * doc/posix-functions/fwide.texi: Likewise.
16500         * doc/posix-functions/fwprintf.texi: Likewise.
16501         * doc/posix-functions/fwscanf.texi: Likewise.
16502         * doc/posix-functions/inet_ntop.texi: Likewise.
16503         * doc/posix-functions/inet_pton.texi: Likewise.
16504         * doc/posix-functions/mbrlen.texi: Likewise.
16505         * doc/posix-functions/mbrtowc.texi: Likewise.
16506         * doc/posix-functions/mbsinit.texi: Likewise.
16507         * doc/posix-functions/mbsrtowcs.texi: Likewise.
16508         * doc/posix-functions/swprintf.texi: Likewise.
16509         * doc/posix-functions/swscanf.texi: Likewise.
16510         * doc/posix-functions/towctrans.texi: Likewise.
16511         * doc/posix-functions/vfwprintf.texi: Likewise.
16512         * doc/posix-functions/vswprintf.texi: Likewise.
16513         * doc/posix-functions/vwprintf.texi: Likewise.
16514         * doc/posix-functions/wcrtomb.texi: Likewise.
16515         * doc/posix-functions/wcsrtombs.texi: Likewise.
16516         * doc/posix-functions/wcsstr.texi: Likewise.
16517         * doc/posix-functions/wctob.texi: Likewise.
16518         * doc/posix-functions/wctrans.texi: Likewise.
16519         * doc/posix-functions/wmemchr.texi: Likewise.
16520         * doc/posix-functions/wmemcmp.texi: Likewise.
16521         * doc/posix-functions/wmemcpy.texi: Likewise.
16522         * doc/posix-functions/wmemmove.texi: Likewise.
16523         * doc/posix-functions/wmemset.texi: Likewise.
16524         * doc/posix-functions/wprintf.texi: Likewise.
16525         * doc/posix-functions/wscanf.texi: Likewise.
16526
16527 2008-12-21  Bruno Haible  <bruno@clisp.org>
16528
16529         Work around a portability problem.
16530         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
16531         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
16532
16533 2008-12-20  Bruno Haible  <bruno@clisp.org>
16534
16535         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
16536         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
16537         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
16538         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
16539         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
16540
16541         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
16542         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
16543         set.
16544         (GNULIB_defined_mbstate_t): New macro.
16545         (mbsinit): Redefine if REPLACE_MBSINIT is set.
16546         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
16547         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
16548         reuses the system's mbrtowc function but works around the bugs.
16549         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
16550         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
16551         macros.
16552         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
16553         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
16554         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
16555         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
16556         REPLACE_MBSINIT if mbsinit needs to be overridden.
16557         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
16558         REPLACE_MBSINIT, REPLACE_MBRTOWC.
16559         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
16560         REPLACE_MBSINIT, REPLACE_MBRTOWC.
16561         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
16562         m4/locale-zh.m4.
16563         (Depends): Add mbsinit.
16564         * modules/mbsinit (Depends): Add mbrtowc.
16565         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
16566
16567 2008-12-20  Bruno Haible  <bruno@clisp.org>
16568
16569         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
16570         so that there are no conversion errors on AIX.
16571         * tests/test-mbsrtowcs.c (main): LIkewise.
16572
16573 2008-12-20  Bruno Haible  <bruno@clisp.org>
16574
16575         Work around wctob bug on Solaris <= 9.
16576         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
16577         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
16578         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
16579         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
16580         * modules/wctob (Files): Add m4/locale-fr.m4.
16581         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
16582
16583 2008-12-20  Bruno Haible  <bruno@clisp.org>
16584
16585         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
16586         /dev/null.
16587         * tests/test-select-in.sh: Likewise.
16588         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16589
16590 2008-12-20  Bruno Haible  <bruno@clisp.org>
16591
16592         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
16593         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
16594         Cygwin 1.5.x.
16595
16596 2008-12-20  Bruno Haible  <bruno@clisp.org>
16597
16598         Ensure mbstate_t is defined on HP-UX 11.11.
16599         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
16600         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
16601         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
16602         AC_USE_SYSTEM_EXTENSIONS.
16603         * modules/fnmatch (Depends-on): Add extensions.
16604         * modules/mbrlen (Depends-on): Likewise.
16605         * modules/mbrtowc (Depends-on): Likewise.
16606         * modules/mbsinit (Depends-on): Likewise.
16607         * modules/mbsrtowcs (Depends-on): Likewise.
16608         * modules/mbswidth (Depends-on): Likewise.
16609         * modules/quotearg (Depends-on): Likewise.
16610         * modules/strftime (Depends-on): Likewise.
16611
16612 2008-12-20  Bruno Haible  <bruno@clisp.org>
16613
16614         Ensure wctob is declared on IRIX 6.5.
16615         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
16616         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
16617         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
16618         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
16619         of HAVE_WCTOB.
16620         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
16621         HAVE_WCTOB.
16622         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
16623
16624 2008-12-19  Bruno Haible  <bruno@clisp.org>
16625
16626         * modules/mbsrtowcs-tests: New file.
16627         * tests/test-mbsrtowcs1.sh: New file.
16628         * tests/test-mbsrtowcs2.sh: New file.
16629         * tests/test-mbsrtowcs3.sh: New file.
16630         * tests/test-mbsrtowcs4.sh: New file.
16631         * tests/test-mbsrtowcs.c: New file.
16632
16633         New module 'mbsrtowcs'.
16634         * lib/wchar.in.h (mbsrtowcs): New declaration.
16635         * lib/mbsrtowcs.c: New file.
16636         * m4/mbsrtowcs.m4: New file.
16637         * modules/mbsrtowcs: New file.
16638         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
16639         HAVE_MBSRTOWCS.
16640         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
16641         HAVE_MBSRTOWCS.
16642         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
16643
16644 2008-12-19  Bruno Haible  <bruno@clisp.org>
16645
16646         New module 'mbrlen'.
16647         * lib/wchar.in.h (mbrlen): New declaration.
16648         * lib/mbrlen.c: New file.
16649         * m4/mbrlen.m4: New file.
16650         * modules/mbrlen: New file.
16651         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
16652         HAVE_MBRLEN.
16653         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
16654         HAVE_MBRLEN.
16655         * doc/posix-functions/mbrlen.texi: Document the new module.
16656
16657 2008-12-19  Bruno Haible  <bruno@clisp.org>
16658
16659         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
16660         * modules/mbrtowc (Depends-on): Add verify.
16661         Suggested by Paul Eggert.
16662
16663 2008-12-18  Bruno Haible  <bruno@clisp.org>
16664
16665         * modules/mbsinit-tests: New file.
16666         * tests/test-mbsinit.sh: New file.
16667         * tests/test-mbsinit.c: New file.
16668
16669 2008-12-18  Bruno Haible  <bruno@clisp.org>
16670
16671         * modules/mbrtowc-tests: New file.
16672         * tests/test-mbrtowc1.sh: New file.
16673         * tests/test-mbrtowc2.sh: New file.
16674         * tests/test-mbrtowc3.sh: New file.
16675         * tests/test-mbrtowc4.sh: New file.
16676         * tests/test-mbrtowc.c: New file.
16677
16678         New module 'mbrtowc'.
16679         * lib/wchar.in.h (mbstate_t): Override when the system does not have
16680         mbsinit and mbrtowc.
16681         (mbrtowc): New declaration.
16682         * lib/mbrtowc.c: New file.
16683         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
16684         * modules/mbrtowc: New file.
16685         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
16686         HAVE_MBRTOWC.
16687         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
16688         HAVE_MBRTOWC.
16689         * doc/posix-functions/mbrtowc.texi: Document the new module.
16690
16691 2008-12-18  Bruno Haible  <bruno@clisp.org>
16692
16693         New module 'wctob'.
16694         * lib/wchar.in.h (wctob): New declaration.
16695         * lib/wctob.c: New file.
16696         * m4/wctob.m4: New file.
16697         * modules/wctob: New file.
16698         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
16699         HAVE_WCTOB.
16700         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
16701         * doc/posix-functions/wctob.texi: Document the new module.
16702
16703 2008-12-18  Bruno Haible  <bruno@clisp.org>
16704
16705         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
16706         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
16707
16708 2008-12-18  Simon Josefsson  <simon@josefsson.org>
16709
16710         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
16711         G. Christensen" <tgc@jupiterrise.com>.
16712
16713         * lib/flock.c: Need to include errno.h.  Reported by "Tom
16714         G. Christensen" <tgc@jupiterrise.com>.
16715
16716         * lib/flock.c: Need to include string.h.  Reported by "Tom
16717         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
16718         <ebb9@byu.net>.
16719
16720 2008-12-18  Bruno Haible  <bruno@clisp.org>
16721
16722         * m4/locale-ja.m4: New file, from GNU gettext.
16723
16724 2008-12-17  Bruno Haible  <bruno@clisp.org>
16725
16726         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
16727         Suggested by Eric Blake.
16728
16729 2008-12-17  Bruno Haible  <bruno@clisp.org>
16730
16731         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
16732
16733 2008-12-17  Bruno Haible  <bruno@clisp.org>
16734
16735         * lib/mbsinit.c: Include verify.h. Verify an assumption.
16736         * modules/mbsinit (Depends-on): Add verify.
16737         Suggested by Paul Eggert.
16738
16739 2008-12-17  Bruno Haible  <bruno@clisp.org>
16740
16741         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
16742         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
16743         gl_FUNC_MBRTOWC.
16744         * m4/mbiter.m4 (gl_MBITER): LIkewise.
16745         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
16746         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
16747         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
16748         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
16749         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
16750         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
16751         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
16752         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
16753         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
16754         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
16755         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
16756         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
16757         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
16758         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
16759         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
16760         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
16761         * modules/trim (configure.ac): Likewise.
16762
16763 2008-12-17  Bruno Haible  <bruno@clisp.org>
16764
16765         * modules/btowc-tests: New file.
16766         * tests/test-btowc1.sh: New file.
16767         * tests/test-btowc2.sh: New file.
16768         * tests/test-btowc.c: New file.
16769
16770         New module 'btowc'.
16771         * lib/wchar.in.h (btowc): New declaration.
16772         * lib/btowc.c: New file.
16773         * m4/btowc.m4: New file.
16774         * modules/btowc: New file.
16775         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
16776         HAVE_BTOWC.
16777         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
16778         * doc/posix-functions/btowc.texi: Document the new module.
16779
16780 2008-12-17  Bruno Haible  <bruno@clisp.org>
16781
16782         New module 'mbsinit'.
16783         * lib/wchar.in.h (mbsinit): New declaration.
16784         * lib/mbsinit.c: New file.
16785         * m4/mbsinit.m4: New file.
16786         * modules/mbsinit: New file.
16787         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
16788         HAVE_MBSINIT.
16789         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
16790         HAVE_MBSINIT.
16791         * doc/posix-functions/mbsinit.texi: Document the new module.
16792
16793 2008-12-16  Bruno Haible  <bruno@clisp.org>
16794
16795         * lib/unistd.in.h: Add comment.
16796         * tests/test-environ.c: Don't include <stdlib.h>.
16797
16798 2008-12-16  Bruno Haible  <bruno@clisp.org>
16799
16800         * lib/parse-duration.h (parse_duration): Document return value
16801         convention.
16802         * lib/parse-duration.c: Include specification header first. Add
16803         comments.
16804         (_): Remove macro.
16805         (parse_year_month_day, parse_hour_minute_second): Move side effects
16806         outside of strchr call.
16807         (parse_non_iso8601): Move side effects outside of isspace call.
16808         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
16809         call.
16810
16811 2008-12-16  Bruno Haible  <bruno@clisp.org>
16812
16813         * tests/test-parse-duration.sh: Produce no output when the test
16814         succeeds.
16815
16816 2008-12-16  Bruno Haible  <bruno@clisp.org>
16817
16818         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
16819         expressions.
16820
16821 2008-12-15  Bruno Haible  <bruno@clisp.org>
16822
16823         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
16824         * doc/glibc-functions/flistxattr.texi: Likewise.
16825         * doc/glibc-functions/fopencookie.texi: Likewise.
16826         * doc/glibc-functions/fremovexattr.texi: Likewise.
16827         * doc/glibc-functions/fsetxattr.texi: Likewise.
16828         * doc/glibc-functions/getxattr.texi: Likewise.
16829         * doc/glibc-functions/lgetxattr.texi: Likewise.
16830         * doc/glibc-functions/listxattr.texi: Likewise.
16831         * doc/glibc-functions/llistxattr.texi: Likewise.
16832         * doc/glibc-functions/lremovexattr.texi: Likewise.
16833         * doc/glibc-functions/lsetxattr.texi: Likewise.
16834         * doc/glibc-functions/removexattr.texi: Likewise.
16835         * doc/glibc-functions/setxattr.texi: Likewise.
16836         * doc/posix-functions/open_memstream.texi: Likewise.
16837
16838 2008-12-15  Eric Blake  <ebb9@byu.net>
16839
16840         Update doc for cygwin 1.7.
16841         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
16842         functions.
16843         * doc/posix-functions/fchmodat.texi: Likewise.
16844         * doc/posix-functions/fchownat.texi: Likewise.
16845         * doc/posix-functions/fdopendir.texi: Likewise.
16846         * doc/posix-functions/fmemopen.texi: Likewise.
16847         * doc/posix-functions/freeaddrinfo.texi: Likewise.
16848         * doc/posix-functions/fstatat.texi: Likewise.
16849         * doc/posix-functions/futimens.texi: Likewise.
16850         * doc/posix-functions/gai_strerror.texi: Likewise.
16851         * doc/posix-functions/getaddrinfo.texi: Likewise.
16852         * doc/posix-functions/getnameinfo.texi: Likewise.
16853         * doc/posix-functions/if_freenameindex.texi: Likewise.
16854         * doc/posix-functions/if_indextoname.texi: Likewise.
16855         * doc/posix-functions/if_nameindex.texi: Likewise.
16856         * doc/posix-functions/if_nametoindex.texi: Likewise.
16857         * doc/posix-functions/insque.texi: Likewise.
16858         * doc/posix-functions/linkat.texi: Likewise.
16859         * doc/posix-functions/llrint.texi: Likewise.
16860         * doc/posix-functions/llrintf.texi: Likewise.
16861         * doc/posix-functions/llrintl.texi: Likewise.
16862         * doc/posix-functions/lockf.texi: Likewise.
16863         * doc/posix-functions/lrintl.texi: Likewise.
16864         * doc/posix-functions/mkdirat.texi: Likewise.
16865         * doc/posix-functions/mkfifoat.texi: Likewise.
16866         * doc/posix-functions/mknodat.texi: Likewise.
16867         * doc/posix-functions/mq_close.texi: Likewise.
16868         * doc/posix-functions/mq_getattr.texi: Likewise.
16869         * doc/posix-functions/mq_notify.texi: Likewise.
16870         * doc/posix-functions/mq_open.texi: Likewise.
16871         * doc/posix-functions/mq_receive.texi: Likewise.
16872         * doc/posix-functions/mq_send.texi: Likewise.
16873         * doc/posix-functions/mq_setattr.texi: Likewise.
16874         * doc/posix-functions/mq_timedreceive.texi: Likewise.
16875         * doc/posix-functions/mq_timedsend.texi: Likewise.
16876         * doc/posix-functions/mq_unlink.texi: Likewise.
16877         * doc/posix-functions/open_memstream.texi: Likewise.
16878         * doc/posix-functions/openat.texi: Likewise.
16879         * doc/posix-functions/posix_fadvise.texi: Likewise.
16880         * doc/posix-functions/posix_fallocate.texi: Likewise.
16881         * doc/posix-functions/posix_madvise.texi: Likewise.
16882         * doc/posix-functions/posix_memalign.texi: Likewise.
16883         * doc/posix-functions/posix_openpt.texi: Likewise.
16884         * doc/posix-functions/readlinkat.texi: Likewise.
16885         * doc/posix-functions/remque.texi: Likewise.
16886         * doc/posix-functions/renameat.texi: Likewise.
16887         * doc/posix-functions/rintl.texi: Likewise.
16888         * doc/posix-functions/sem_unlink.texi: Likewise.
16889         * doc/posix-functions/shm_open.texi: Likewise.
16890         * doc/posix-functions/shm_unlink.texi: Likewise.
16891         * doc/posix-functions/signgam.texi: Likewise.
16892         * doc/posix-functions/sigset.texi: Likewise.
16893         * doc/posix-functions/stpcpy.texi: Likewise.
16894         * doc/posix-functions/stpncpy.texi: Likewise.
16895         * doc/posix-functions/strerror.texi: Likewise.
16896         * doc/posix-functions/strtod.texi: Likewise.
16897         * doc/posix-functions/symlinkat.texi: Likewise.
16898         * doc/posix-functions/unlinkat.texi: Likewise.
16899         * doc/posix-functions/utimensat.texi: Likewise.
16900         * doc/glibc-functions/bindresvport.texi: Likewise.
16901         * doc/glibc-functions/dn_expand.texi: Likewise.
16902         * doc/glibc-functions/exp10.texi: Likewise.
16903         * doc/glibc-functions/exp10f.texi: Likewise.
16904         * doc/glibc-functions/fgetxattr.texi: Likewise.
16905         * doc/glibc-functions/flistxattr.texi: Likewise.
16906         * doc/glibc-functions/fopencookie.texi: Likewise.
16907         * doc/glibc-functions/freeifaddrs.texi: Likewise.
16908         * doc/glibc-functions/fremovexattr.texi: Likewise.
16909         * doc/glibc-functions/fsetxattr.texi: Likewise.
16910         * doc/glibc-functions/getifaddrs.texi: Likewise.
16911         * doc/glibc-functions/getxattr.texi: Likewise.
16912         * doc/glibc-functions/lgetxattr.texi: Likewise.
16913         * doc/glibc-functions/listxattr.texi: Likewise.
16914         * doc/glibc-functions/llistxattr.texi: Likewise.
16915         * doc/glibc-functions/lremovexattr.texi: Likewise.
16916         * doc/glibc-functions/lsetxattr.texi: Likewise.
16917         * doc/glibc-functions/pow10.texi: Likewise.
16918         * doc/glibc-functions/pow10f.texi: Likewise.
16919         * doc/glibc-functions/rcmd_af.texi: Likewise.
16920         * doc/glibc-functions/removexattr.texi: Likewise.
16921         * doc/glibc-functions/res_init.texi: Likewise.
16922         * doc/glibc-functions/res_mkquery.texi: Likewise.
16923         * doc/glibc-functions/res_query.texi: Likewise.
16924         * doc/glibc-functions/res_querydomain.texi: Likewise.
16925         * doc/glibc-functions/res_send.texi: Likewise.
16926         * doc/glibc-functions/rresvport_af.texi: Likewise.
16927         * doc/glibc-functions/setxattr.texi: Likewise.
16928         * doc/glibc-functions/strcasestr.texi: Likewise.
16929
16930 2008-12-15  Bruno Haible  <bruno@clisp.org>
16931
16932         Fix compilation error on OSF/1 4.0.
16933         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
16934         <sys/time.h>, simply delegate to the system header.
16935         Reported by Daniel Richard G. <oss@teragram.com>.
16936
16937 2008-12-15  Bruno Haible  <bruno@clisp.org>
16938
16939         * doc/posix-functions/openat.texi: Mention the 'openat' module.
16940         * doc/posix-functions/fchmodat.texi: Likewise.
16941         * doc/posix-functions/fchownat.texi: Likewise.
16942         * doc/posix-functions/fdopendir.texi: Likewise.
16943         * doc/posix-functions/fstatat.texi: Likewise.
16944         * doc/posix-functions/mkdirat.texi: Likewise.
16945         * doc/posix-functions/unlinkat.texi: Likewise.
16946
16947 2008-12-14  Bruno Haible  <bruno@clisp.org>
16948
16949         Update doc for POSIX:2008.
16950         * doc/posix-functions/faccessat.texi: New file.
16951         * doc/posix-functions/fchmodat.texi: New file.
16952         * doc/posix-functions/fchownat.texi: New file.
16953         * doc/posix-functions/fdopendir.texi: New file.
16954         * doc/posix-functions/fstatat.texi: New file.
16955         * doc/posix-functions/futimens.texi: New file.
16956         * doc/posix-functions/linkat.texi: New file.
16957         * doc/posix-functions/mkdirat.texi: New file.
16958         * doc/posix-functions/mkfifoat.texi: New file.
16959         * doc/posix-functions/mknodat.texi: New file.
16960         * doc/posix-functions/open_wmemstream.texi: New file.
16961         * doc/posix-functions/openat.texi: New file.
16962         * doc/posix-functions/psiginfo.texi: New file.
16963         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
16964         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
16965         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
16966         * doc/posix-functions/readlinkat.texi: New file.
16967         * doc/posix-functions/renameat.texi: New file.
16968         * doc/posix-functions/strerror_l.texi: New file.
16969         * doc/posix-functions/symlinkat.texi: New file.
16970         * doc/posix-functions/unlinkat.texi: New file.
16971         * doc/posix-functions/utimensat.texi: New file.
16972         * doc/gnulib.texi (Function Substitutes): Add these subsections.
16973
16974 2008-12-14  Bruno Haible  <bruno@clisp.org>
16975
16976         Update doc for POSIX:2008.
16977         * doc/posix-functions/alphasort.texi: Renamed from
16978         doc/glibc-functions/alphasort.texi.
16979         * doc/posix-functions/dirfd.texi: Renamed from
16980         doc/glibc-functions/dirfd.texi.
16981         * doc/posix-functions/dprintf.texi: Renamed from
16982         doc/glibc-functions/dprintf.texi.
16983         * doc/posix-functions/duplocale.texi: Renamed from
16984         doc/glibc-functions/duplocale.texi.
16985         * doc/posix-functions/fexecve.texi: Renamed from
16986         doc/glibc-functions/fexecve.texi.
16987         * doc/posix-functions/fmemopen.texi: Renamed from
16988         doc/glibc-functions/fmemopen.texi.
16989         * doc/posix-functions/freelocale.texi: Renamed from
16990         doc/glibc-functions/freelocale.texi.
16991         * doc/posix-functions/getdate_err.texi: Renamed from
16992         doc/glibc-functions/getdate_err.texi.
16993         * doc/posix-functions/isalnum_l.texi: Renamed from
16994         doc/glibc-functions/isalnum_l.texi.
16995         * doc/posix-functions/isalpha_l.texi: Renamed from
16996         doc/glibc-functions/isalpha_l.texi.
16997         * doc/posix-functions/isblank_l.texi: Renamed from
16998         doc/glibc-functions/isblank_l.texi.
16999         * doc/posix-functions/iscntrl_l.texi: Renamed from
17000         doc/glibc-functions/iscntrl_l.texi.
17001         * doc/posix-functions/isdigit_l.texi: Renamed from
17002         doc/glibc-functions/isdigit_l.texi.
17003         * doc/posix-functions/isgraph_l.texi: Renamed from
17004         doc/glibc-functions/isgraph_l.texi.
17005         * doc/posix-functions/islower_l.texi: Renamed from
17006         doc/glibc-functions/islower_l.texi.
17007         * doc/posix-functions/isprint_l.texi: Renamed from
17008         doc/glibc-functions/isprint_l.texi.
17009         * doc/posix-functions/ispunct_l.texi: Renamed from
17010         doc/glibc-functions/ispunct_l.texi.
17011         * doc/posix-functions/isspace_l.texi: Renamed from
17012         doc/glibc-functions/isspace_l.texi.
17013         * doc/posix-functions/isupper_l.texi: Renamed from
17014         doc/glibc-functions/isupper_l.texi.
17015         * doc/posix-functions/iswalnum_l.texi: Renamed from
17016         doc/glibc-functions/iswalnum_l.texi.
17017         * doc/posix-functions/iswalpha_l.texi: Renamed from
17018         doc/glibc-functions/iswalpha_l.texi.
17019         * doc/posix-functions/iswblank_l.texi: Renamed from
17020         doc/glibc-functions/iswblank_l.texi.
17021         * doc/posix-functions/iswcntrl_l.texi: Renamed from
17022         doc/glibc-functions/iswcntrl_l.texi.
17023         * doc/posix-functions/iswctype_l.texi: Renamed from
17024         doc/glibc-functions/iswctype_l.texi.
17025         * doc/posix-functions/iswdigit_l.texi: Renamed from
17026         doc/glibc-functions/iswdigit_l.texi.
17027         * doc/posix-functions/iswgraph_l.texi: Renamed from
17028         doc/glibc-functions/iswgraph_l.texi.
17029         * doc/posix-functions/iswlower_l.texi: Renamed from
17030         doc/glibc-functions/iswlower_l.texi.
17031         * doc/posix-functions/iswprint_l.texi: Renamed from
17032         doc/glibc-functions/iswprint_l.texi.
17033         * doc/posix-functions/iswpunct_l.texi: Renamed from
17034         doc/glibc-functions/iswpunct_l.texi.
17035         * doc/posix-functions/iswspace_l.texi: Renamed from
17036         doc/glibc-functions/iswspace_l.texi.
17037         * doc/posix-functions/iswupper_l.texi: Renamed from
17038         doc/glibc-functions/iswupper_l.texi.
17039         * doc/posix-functions/iswxdigit_l.texi: Renamed from
17040         doc/glibc-functions/iswxdigit_l.texi.
17041         * doc/posix-functions/isxdigit_l.texi: Renamed from
17042         doc/glibc-functions/isxdigit_l.texi.
17043         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
17044         doc/glibc-functions/mbsnrtowcs.texi.
17045         * doc/posix-functions/mkdtemp.texi: Renamed from
17046         doc/glibc-functions/mkdtemp.texi.
17047         * doc/posix-functions/newlocale.texi: Renamed from
17048         doc/glibc-functions/newlocale.texi.
17049         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
17050         doc/glibc-functions/nl_langinfo_l.texi.
17051         * doc/posix-functions/open_memstream.texi: Renamed from
17052         doc/glibc-functions/open_memstream.texi.
17053         * doc/posix-functions/opterr.texi: Renamed from
17054         doc/glibc-functions/opterr.texi.
17055         * doc/posix-functions/optind.texi: Renamed from
17056         doc/glibc-functions/optind.texi.
17057         * doc/posix-functions/optopt.texi: Renamed from
17058         doc/glibc-functions/optopt.texi.
17059         * doc/posix-functions/psignal.texi: Renamed from
17060         doc/glibc-functions/psignal.texi.
17061         * doc/posix-functions/scandir.texi: Renamed from
17062         doc/glibc-functions/scandir.texi.
17063         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
17064         doc/glibc-functions/sched_get_priority_min.texi.
17065         * doc/posix-functions/signgam.texi: Renamed from
17066         doc/glibc-functions/signgam.texi.
17067         * doc/posix-functions/stpcpy.texi: Renamed from
17068         doc/glibc-functions/stpcpy.texi.
17069         * doc/posix-functions/stpncpy.texi: Renamed from
17070         doc/glibc-functions/stpncpy.texi.
17071         * doc/posix-functions/strcasecmp_l.texi: Renamed from
17072         doc/glibc-functions/strcasecmp_l.texi.
17073         * doc/posix-functions/strcoll_l.texi: Renamed from
17074         doc/glibc-functions/strcoll_l.texi.
17075         * doc/posix-functions/strfmon_l.texi: Renamed from
17076         doc/glibc-functions/strfmon_l.texi.
17077         * doc/posix-functions/strftime_l.texi: Renamed from
17078         doc/glibc-functions/strftime_l.texi.
17079         * doc/posix-functions/strncasecmp_l.texi: Renamed from
17080         doc/glibc-functions/strncasecmp_l.texi.
17081         * doc/posix-functions/strndup.texi: Renamed from
17082         doc/glibc-functions/strndup.texi.
17083         * doc/posix-functions/strnlen.texi: Renamed from
17084         doc/glibc-functions/strnlen.texi.
17085         * doc/posix-functions/strsignal.texi: Renamed from
17086         doc/glibc-functions/strsignal.texi.
17087         * doc/posix-functions/strxfrm_l.texi: Renamed from
17088         doc/glibc-functions/strxfrm_l.texi.
17089         * doc/posix-functions/timer_gettime.texi: Renamed from
17090         doc/glibc-functions/timer_gettime.texi.
17091         * doc/posix-functions/tolower_l.texi: Renamed from
17092         doc/glibc-functions/tolower_l.texi.
17093         * doc/posix-functions/toupper_l.texi: Renamed from
17094         doc/glibc-functions/toupper_l.texi.
17095         * doc/posix-functions/towctrans_l.texi: Renamed from
17096         doc/glibc-functions/towctrans_l.texi.
17097         * doc/posix-functions/towlower_l.texi: Renamed from
17098         doc/glibc-functions/towlower_l.texi.
17099         * doc/posix-functions/towupper_l.texi: Renamed from
17100         doc/glibc-functions/towupper_l.texi.
17101         * doc/posix-functions/uselocale.texi: Renamed from
17102         doc/glibc-functions/uselocale.texi.
17103         * doc/posix-functions/vdprintf.texi: Renamed from
17104         doc/glibc-functions/vdprintf.texi.
17105         * doc/posix-functions/wcpcpy.texi:
17106         Renamed from doc/glibc-functions/wcpcpy.texi.
17107         * doc/posix-functions/wcpncpy.texi: Renamed from
17108         doc/glibc-functions/wcpncpy.texi.
17109         * doc/posix-functions/wcscasecmp.texi: Renamed from
17110         doc/glibc-functions/wcscasecmp.texi.
17111         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
17112         doc/glibc-functions/wcscasecmp_l.texi.
17113         * doc/posix-functions/wcscoll_l.texi: Renamed from
17114         doc/glibc-functions/wcscoll_l.texi.
17115         * doc/posix-functions/wcsdup.texi: Renamed from
17116         doc/glibc-functions/wcsdup.texi.
17117         * doc/posix-functions/wcsncasecmp.texi: Renamed from
17118         doc/glibc-functions/wcsncasecmp.texi.
17119         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
17120         doc/glibc-functions/wcsncasecmp_l.texi.
17121         * doc/posix-functions/wcsnlen.texi: Renamed from
17122         doc/glibc-functions/wcsnlen.texi.
17123         * doc/posix-functions/wcsnrtombs.texi: Renamed from
17124         doc/glibc-functions/wcsnrtombs.texi.
17125         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
17126         doc/glibc-functions/wcsxfrm_l.texi.
17127         * doc/posix-functions/wctrans_l.texi: Renamed from
17128         doc/glibc-functions/wctrans_l.texi.
17129         * doc/posix-functions/wctype_l.texi: Renamed from
17130         doc/glibc-functions/wctype_l.texi.
17131         * doc/gnulib.texi (Function Substitutes): Add these subsections.
17132         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
17133         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
17134         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
17135         these subsections.
17136         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
17137         Remove sections.
17138
17139 2008-12-14  Bruno Haible  <bruno@clisp.org>
17140
17141         Update doc for POSIX:2008.
17142         * doc/posix-functions/*.texi: Update URL of POSIX specification.
17143
17144 2008-12-14  Bruno Haible  <bruno@clisp.org>
17145
17146         Update doc for POSIX:2008.
17147         * doc/pastposix-functions/bcmp.texi: Renamed from
17148         doc/posix-functions/bcmp.texi.
17149         * doc/pastposix-functions/bcopy.texi: Renamed from
17150         doc/posix-functions/bcopy.texi.
17151         * doc/pastposix-functions/bsd_signal.texi: Renamed from
17152         doc/posix-functions/bsd_signal.texi.
17153         * doc/pastposix-functions/bzero.texi: Renamed from
17154         doc/posix-functions/bzero.texi.
17155         * doc/pastposix-functions/ecvt.texi: Renamed from
17156         doc/posix-functions/ecvt.texi.
17157         * doc/pastposix-functions/fcvt.texi: Renamed from
17158         doc/posix-functions/fcvt.texi.
17159         * doc/pastposix-functions/ftime.texi: Renamed from
17160         doc/posix-functions/ftime.texi.
17161         * doc/pastposix-functions/gcvt.texi: Renamed from
17162         doc/posix-functions/gcvt.texi.
17163         * doc/pastposix-functions/getcontext.texi: Renamed from
17164         doc/posix-functions/getcontext.texi.
17165         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
17166         doc/posix-functions/gethostbyaddr.texi.
17167         * doc/pastposix-functions/gethostbyname.texi: Renamed from
17168         doc/posix-functions/gethostbyname.texi.
17169         * doc/pastposix-functions/getwd.texi: Renamed from
17170         doc/posix-functions/getwd.texi.
17171         * doc/pastposix-functions/h_errno.texi: Renamed from
17172         doc/posix-functions/h_errno.texi.
17173         * doc/pastposix-functions/index.texi: Renamed from
17174         doc/posix-functions/index.texi.
17175         * doc/pastposix-functions/makecontext.texi: Renamed from
17176         doc/posix-functions/makecontext.texi.
17177         * doc/pastposix-functions/mktemp.texi: Renamed from
17178         doc/posix-functions/mktemp.texi.
17179         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
17180         doc/posix-functions/pthread_attr_getstackaddr.texi.
17181         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
17182         doc/posix-functions/pthread_attr_setstackaddr.texi.
17183         * doc/pastposix-functions/rindex.texi: Renamed from
17184         doc/posix-functions/rindex.texi.
17185         * doc/pastposix-functions/scalb.texi: Renamed from
17186         doc/posix-functions/scalb.texi.
17187         * doc/pastposix-functions/setcontext.texi: Renamed from
17188         doc/posix-functions/setcontext.texi.
17189         * doc/pastposix-functions/swapcontext.texi: Renamed from
17190         doc/posix-functions/swapcontext.texi.
17191         * doc/pastposix-functions/ualarm.texi: Renamed from
17192         doc/posix-functions/ualarm.texi.
17193         * doc/pastposix-functions/usleep.texi: Renamed from
17194         doc/posix-functions/usleep.texi.
17195         * doc/pastposix-functions/vfork.texi: Renamed from
17196         doc/posix-functions/vfork.texi.
17197         * doc/pastposix-functions/wcswcs.texi: Renamed from
17198         doc/posix-functions/wcswcs.texi.
17199         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
17200         (Function Substitutes): Update.
17201
17202 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17203
17204         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
17205         m4/strerror.m4.
17206
17207 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17208             Bruno Haible  <bruno@clisp.org>
17209
17210         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
17211
17212 2008-12-13  Bruno Haible  <bruno@clisp.org>
17213
17214         * modules/strtoull (Depends-on): Remove unistd.
17215
17216 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17217
17218         * modules/strtoull (Depends-on): Add stdlib.
17219
17220 2008-12-11  Simon Josefsson  <simon@josefsson.org>
17221
17222         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
17223
17224 2008-12-10  Jim Meyering  <meyering@redhat.com>
17225
17226         gl_ASSERT: don't say assertions are disabled when they're not
17227         * m4/assert.m4 (gl_ASSERT): Do not make configure report
17228         "checking whether to enable assertions... no", when they are in
17229         fact enabled.  This is solely a bug in the output of configure.
17230         In spite of saying "no", NDEBUG was not defined in that case.
17231         Also, as noted by Eric Blake, leave assertions enabled upon
17232         --enable-assert=INVALID.
17233
17234 2008-12-10  Bruno Haible  <bruno@clisp.org>
17235
17236         Change MODULES.html to refer to POSIX:2008 where possible.
17237         * MODULES.html.sh (POSIX2008_URL): New variable.
17238         (posix_headers): Remove sys/timeb, ucontext.
17239         (posix2001_headers): New variable.
17240         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
17241         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
17242         index, makecontext, mktemp, pthread_attr_getstackaddr,
17243         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
17244         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
17245         (posix2001_functions): New variable.
17246         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
17247         otherwise.
17248
17249 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17250
17251         add missing include to parse-duration.c
17252         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
17253         * modules/parse-duration (Depends-on): Add xalloc.
17254
17255         fix sed script reading maint.mk
17256         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
17257         (syntax-check-rules): Use it.
17258
17259 2008-12-09  Bruno Haible  <bruno@clisp.org>
17260
17261         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
17262         MacOS X 10.4/PowerPC.
17263         Reported by Simon Josefsson.
17264
17265 2008-12-08  Jim Meyering  <meyering@redhat.com>
17266
17267         work around mingw's lack of some S_IF definitions
17268         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
17269         Reported by Simon Josefsson.
17270
17271 2008-12-08  Bruno Haible  <bruno@clisp.org>
17272
17273         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
17274         applied to variables. Needed on MacOS X 10.4/PowerPC.
17275         Reported by Simon Josefsson.
17276
17277 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
17278         and Eric Blake  <ebb9@byu.net>
17279
17280         assert: honor --enable-assert
17281         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
17282         order to honor --enable-assert, rather than treating it as a
17283         synonym for --disable-assert.
17284
17285 2008-12-08  Jim Meyering  <meyering@redhat.com>
17286
17287         * lib/posixtm.c: Remove now-useless declaration of mktime.
17288
17289         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
17290
17291 2008-12-07  Bruno Haible  <bruno@clisp.org>
17292
17293         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
17294         test_once): Mark functions as static.
17295         * tests/test-tls.c (test_tls): Likewise.
17296
17297 2008-12-07  Bruno Haible  <bruno@clisp.org>
17298
17299         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
17300         iconv_register_autodetect.
17301
17302 2008-12-07  Jim Meyering  <meyering@redhat.com>
17303
17304         posixtm.c: avoid a warning
17305         * lib/posixtm.c (posixtime): Don't initialize tm0.
17306         It's no longer needed to placate gcc4's -Wuninitialized,
17307         and the attempt to placate would elicit a new warning.
17308
17309         unicodeio.c: mark unused parameters
17310         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
17311         (fallback_failure_callback): Likewise.
17312
17313 2008-12-07  Bruno Haible  <bruno@clisp.org>
17314
17315         * gnulib-tool (func_create_testdir): When building the tests
17316         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
17317         Reported by Simon Josefsson.
17318
17319 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17320
17321         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
17322
17323 2008-12-06  Bruno Haible  <bruno@clisp.org>
17324
17325         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
17326         Suggested by Eric Blake.
17327
17328 2008-12-06  Bruno Haible  <bruno@clisp.org>
17329
17330         Fix a c-stack test failure on MacOS X.
17331         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
17332         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
17333         handler for SIGBUS as well.
17334         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
17335         install a signal handler for SIGBUS as well.
17336         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
17337
17338 2008-12-06  Bruno Haible  <bruno@clisp.org>
17339
17340         Advocacy documentation.
17341         * doc/gnulib-intro.texi (Benefits): New section.
17342         * doc/gnulib.texi: Update.
17343
17344 2008-12-06  Bruno Haible  <bruno@clisp.org>
17345
17346         Document the 'manywarnings' module.
17347         * doc/manywarnings.texi: New file.
17348         * doc/gnulib.texi: Include it.
17349
17350 2008-12-05  Eric Blake  <ebb9@byu.net>
17351
17352         tests: silence some gcc warnings
17353         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
17354         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
17355         type mismatches.
17356
17357 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17358             Bruno Haible  <bruno@clisp.org>
17359
17360         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
17361
17362 2008-11-29  Jim Meyering  <meyering@redhat.com>
17363
17364         unicodeio.c: mark unused parameters
17365         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
17366         (fallback_failure_callback): Likewise.
17367
17368         fts: fix a thinko
17369         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
17370         (set_stat_type): Return S_IF*-valued "type" directly.
17371         Prompted by James Youngman's spotting a related bug.
17372         Confirmed by further testing through find.
17373
17374         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
17375         * lib/fts.c (D_TYPE): Define.
17376         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
17377         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
17378         (s_ifmt_shift_bits): New function.
17379         (set_stat_type): New function.
17380         (fts_build): When not calling fts_stat, call set_stat_type
17381         to propagate dirent.d_type info to fts_read caller.
17382         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
17383         fts_statp->st_mode type information may be valid.
17384
17385 2008-11-28  Simon Josefsson  <simon@josefsson.org>
17386
17387         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
17388         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
17389         <sds@gnu.org>.
17390
17391 2008-11-20  Bruno Haible  <bruno@clisp.org>
17392
17393         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
17394         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
17395         INCLUDE_NEXT.
17396         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
17397         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
17398         * modules/math (Makefile.am): Substitute
17399         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
17400         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17401
17402 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
17403             Bruno Haible  <bruno@clisp.org>
17404
17405         * lib/stdint.in.h: Define all type macros so that their expansion is
17406         a single typedef'ed token. Fixes a compilation failure in Boost which
17407         does "using ::int8_t;".
17408
17409 2008-11-18  Simon Josefsson  <simon@josefsson.org>
17410
17411         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
17412         gl_MANYWARN_ALL_GCC.
17413         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
17414         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
17415         * modules/manywarnings: New file.
17416         * MODULES.html.sh: Mention manywarnings module.
17417
17418 2008-11-18  Bruno Haible  <bruno@clisp.org>
17419
17420         * doc/gnulib-tool.texi (Unit tests): New section.
17421
17422 2008-11-18  Simon Josefsson  <simon@josefsson.org>
17423
17424         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
17425         paths like 'lib/po/foo.po'.
17426
17427 2008-11-17  Simon Josefsson  <simon@josefsson.org>
17428
17429         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
17430         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
17431
17432 2008-11-17  Simon Josefsson  <simon@josefsson.org>
17433
17434         * m4/warnings.m4: Use CPPFLAGS to really check whether the
17435         parameter works.
17436
17437 2008-11-17  Simon Josefsson  <simon@josefsson.org>
17438
17439         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
17440
17441 2008-11-17  Bruce Korb  <bkorb@gnu.org>
17442
17443         * modules/parse-duration-tests: New file.
17444         * tests/test-parse-duration.sh: New file.
17445         * tests/test-parse-duration.c: New file.
17446
17447         New module 'parse-duration'.
17448         * lib/parse-duration.h: New file.
17449         * lib/parse-duration.c: New file.
17450         * modules/parse-duration: New file.
17451
17452 2008-11-17  Bruno Haible  <bruno@clisp.org>
17453
17454         * tests/test-select-out.sh: Comment out the first pipe test.
17455         Reported by Simon Josefsson.
17456
17457 2008-11-17  Bruno Haible  <bruno@clisp.org>
17458
17459         * modules/getaddrinfo (Depends-on): Add servent, hostent.
17460         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
17461         gl_HOSTENT.
17462
17463 2008-11-17  Bruno Haible  <bruno@clisp.org>
17464
17465         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
17466         -lnetwork and -lnet. Needed for Haiku and BeOS.
17467
17468 2008-11-16  Bruno Haible  <bruno@clisp.org>
17469
17470         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
17471
17472 2008-11-16  Bruno Haible  <bruno@clisp.org>
17473
17474         Avoid test failure on Haiku.
17475         * tests/test-fsync.c: Include <errno.h>.
17476         (main): Don't require that fsync (0) fails.
17477
17478 2008-11-15  Bruno Haible  <bruno@clisp.org>
17479
17480         New module 'hostent'.
17481         * modules/hostent: New file.
17482         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
17483
17484 2008-11-15  Bruno Haible  <bruno@clisp.org>
17485
17486         New module 'servent'.
17487         * modules/servent: New file.
17488         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
17489
17490 2008-11-15  Bruno Haible  <bruno@clisp.org>
17491
17492         Avoid generating same test program with two different rules.
17493         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
17494         test-frexp to test-frexp-nolibm.
17495         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
17496         test-frexpl to test-frexpl-nolibm.
17497
17498 2008-11-15  Bruno Haible  <bruno@clisp.org>
17499
17500         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
17501         $(FREXPL_LIBM).
17502
17503 2008-11-15  Bruno Haible  <bruno@clisp.org>
17504
17505         * lib/netdb.in.h: Activate the definitions also when the system's
17506         <netdb.h> has 'struct addrinfo'.
17507         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
17508         EAI_OVERFLOW or AI_NUMERICSERV.
17509         * doc/posix-headers/netdb.texi: Document the problem.
17510
17511 2008-11-15  Bruno Haible  <bruno@clisp.org>
17512
17513         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
17514
17515         Make the 'sched' module work on platforms where <sched.h> exists but
17516         is incomplete (such as Haiku).
17517         * lib/sched.in.h; Include the system's <sched.h> if it exists.
17518         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
17519         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
17520         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
17521         HAVE_STRUCT_SCHED_PARAM.
17522         * modules/sched (Depends-on): Add include_next.
17523         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
17524         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
17525         * doc/posix-headers/sched.texi: Document the issue.
17526
17527 2008-11-13  Jim Meyering  <meyering@redhat.com>
17528
17529         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
17530         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
17531         test would fail due to the difference in the Report bugs to ...
17532         line.  The expected address is empty, "<>", while the actual
17533         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
17534
17535 2008-11-12  Bruno Haible  <bruno@clisp.org>
17536
17537         lstat: don't compile lstat.c on systems lacking lstat
17538         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
17539         which don't have lstat; this is handled by lib/sys_stat.in.h already.
17540         Reported by Daniel P. Berrange via Jim Meyering.
17541
17542 2008-11-12  Jim Meyering  <meyering@redhat.com>
17543
17544         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
17545
17546 2008-11-12  Simon Josefsson  <simon@josefsson.org>
17547
17548         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
17549         instead.
17550
17551 2008-11-12  Bruno Haible  <bruno@clisp.org>
17552
17553         * lib/unicodeio.c: Include unistr.h.
17554         (utf8_wctomb): Remove function.
17555         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
17556
17557 2008-11-12  Simon Josefsson  <simon@josefsson.org>
17558
17559         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
17560         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
17561         <bruno@clisp.org>.
17562         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
17563
17564 2008-11-12  Simon Josefsson  <simon@josefsson.org>
17565
17566         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
17567         * doc/gnulib.texi: Add section for warnings.
17568
17569 2008-11-11  Bruno Haible  <bruno@clisp.org>
17570
17571         * lib/sockets.h: Add a comment.
17572
17573 2008-11-11  Karl Berry  <karl@gnu.org>
17574
17575         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
17576
17577 2008-11-11  Eric Blake  <ebb9@byu.net>
17578
17579         fdl.texi: avoid git symlinks
17580         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
17581
17582 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17583
17584         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
17585
17586 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17587
17588         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
17589         (gl_WARN_ADD): Substitute $2 if literal.
17590
17591 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17592
17593         * m4/warning.m4: Remove.
17594
17595 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
17596
17597         * m4/warnings.m4: Almost complete rewrite. :-)
17598
17599 2008-11-10  Simon Josefsson  <simon@josefsson.org>
17600
17601         * modules/warnings: New module.
17602         * m4/warnings.m4: New file.
17603         * MODULES.html.sh: Mention warnings module.
17604         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
17605         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17606
17607 2008-11-10  Eric Blake  <ebb9@byu.net>
17608
17609         fdl.texi: make a symlink to the latest version
17610         * doc/standards.texi: Revert today's earlier change.
17611         * doc/fdl-1.2.texi: Rename from old fdl.texi...
17612         * doc/fdl.texi: ...and replace this with a symlink to the newer
17613         fdl-1.3.texi.
17614
17615 2008-11-10  Bruno Haible  <bruno@clisp.org>
17616
17617         * tests/test-select-fd.c (main): Accept the result file name as fourth
17618         argument.
17619         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
17620         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
17621
17622 2008-11-10  Bruno Haible  <bruno@clisp.org>
17623
17624         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
17625         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
17626         as autoconf-substituted macros.
17627         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
17628         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
17629         gl_NETDB_H_DEFAULTS. Set these variables.
17630         * modules/netdb (Makefile.am): Substitute these variables.
17631
17632 2008-11-10  Eric Blake  <ebb9@byu.net>
17633
17634         standards.texi: include correct file for FDL 1.3
17635         * doc/standards.texi (GNU Free Documentation License): Change
17636         include file to pull in FDL 1.3, not 1.2.
17637
17638         fdl.texi: revert accidental change to license
17639         * doc/fdl.texi: This is FDL 1.2, not 1.3.
17640
17641 2008-11-10  Bruno Haible  <bruno@clisp.org>
17642
17643         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
17644         cross-compiling guesses also when the native compile gives no result.
17645
17646 2008-11-10  Bruno Haible  <bruno@clisp.org>
17647
17648         * lib/spawni.c (__spawni): Force variable into the stack.
17649
17650 2008-11-10  Bruno Haible  <bruno@clisp.org>
17651
17652         Add support for Haiku.
17653         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
17654         glibc and BeOS, but also on Haiku.
17655         * lib/fpurge.c (fpurge): Likewise.
17656         * lib/freadable.c (freadable): Likewise.
17657         * lib/freadahead.c (freadahead): Likewise.
17658         * lib/freading.c (freading): Likewise.
17659         * lib/freadptr.c (freadptr): Likewise.
17660         * lib/freadseek.c (freadptrinc): Likewise.
17661         * lib/fseeko.c (rpl_fseeko): Likewise.
17662         * lib/fseterr.c (fseterr): Likewise.
17663         * lib/fwritable.c (fwritable): Likewise.
17664         * lib/fwriting.c (fwriting): Likewise.
17665         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
17666
17667 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
17668
17669         * lib/config.charset: Treat Haiku like BeOS.
17670
17671 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
17672
17673         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
17674         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
17675
17676 2008-11-08  Bruno Haible  <bruno@clisp.org>
17677
17678         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
17679         AC_CACHE_CHECK.
17680
17681 2008-11-08  Bruno Haible  <bruno@clisp.org>
17682
17683         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
17684
17685 2008-11-08  Bruno Haible  <bruno@clisp.org>
17686
17687         * tests/test-select-fd.c: New file.
17688         * tests/test-select-in.sh: New file.
17689         * tests/test-select-out.sh: New file.
17690         * tests/test-select-stdin.c: New file.
17691         * modules/select-tests (Files): Add the new files.
17692         (Depends-on): Add gettimeofday.
17693         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
17694         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
17695         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
17696
17697 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
17698             Bruno Haible  <bruno@clisp.org>
17699
17700         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
17701
17702 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
17703
17704         * build-aux/pmccabe2html: Added support for C++ source files.
17705
17706 2008-11-05  Ben Pfaff  <blp@gnu.org>
17707
17708         Fix lib/close.c build on Windows.
17709         * modules/close (Files): Add lib/w32sock.h.
17710
17711 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
17712
17713         Accept Bison's NEWS format.
17714         * build-aux/announce-gen (print_news_deltas): Tweak
17715         $re_prefix.
17716
17717 2008-11-04  Bruno Haible  <bruno@clisp.org>
17718
17719         * modules/random_r (Maintainer): Add glibc.
17720
17721 2008-11-04  Simon Josefsson  <simon@josefsson.org>
17722
17723         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
17724         by karl@freefriends.org (Karl Berry).
17725         * doc/alloca.texi: Likewise.
17726         * doc/c-ctype.texi: Likewise.
17727         * doc/c-strcase.texi: Likewise.
17728         * doc/c-strcaseeq.texi: Likewise.
17729         * doc/c-strcasestr.texi: Likewise.
17730         * doc/c-strstr.texi: Likewise.
17731         * doc/c-strtod.texi: Likewise.
17732         * doc/c-strtold.texi: Likewise.
17733         * doc/ctime.texi: Likewise.
17734         * doc/error.texi: Likewise.
17735         * doc/fdl.texi: Likewise.
17736         * doc/gcd.texi: Likewise.
17737         * doc/getdate.texi: Likewise.
17738         * doc/gnulib-intro.texi: Likewise.
17739         * doc/gnulib-tool.texi: Likewise.
17740         * doc/gnulib.texi: Likewise.
17741         * doc/inet_ntoa.texi: Likewise.
17742         * doc/maintain.texi: Likewise.
17743         * doc/make-stds.texi: Likewise.
17744         * doc/quote.texi: Likewise.
17745         * doc/regexprops-generic.texi: Likewise.
17746         * doc/standards.texi: Likewise.
17747         * doc/verify.texi: Likewise.
17748         * doc/visibility.texi: Likewise.
17749         * doc/gnulib.texi (GNU Free Documentation License): Include
17750         fdl-1.3.texi instead of fdl.texi.
17751
17752 2008-11-04  Simon Josefsson  <simon@josefsson.org>
17753
17754         * doc/fdl-1.3.texi: New file, from
17755         <http://www.gnu.org/licenses/fdl-1.3.texi>.
17756         * modules/fdl-1.3: Add.
17757         * MODULES.html.sh: Add fdl-1.3.
17758
17759 2008-11-03  Bruno Haible  <bruno@clisp.org>
17760
17761         Make determination of absolute name of header file work with AIX xlc.
17762         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
17763         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
17764         preprocessing.
17765         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
17766         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
17767
17768 2008-11-03  Simon Josefsson  <simon@josefsson.org>
17769
17770         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
17771         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
17772         <ludo@gnu.org>.
17773
17774 2008-11-02  Bruno Haible  <bruno@clisp.org>
17775
17776         Mark 'strpbrk' obsolete.
17777         * modules/strpbrk (Status, Notice): New sections.
17778         * modules/strtok_r (Depends-on): Add strpbrk.
17779
17780 2008-11-02  Bruno Haible  <bruno@clisp.org>
17781
17782         Mark 'strdup' obsolete.
17783         * modules/strdup (Status, Notice): New sections.
17784         * modules/findprog (Depends-on): Add strdup.
17785         * modules/getaddrinfo (Depends-on): Likewise.
17786         * modules/localename (Depends-on): Likewise.
17787         * modules/relocatable-lib (Depends-on): Likewise.
17788         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
17789         * modules/relocatable-prog (Depends-on): Likewise.
17790         * modules/trim (Depends-on): Likewise.
17791         * modules/unictype/gen-ctype (Depends-on): Likewise.
17792         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
17793
17794 2008-11-02  Bruno Haible  <bruno@clisp.org>
17795
17796         Mark 'strcspn' obsolete.
17797         * modules/strcspn (Status, Notice): New sections.
17798
17799 2008-11-02  Bruno Haible  <bruno@clisp.org>
17800
17801         Mark 'rmdir' obsolete.
17802         * modules/rmdir (Status, Notice): New sections.
17803         * modules/clean-temp (Depends-on): Add rmdir.
17804         * modules/openat (Depends-on): Likewise.
17805
17806 2008-11-02  Bruno Haible  <bruno@clisp.org>
17807
17808         Mark 'raise' obsolete.
17809         * modules/raise (Status, Notice): New sections.
17810         (Include): Specify <signal.h>.
17811         * modules/stdio (Depends-on): Add raise.
17812         * modules/write (Depends-on): Likewise.
17813
17814 2008-11-02  Bruno Haible  <bruno@clisp.org>
17815
17816         Mark 'memset' obsolete.
17817         * modules/memset (Status, Notice): New sections.
17818
17819 2008-11-02  Bruno Haible  <bruno@clisp.org>
17820
17821         Mark 'memmove' obsolete.
17822         * modules/memmove (Status, Notice): New sections.
17823         * modules/argp (Depends-on): Add memmove.
17824         * modules/argz (Depends-on): Likewise.
17825         * modules/canonicalize (Depends-on): Likewise.
17826         * modules/canonicalize-lgpl (Depends-on): Likewise.
17827         * modules/fts (Depends-on): Likewise.
17828         * modules/getcwd (Depends-on): Likewise.
17829         * modules/human (Depends-on): Likewise.
17830         * modules/regex (Depends-on): Likewise.
17831         * modules/striconveh (Depends-on): Likewise.
17832         * modules/trim (Depends-on): Likewise.
17833         * modules/unistr/u8-move (Depends-on): Likewise.
17834         * modules/unistr/u16-move (Depends-on): Likewise.
17835         * modules/unistr/u32-move (Depends-on): Likewise.
17836
17837 2008-11-02  Bruno Haible  <bruno@clisp.org>
17838
17839         Mark 'memcpy' obsolete.
17840         * modules/memcpy (Status, Notice): New sections.
17841
17842 2008-11-02  Bruno Haible  <bruno@clisp.org>
17843
17844         Mark 'memcmp' obsolete.
17845         * modules/memcmp (Status, Notice): New sections.
17846         * modules/argmatch (Depends-on): Add memchr.
17847         * modules/backupfile (Depends-on): Likewise.
17848         * modules/c-strcasestr (Depends-on): Likewise.
17849         * modules/crypto/des (Depends-on): Likewise.
17850         * modules/csharpcomp (Depends-on): Likewise.
17851         * modules/fnmatch (Depends-on): Likewise.
17852         * modules/git-merge-changelog (Depends-on): Likewise.
17853         * modules/isnand (Depends-on): Likewise.
17854         * modules/isnand-nolibm (Depends-on): Likewise.
17855         * modules/isnanf (Depends-on): Likewise.
17856         * modules/isnanf-nolibm (Depends-on): Likewise.
17857         * modules/isnanl (Depends-on): Likewise.
17858         * modules/isnanl-nolibm (Depends-on): Likewise.
17859         * modules/mbchar (Depends-on): Likewise.
17860         * modules/memcoll (Depends-on): Likewise.
17861         * modules/quotearg (Depends-on): Likewise.
17862         * modules/regex (Depends-on): Likewise.
17863         * modules/relocatable-prog (Depends-on): Likewise.
17864         * modules/same (Depends-on): Likewise.
17865         * modules/signbit (Depends-on): Likewise.
17866         * modules/strcasestr-simple (Depends-on): Likewise.
17867         * modules/unictype/gen-ctype (Depends-on): Likewise.
17868         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
17869         * modules/uniname/uniname (Depends-on): Likewise.
17870         * modules/unistr/u8-cmp (Depends-on): Likewise.
17871
17872 2008-11-02  Bruno Haible  <bruno@clisp.org>
17873
17874         Mark 'memchr' obsolete.
17875         * modules/memchr (Status, Notice): New sections.
17876         * modules/argp (Depends-on): Add memchr.
17877         * modules/base64 (Depends-on): Likewise.
17878         * modules/c-strcasestr (Depends-on): Likewise.
17879         * modules/chdir-long (Depends-on): Likewise.
17880         * modules/fnmatch (Depends-on): Likewise.
17881         * modules/getsubopt (Depends-on): Likewise.
17882         * modules/git-merge-changelog (Depends-on): Likewise.
17883         * modules/glob (Depends-on): Likewise.
17884         * modules/strcasestr-simple (Depends-on): Likewise.
17885         * modules/strnlen (Depends-on): Likewise.
17886
17887 2008-11-02  Bruno Haible  <bruno@clisp.org>
17888
17889         Mark 'atexit' obsolete.
17890         * modules/atexit (Status, Notice): New sections.
17891         * modules/chdir-long (Depends-on): Add atexit.
17892         * modules/wait-process (Depends-on): Likewise.
17893
17894 2008-11-02  Bruno Haible  <bruno@clisp.org>
17895
17896         * gnulib-tool: New option --with-obsolete.
17897         (func_usage): Document it.
17898         (func_modules_transitive_closure): Drop obsolete dependencies if
17899         incobsolete is not true.
17900         (func_import): Read and save the incobsolete variable to the cache.
17901
17902 2008-11-02  Bruno Haible  <bruno@clisp.org>
17903
17904         * modules/TEMPLATE-EXTENDED: New field 'Status'.
17905         * gnulib-tool: New option --extract-status.
17906         (func_usage): Document it.
17907         (sed_extract_prog): Recognize it.
17908         (func_get_status): New function.
17909
17910 2008-10-30  Simon Josefsson  <simon@josefsson.org>
17911
17912         * modules/sockets (License): Change from LGPL to LGPLv2+.
17913
17914 2008-10-28  Simon Josefsson  <simon@josefsson.org>
17915
17916         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
17917
17918 2008-10-28  Simon Josefsson  <simon@josefsson.org>
17919
17920         * MODULES.html.sh (Support for systems lacking POSIX:2001):
17921         Mention times and sys_times.
17922         * modules/sys_times, modules/sys_times-tests: New modules.
17923         * modules/times, modules/times-tests: Likewise
17924         * m4/sys_times_h.m4: New file.
17925         * lib/sys_times.in.h: Likewise
17926         * lib/times.c: Likewise.
17927         * tests/test-sys_times.c: Likewise.
17928         * tests/test-times.c: Likewise.
17929         * doc/posix-headers/sys_times.texi: Update.
17930         * doc/posix-functions/times.texi: Update.
17931
17932 2008-10-28  Jim Meyering  <meyering@redhat.com>
17933
17934         * modules/tempname (Depends-on): Add lstat.
17935
17936         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
17937
17938 2008-10-28  Simon Josefsson  <simon@josefsson.org>
17939
17940         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
17941         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
17942         using idiom used elsewhere in gnulib.
17943
17944 2008-10-27  Jim Meyering  <meyering@redhat.com>
17945
17946         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
17947
17948 2008-10-27  Simon Josefsson  <simon@josefsson.org>
17949
17950         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
17951         TESTS_ENVIRONMENT, for shell scripts that needs to call built
17952         programs.
17953         * tests/test-argp-2.sh: Use $EXEEXT when needed.
17954
17955 2008-10-27  Simon Josefsson  <simon@josefsson.org>
17956
17957         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
17958
17959 2008-10-27  Bruno Haible  <bruno@clisp.org>
17960
17961         * tests/test-lstat.c: Include <stdio.h>.
17962
17963 2008-10-27  Simon Josefsson  <simon@josefsson.org>
17964
17965         * modules/lstat-tests: New module.
17966         * tests/test-lstat.c: New file.
17967
17968 2008-10-26  Jim Meyering  <meyering@redhat.com>
17969
17970         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
17971
17972 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17973             Bruno Haible  <bruno@clisp.org>
17974
17975         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
17976         * modules/configmake (Include): Add a note that the include must come
17977         after all system headers.
17978         * lib/javaversion.c: Include configmake.h after all other includes.
17979
17980 2008-10-26  Bruno Haible  <bruno@clisp.org>
17981
17982         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
17983         HAVE_STRUCT_RANDOM_DATA to 1.
17984         (gl_STDLIB_H): Simplify.
17985
17986 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17987
17988         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
17989         substitute HAVE_STRUCT_RANDOM_DATA.
17990         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
17991         random_data.
17992         * modules/stdlib (Makefile.am): Substitute
17993         HAVE_STRUCT_RANDOM_DATA.
17994
17995 2008-10-26  Simon Josefsson  <simon@josefsson.org>
17996
17997         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
17998         * doc/gnulib-intro.texi (Copyright): Likewise.
17999
18000 2008-10-26  Simon Josefsson  <simon@josefsson.org>
18001
18002         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
18003         findings.
18004
18005 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
18006             Bruno Haible  <bruno@clisp.org>
18007
18008         * lib/unistd.in.h: Include <winsock2.h>.
18009         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
18010         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
18011         Provide dummy declarations.
18012         (gethostname): Override.
18013         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
18014         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
18015         gl_PREREQ_SYS_H_WINSOCK2.
18016         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
18017         * doc/posix-functions/gethostname.texi: More details.
18018
18019 2008-10-25  Bruno Haible  <bruno@clisp.org>
18020
18021         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
18022         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
18023         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
18024
18025         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
18026         here ...
18027         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
18028         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
18029         gl_UNISTD_H_DEFAULTS.
18030
18031 2008-10-25  Eric Blake  <ebb9@byu.net>
18032
18033         signbit: avoid spurious compiler failure
18034         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
18035         declarations inside function.
18036
18037 2008-10-24  Simon Josefsson  <simon@josefsson.org>
18038             Bruno Haible  <bruno@clisp.org>
18039
18040         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
18041         * modules/random_r (Depends-on): Add stdint.
18042
18043 2008-10-24  Bruno Haible  <bruno@clisp.org>
18044
18045         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
18046         Eggert.
18047         * modules/strerror (License): Likewise.
18048
18049 2008-10-24  Jim Meyering  <meyering@redhat.com>
18050
18051         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
18052         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
18053
18054 2008-10-24  Eric Blake  <ebb9@byu.net>
18055
18056         getgroups: fix compilation when getgroups is available
18057         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
18058         but with <config.h> override of getgroups disabled.
18059
18060 2008-10-24  Simon Josefsson  <simon@josefsson.org>
18061
18062         * doc/gnulib.texi (Header files): Add note about C++ problems.
18063         Explained by Bruno Haible <bruno@clisp.org>.
18064
18065 2008-10-23  Bruno Haible  <bruno@clisp.org>
18066
18067         Define a dummy SA_NODEFER macro on Interix.
18068         * lib/signal.in.h (SA_NODEFER): Define fallback.
18069         Reported by Aleksey Cheusov <cheusov@tut.by> via
18070         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
18071
18072 2008-10-23  Bruno Haible  <bruno@clisp.org>
18073
18074         * modules/freadahead (License): Change to LGPLv2+.
18075         Suggested by Simon Josefsson.
18076
18077 2008-10-23  Jim Meyering  <meyering@redhat.com>
18078
18079         random_r: new module
18080         * modules/random_r: New file.
18081         * m4/random_r.m4: New file.
18082         * lib/random_r.c: New file, from glibc.
18083         * modules/random_r-tests: New file.
18084         * tests/test-random_r.c: New file.
18085         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
18086          Declare.
18087         (RAND_MAX): Define.
18088         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
18089         * modules/stdlib: Substitute them, too.
18090         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
18091         * doc/glibc-functions/initstate_r.texi: Mention the new module.
18092         * doc/glibc-functions/random_r.texi: Likewise.
18093         * doc/glibc-functions/setstate_r.texi: Likewise.
18094         * doc/glibc-functions/srandom_r.texi: Likewise.
18095         * config/srclist.txt: Mention it.
18096
18097 2008-10-23  David Lutterkort  <lutter@redhat.com>
18098
18099         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
18100         link requirement
18101
18102 2008-10-23  Jim Meyering  <meyering@redhat.com>
18103
18104         selinux-h: mark parameters of stub functions as intentionally unused
18105         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
18106         * lib/se-context.in.h: Likewise.
18107
18108 2008-10-22  Simon Josefsson  <simon@josefsson.org>
18109
18110         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
18111
18112 2008-10-22  Simon Josefsson  <simon@josefsson.org>
18113
18114         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
18115
18116 2008-10-22  Eric Blake  <ebb9@byu.net>
18117
18118         glthread/thread: avoid compiler warning
18119         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
18120         Add unreachable abort to silence compiler.
18121
18122 2008-10-22  Eric Blake  <ebb9@byu.net>
18123
18124         netdb: also supply struct addrinfo for cygwin 1.5.x
18125         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
18126         older cygwin.
18127         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
18128         cygwin.
18129         * doc/posix-headers/netdb.texi (netdb.h): Document this.
18130
18131 2008-10-22  Bruno Haible  <bruno@clisp.org>
18132
18133         * users.txt: Update entry about pspp.
18134
18135 2008-10-21  Bruno Haible  <bruno@clisp.org>
18136
18137         Simplification.
18138         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
18139         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
18140
18141         Simplification.
18142         * lib/ioctl.c (ioctl): Don't undefine.
18143         * lib/socket.c (socket): Don't undefine.
18144
18145         Remove unused module indicator macros.
18146         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
18147         GNULIB_$1 as a C macro.
18148
18149         * doc/posix-functions/close.texi: Undo last change.
18150         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
18151         Windows platforms.
18152
18153 2008-10-21  Bruno Haible  <bruno@clisp.org>
18154
18155         Add gethostname() declaration to <unistd.h>.
18156         * lib/unistd.in.h (gethostname): New declaration.
18157         * lib/gethostname.c: Include <unistd.h>.
18158         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
18159         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
18160         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
18161         and HAVE_GETHOSTNAME.
18162         * modules/gethostname (Depends-on): Add unistd.
18163         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18164         (Include): Specify <unistd.h>.
18165         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
18166         HAVE_GETHOSTNAME.
18167         * tests/test-gethostname.c: Include <unistd.h> first.
18168
18169 2008-10-21  Bruno Haible  <bruno@clisp.org>
18170
18171         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
18172         * modules/select-tests (Depends-on): Likewise.
18173         Reported by Simon Josefsson.
18174
18175 2008-10-21  Simon Josefsson  <simon@josefsson.org>
18176
18177         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
18178         * lib/accept.c: New file, based on winsock.c.
18179         * lib/bind.c: New file, based on winsock.c.
18180         * lib/connect.c: New file, based on winsock.c.
18181         * lib/getpeername.c: New file, based on winsock.c.
18182         * lib/getsockname.c: New file, based on winsock.c.
18183         * lib/getsockopt.c: New file, based on winsock.c.
18184         * lib/ioctl.c: New file, based on winsock.c.
18185         * lib/listen.c: New file, based on winsock.c.
18186         * lib/recv.c: New file, based on winsock.c.
18187         * lib/recvfrom.c: New file, based on winsock.c.
18188         * lib/send.c: New file, based on winsock.c.
18189         * lib/sendto.c: New file, based on winsock.c.
18190         * lib/setsockopt.c: New file, based on winsock.c.
18191         * lib/shutdown.c: New file, based on winsock.c.
18192         * lib/socket.c: New file, based on winsock.c.
18193         * lib/w32sock.h: New file, based on winsock.c.
18194         * lib/winsock.c: Remove file.
18195         * modules/accept: Likewise.
18196         * modules/bind: Likewise.
18197         * modules/connect: Likewise.
18198         * modules/getpeername: Likewise.
18199         * modules/getsockname: Likewise.
18200         * modules/getsockopt: Likewise.
18201         * modules/ioctl: Likewise.
18202         * modules/listen: Likewise.
18203         * modules/recv: Likewise.
18204         * modules/recvfrom: Likewise.
18205         * modules/send: Likewise.
18206         * modules/sendto: Likewise.
18207         * modules/setsockopt: Likewise.
18208         * modules/shutdown: Likewise.
18209         * modules/socket: Use socket.c instead of winsock.c.
18210         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
18211         * doc/posix-functions/accept.texi: Doc fix.
18212         * doc/posix-functions/bind.texi: Doc fix.
18213         * doc/posix-functions/close.texi: Doc fix.
18214         * doc/posix-functions/connect.texi: Doc fix.
18215         * doc/posix-functions/getpeername.texi: Doc fix.
18216         * doc/posix-functions/getsockname.texi: Doc fix.
18217         * doc/posix-functions/getsockopt.texi: Doc fix.
18218         * doc/posix-functions/ioctl.texi: Doc fix.
18219         * doc/posix-functions/listen.texi: Doc fix.
18220         * doc/posix-functions/recv.texi: Doc fix.
18221         * doc/posix-functions/recvfrom.texi: Doc fix.
18222         * doc/posix-functions/send.texi: Doc fix.
18223         * doc/posix-functions/sendto.texi: Doc fix.
18224         * doc/posix-functions/setsockopt.texi: Doc fix.
18225         * doc/posix-functions/shutdown.texi: Doc fix.
18226         * doc/posix-functions/socket.texi: Doc fix.
18227
18228 2008-10-20  Bruno Haible  <bruno@clisp.org>
18229
18230         Take into account the role of SIGABRT_COMPAT on Windows 2008.
18231         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
18232         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
18233         as an alias for SIGABRT.
18234         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
18235         (sigaction): Map it to SIGABRT.
18236         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
18237
18238 2008-10-20  Bruno Haible  <bruno@clisp.org>
18239
18240         * lib/fts.c: Don't include lstat.h.
18241         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
18242
18243         Move the lstat() declaration to <sys/stat.h>.
18244         * lib/lstat.h: Remove file.
18245         * lib/sys_stat.in.h: Add special invocation convention.
18246         (lstat): New declaration.
18247         * lib/lstat.c (orig_lstat): New function.
18248         (rpl_lstat): Use orig_lstat instead of lstat.
18249         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
18250         AC_C_INLINE. Set REPLACE_LSTAT.
18251         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
18252         and REPLACE_LSTAT.
18253         * modules/lstat (Files): Remove lib/lstat.h.
18254         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
18255         (Include): Specify <sys/stat.h> instead of lstat.h.
18256         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
18257         REPLACE_LSTAT.
18258         * NEWS: Mention the change.
18259
18260 2008-10-20  Bruno Haible  <bruno@clisp.org>
18261
18262         * modules/posix_spawn-tests: New file.
18263         * tests/test-posix_spawn3.c: New file.
18264
18265 2008-10-20  Bruno Haible  <bruno@clisp.org>
18266
18267         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
18268         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
18269         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
18270         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
18271         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
18272
18273 2008-10-20  Bruno Haible  <bruno@clisp.org>
18274
18275         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
18276         of posix_spawn on AIX 5.3.
18277
18278 2008-10-20  Bruno Haible  <bruno@clisp.org>
18279
18280         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
18281
18282 2008-10-20  Bruno Haible  <bruno@clisp.org>
18283
18284         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
18285         of AC_LANG_PROGRAM.
18286
18287 2008-10-20  Simon Josefsson  <simon@josefsson.org>
18288
18289         * lib/netdb.in.h: Don't define GNU specific constants until they
18290         are supported or needed.  Reported by Bruno Haible
18291         <bruno@clisp.org>.
18292
18293 2008-10-20  Simon Josefsson  <simon@josefsson.org>
18294
18295         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
18296
18297 2008-10-20  Simon Josefsson  <simon@josefsson.org>
18298
18299         * lib/getaddrinfo.h: Remove file.
18300         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
18301         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
18302         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
18303         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
18304         * modules/netdb: Substitute GNULIB_GETADDRINFO.
18305         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
18306         * tests/test-getaddrinfo.c: Likewise.
18307         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
18308         * NEWS: Mention change.
18309
18310 2008-10-19  Bruno Haible  <bruno@clisp.org>
18311
18312         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
18313
18314 2008-10-19  Bruno Haible  <bruno@clisp.org>
18315
18316         * lib/wait-process.c: Include simply <sys/wait.h>.
18317         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
18318         WIFSTOPPED): Remove fallback definitions.
18319         * modules/wait-process (Depends-on): Add sys_wait.
18320
18321         New module 'sys_wait'.
18322         * modules/sys_wait: New file.
18323         * lib/sys_wait.in.h: New file, partially copied from
18324         lib/wait-process.c.
18325         * m4/sys_wait_h.m4: New file.
18326         * doc/posix-headers/sys_wait.texi: Mention the new module.
18327
18328 2008-10-19  Bruno Haible  <bruno@clisp.org>
18329
18330         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
18331
18332 2008-10-19  Bruno Haible  <bruno@clisp.org>
18333
18334         Assume that waitpid() fills an 'int' status, not a 'union wait'.
18335         * lib/wait-process.c (WAIT_T): Remove type.
18336         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
18337         (wait_subprocess): Update.
18338
18339 2008-10-19  Bruno Haible  <bruno@clisp.org>
18340
18341         New module 'atoll'.
18342         * modules/atoll: New file.
18343         * lib/stdlib.in.h (atoll): New declaration.
18344         * lib/atoll.c: New file, from glibc with modifications.
18345         * m4/atoll.m4: New file.
18346         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
18347         HAVE_ATOLL.
18348         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
18349         * doc/posix-functions/atoll.texi: Mention the new module.
18350
18351 2008-10-19  Bruno Haible  <bruno@clisp.org>
18352
18353         Add strtoull() declaration to <stdlib.h>.
18354         * lib/stdlib.in.h (strtoull): New declaration.
18355         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
18356         Set HAVE_STRTOULL.
18357         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
18358         HAVE_STRTOULL.
18359         * modules/strtoull (Depends-on): Add stdlib.
18360         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
18361         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
18362         HAVE_STRTOULL.
18363
18364 2008-10-19  Bruno Haible  <bruno@clisp.org>
18365
18366         Add strtoll() declaration to <stdlib.h>.
18367         * lib/stdlib.in.h (strtoll): New declaration.
18368         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
18369         Set HAVE_STRTOLL.
18370         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
18371         HAVE_STRTOLL.
18372         * modules/strtoll (Depends-on): Add stdlib.
18373         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
18374         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
18375
18376 2008-10-19  Bruno Haible  <bruno@clisp.org>
18377
18378         * modules/bcopy (Depends-on): Add strings.
18379         (Include): Specify <strings.h>.
18380
18381 2008-10-19  Bruno Haible  <bruno@clisp.org>
18382
18383         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
18384
18385 2008-10-19  Bruno Haible  <bruno@clisp.org>
18386
18387         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
18388         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
18389         mingw.
18390
18391 2008-10-19  Bruno Haible  <bruno@clisp.org>
18392
18393         * lib/atanl.c: Don't include isnanl.h.
18394         * lib/cosl.c: Likewise.
18395         * lib/ldexpl.c: Likewise.
18396         * lib/logl.c: Likewise.
18397         * lib/sinl.c: Likewise.
18398         * lib/sqrtl.c: Likewise.
18399         * lib/tanl.c: Likewise.
18400
18401         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
18402         * lib/isnanf.h: Remove file.
18403         * lib/isnand.h: Remove file.
18404         * lib/isnanl.h: Remove file.
18405         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
18406         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
18407         macros.
18408         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
18409         HAVE_ISNANF, don't define it as a C macro.
18410         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
18411         HAVE_ISNAND, don't define it as a C macro.
18412         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
18413         HAVE_ISNANL, don't define it as a C macro.
18414         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
18415         HAVE_ISNAN[FDL].
18416         * modules/isnanf (Files): Remove lib/isnanf.h.
18417         (Depends-on): Add math.
18418         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
18419         (Include): Specify <math.h> instead of isnanf.h.
18420         * modules/isnand (Files): Remove lib/isnand.h.
18421         (Depends-on): Add math.
18422         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
18423         (Include): Specify <math.h> instead of isnand.h.
18424         * modules/isnanl (Files): Remove lib/isnanl.h.
18425         (Depends-on): Add math.
18426         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
18427         (Include): Specify <math.h> instead of isnanl.h.
18428         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
18429         HAVE_ISNAN[FDL].
18430         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
18431         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
18432         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
18433         * NEWS: Mention the change.
18434
18435 2008-10-18  Bruno Haible  <bruno@clisp.org>
18436
18437         Add getusershell(), setusershell(), endusershell() declarations to
18438         <unistd.h>.
18439         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
18440         declarations.
18441         * lib/getusershell.c: Include unistd.h.
18442         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
18443         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
18444         HAVE_GETUSERSHELL.
18445         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
18446         and HAVE_GETUSERSHELL.
18447         * modules/getusershell (Depends-on): Add unistd, extensions.
18448         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18449         (Include): Specify <unistd.h>.
18450         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
18451         HAVE_GETUSERSHELL.
18452
18453 2008-10-18  Bruno Haible  <bruno@clisp.org>
18454
18455         Add a getloadavg() declaration to <stdlib.h>.
18456         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
18457         getloadavg declaration.
18458         (getloadavg): New declaration.
18459         * lib/getloadavg.c: Include <stdlib.h> first.
18460         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
18461         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
18462         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
18463         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
18464         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
18465         * modules/getloadavg (Depends-on): Add stdlib, extensions.
18466         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
18467         (Include): Specify <stdlib.h>.
18468         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
18469         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
18470
18471 2008-10-18  Bruno Haible  <bruno@clisp.org>
18472
18473         * lib/dirchownmod.c: Don't include lchmod.h.
18474
18475         Move the lchmod() declaration to <sys/stat.h>.
18476         * lib/lchmod.h: Remove file.
18477         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
18478         (lchmod): New declaration, moved here from lib/lchown.h.
18479         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
18480         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
18481         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
18482         and HAVE_LCHMOD.
18483         * modules/lchmod (Files): Remove lib/lchmod.h.
18484         (Depends-on): Add sys_stat, extensions.
18485         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
18486         (Include): Specify <sys/stat.h> instead of lchmod.h.
18487         * modules/sys_stat (Depends-on): Add link-warning.
18488         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
18489         definition of GL_LINK_WARNING.
18490         * NEWS: Mention the change.
18491
18492 2008-10-18  Bruno Haible  <bruno@clisp.org>
18493
18494         * lib/fchdir.c: Don't include dirfd.h.
18495         * lib/fts.c: Likewise.
18496         * lib/getcwd.c: Likewise.
18497         * lib/glob.c: Likewise.
18498
18499         Move the dirfd() declaration to <dirent.h>.
18500         * lib/dirfd.h: Remove file.
18501         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
18502         (dirfd): New declaration.
18503         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
18504         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
18505         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
18506         HAVE_DECL_DIRFD.
18507         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
18508         HAVE_DECL_DIRFD.
18509         * modules/dirfd (Files): Remove lib/dirfd.h.
18510         (Depends-on): Add dirent, extensions.
18511         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
18512         (Include): Specify <dirent.h> instead of dirfd.h.
18513         * modules/dirent (Depends-on): Add link-warning.
18514         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
18515         definition of GL_LINK_WARNING.
18516         * NEWS: Mention the change.
18517
18518 2008-10-18  Bruno Haible  <bruno@clisp.org>
18519
18520         Move the euidaccess() declaration to <unistd.h>.
18521         * lib/euidaccess.h: Remove file.
18522         * lib/unistd.in.h (euidaccess): New declaration.
18523         * lib/euidaccess.c: Don't include euidaccess.h.
18524         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
18525         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
18526         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
18527         and HAVE_EUIDACCESS.
18528         * modules/euidaccess (Files): Remove lib/euidaccess.h.
18529         (Depends-on): Add unistd.
18530         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18531         (Include): Specify <unistd.h> instead of euidaccess.h.
18532         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
18533         HAVE_EUIDACCESS.
18534         * NEWS: Mention the change.
18535
18536 2008-10-18  Bruno Haible  <bruno@clisp.org>
18537
18538         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
18539
18540         Move the getdomainname() declaration to <unistd.h>.
18541         * lib/getdomainname.h: Remove file.
18542         * lib/unistd.in.h (getdomainname): New declaration.
18543         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
18544         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
18545         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
18546         HAVE_GETDOMAINNAME.
18547         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18548         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
18549         * modules/getdomainname (Files): Remove lib/getdomainname.h.
18550         (Depends-on): Add unistd, extensions.
18551         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18552         (Includes): Specify <unistd.h> instead of getdomainname.h.
18553         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
18554         HAVE_GETDOMAINNAME.
18555         * NEWS: Mention the change.
18556
18557 2008-10-18  Bruno Haible  <bruno@clisp.org>
18558
18559         * modules/dirent: New file.
18560         * m4/dirent_h.m4: New file.
18561         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
18562         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
18563         * modules/fchdir (Files): Remove lib/dirent.in.h.
18564         (Depends-on): Add dirent.
18565         (Makefile.am): Move rules to modules/dirent.
18566         * doc/posix-headers/dirent.texi: Mention the new module.
18567
18568 2008-10-18  Bruno Haible  <bruno@clisp.org>
18569
18570         Avoid -Wunused-parameter warnings in public gnulib header files.
18571         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
18572         macro.
18573         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
18574
18575 2008-10-18  Bruno Haible  <bruno@clisp.org>
18576
18577         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
18578         * doc/glibc-functions/error.texi: Mention the module 'error'.
18579         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
18580         * doc/glibc-functions/getdomainname.texi: Mention the module
18581         'getdomainname'.
18582         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
18583         * doc/glibc-functions/getpagesize.texi: Mention the module
18584         'getpagesize'.
18585         * doc/glibc-functions/getusershell.texi: Mention the module
18586         'getusershell'.
18587         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
18588         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
18589         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
18590         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
18591         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
18592         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
18593         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
18594         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
18595         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
18596         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
18597         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
18598         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
18599         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
18600         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
18601
18602 2008-10-17  Bruno Haible  <bruno@clisp.org>
18603
18604         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
18605         HP-UX and IRIX, use -0.0L.
18606         * tests/test-ceill.c (minus_zero): Likewise.
18607         * tests/test-floorl.c (minus_zero): Likewise.
18608         * tests/test-frexpl.c (minus_zero): Likewise.
18609         * tests/test-isnan.c (minus_zerol): Likewise.
18610         * tests/test-isnanl.h (minus_zero): Likewise.
18611         * tests/test-ldexpl.c (minus_zero): Likewise.
18612         * tests/test-roundl.c (minus_zero): Likewise.
18613         * tests/test-signbit.c (minus_zerol): Likewise.
18614         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
18615         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
18616         * tests/test-truncl.c (minus_zero): Likewise.
18617         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
18618         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
18619         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
18620         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
18621
18622 2008-10-17  Bruno Haible  <bruno@clisp.org>
18623
18624         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
18625         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
18626         that it gets activated only for gcc >= 3.0.
18627         * lib/dirent.in.h: Likewise.
18628         * lib/errno.in.h: Likewise.
18629         * lib/fcntl.in.h: Likewise.
18630         * lib/float.in.h: Likewise.
18631         * lib/iconv.in.h: Likewise.
18632         * lib/inttypes.in.h: Likewise.
18633         * lib/locale.in.h: Likewise.
18634         * lib/math.in.h: Likewise.
18635         * lib/netdb.in.h: Likewise.
18636         * lib/netinet_in.in.h: Likewise.
18637         * lib/search.in.h: Likewise.
18638         * lib/signal.in.h: Likewise.
18639         * lib/spawn.in.h: Likewise.
18640         * lib/stdarg.in.h: Likewise.
18641         * lib/stdint.in.h: Likewise.
18642         * lib/stdio.in.h: Likewise.
18643         * lib/stdlib.in.h: Likewise.
18644         * lib/string.in.h: Likewise.
18645         * lib/strings.in.h: Likewise.
18646         * lib/sys_file.in.h: Likewise.
18647         * lib/sys_ioctl.in.h: Likewise.
18648         * lib/sys_select.in.h: Likewise.
18649         * lib/sys_socket.in.h: Likewise.
18650         * lib/sys_stat.in.h: Likewise.
18651         * lib/sys_time.in.h: Likewise.
18652         * lib/sysexits.in.h: Likewise.
18653         * lib/time.in.h: Likewise.
18654         * lib/unistd.in.h: Likewise.
18655         * lib/wchar.in.h: Likewise.
18656         * lib/wctype.in.h: Likewise.
18657         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
18658
18659 2008-10-17  Jim Meyering  <meyering@redhat.com>
18660
18661         ignore-value: don't depend on inline module
18662         * modules/ignore-value (Depends-on): Remove 'inline'.
18663         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
18664         Suggestion from Bruno Haible.
18665
18666 2008-10-17  Bruno Haible  <bruno@clisp.org>
18667
18668         New implementation of condition variables for Win32.
18669         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
18670         (gl_linked_waitqueue_t): New type.
18671         (gl_cond_t): Use it.
18672         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
18673         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
18674         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
18675         (glthread_cond_init_func, glthread_cond_wait_func,
18676         glthread_cond_timedwait_func, glthread_cond_signal_func,
18677         glthread_cond_broadcast_func, glthread_cond_destroy_func):
18678         Reimplemented on the basis of gl_linked_waitqueue_t.
18679         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
18680         gl_waitqueue_t.
18681         (gl_rwlock_t): Update.
18682         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
18683
18684 2008-10-17  Simon Josefsson  <simon@josefsson.org>
18685
18686         * modules/recvfrom (Depends-on): Add dependency on getpeername.
18687         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
18688
18689 2008-10-17  Jim Meyering  <meyering@redhat.com>
18690
18691         ignore-value: new module
18692         * modules/ignore-value: New file.
18693         * lib/ignore-value.h: New file.
18694         * MODULES.html.sh (Compiler warning management): New section,
18695         just for this module.  More to come.
18696
18697 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
18698
18699         open-safer.c: avoid 'signed and unsigned in conditional...' warning
18700         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
18701         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
18702
18703 2008-10-16  Jim Meyering  <meyering@redhat.com>
18704
18705         openat-die.c: avoid 'no previous prototype' warning
18706         * lib/openat-die.c: Include "openat.h".
18707         Reported by Reuben Thomas <rrt@sc3d.org>.
18708
18709 2008-10-16  Simon Josefsson  <simon@josefsson.org>
18710
18711         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
18712         * lib/netdb.in.h: Fix typo.
18713         Reported by Bruno Haible  <bruno@clisp.org>
18714
18715         * lib/netdb.in.h: Include sys/socket.h for platforms without
18716         netdb.h, to get structures like hostent on MinGW.
18717         * modules/netdb (Depends-on): Add sys_socket.
18718
18719 2008-10-15  Simon Josefsson  <simon@josefsson.org>
18720
18721         * modules/netdb, modules/netdb-tests: New file.
18722         * m4/netdb_h.m4: New file.
18723         * lib/netdb.in.h: Add, currently just an empty file pending
18724         definitions.
18725         * tests/test-netdb.c: New file.
18726         * doc/posix-headers/netdb.texi: Mention that we replace it if
18727         needed.
18728         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18729         netdb.
18730
18731 2008-10-15  Simon Josefsson  <simon@josefsson.org>
18732
18733         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
18734         with code.
18735
18736 2008-10-13  Bruno Haible  <bruno@clisp.org>
18737
18738         * lib/glthread/cond.c (glthread_cond_wait_func,
18739         glthread_cond_timedwait_func): Add a comment.
18740
18741 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18742
18743         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
18744         * tests/test-select.c: Likewise,
18745
18746 2008-10-13  Bruno Haible  <bruno@clisp.org>
18747
18748         * lib/glthread/cond.c (glthread_cond_wait_func,
18749         glthread_cond_timedwait_func): Fix variable name.
18750         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
18751
18752 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
18753
18754         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
18755         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
18756         struct sockaddr.sa_len.
18757         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
18758
18759 2008-10-13  Simon Josefsson  <simon@josefsson.org>
18760
18761         * build-aux/pmccabe2html: Add css and css_url parameters.
18762
18763 2008-10-12  Bruno Haible  <bruno@clisp.org>
18764
18765         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
18766         calling aclx_get.
18767         Reported by Rainer Tammer <tammer@tammer.net>.
18768
18769 2008-10-12  Bruno Haible  <bruno@clisp.org>
18770
18771         Use msvcrt aware primitives for creation/termination of Win32 threads.
18772         * lib/glthread/thread.c: Include <process.h>.
18773         (glthread_create_func): Use _beginthreadex instead of CreateThread.
18774         (wrapper_func): Update signature.
18775         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
18776
18777 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
18778             Bruno Haible  <bruno@clisp.org>
18779
18780         Provide a Win32 implementation of the 'cond' module.
18781         * lib/glthread/cond.h [USE_WIN32]: New implementation.
18782         * lib/glthread/cond.c (glthread_cond_init_func,
18783         glthread_cond_wait_func, glthread_cond_timedwait_func,
18784         glthread_cond_signal_func, glthread_cond_broadcast_func,
18785         glthread_cond_destroy_func) [USE_WIN32]: New functions.
18786         * modules/cond (Dependencies): Add gettimeofday.
18787
18788 2008-10-11  Bruno Haible  <bruno@clisp.org>
18789
18790         Make sleep work on older versions of mingw.
18791         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
18792         only whether it exists.
18793         * doc/posix-functions/sleep.texi: Mention the problem with older
18794         versions of mingw.
18795
18796 2008-10-11  Bruno Haible  <bruno@clisp.org>
18797
18798         New module 'shutdown'.
18799         * modules/shutdown: New file.
18800         * lib/sys_socket.in.h (shutdown): New declaration.
18801         * lib/winsock.c (shutdown): New function.
18802         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
18803         GNULIB_SHUTDOWN.
18804         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
18805         * doc/posix-functions/shutdown.texi: Document the new module.
18806
18807 2008-10-11  Jim Meyering  <meyering@redhat.com>
18808
18809         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
18810
18811 2008-10-11  Bruno Haible  <bruno@clisp.org>
18812
18813         New module 'fclose'.
18814         * modules/fclose: New file.
18815         * lib/stdio.in.h (fclose): New declaration.
18816         * lib/fclose.c: New file.
18817         * m4/fclose.m4: New file.
18818         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
18819         REPLACE_FCLOSE.
18820         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
18821         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
18822         REPLACE_FCLOSE.
18823         * modules/close (Depends-on): fclose.
18824         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
18825
18826 2008-10-11  Bruno Haible  <bruno@clisp.org>
18827
18828         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
18829         set errno and don't call _close.
18830
18831 2008-10-10  Bruno Haible  <bruno@clisp.org>
18832
18833         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
18834         ACL, not afterwards. Fixes test failure on Cygwin.
18835
18836 2008-10-09  Ben Pfaff  <blp@gnu.org>
18837
18838         * build-aux/announce-gen: Fix gnulib version related part of usage
18839         message.  Die with a useful error message if no tarballs are
18840         found.
18841
18842 2008-10-10  Jim Meyering  <meyering@redhat.com>
18843
18844         bootstrap: use git's --depth=N option only if it's supported
18845         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
18846         recognize the --depth option.  Reported by Pádraig Brady.
18847
18848 2008-10-09  Bruno Haible  <bruno@clisp.org>
18849
18850         New module 'ioctl'.
18851         * modules/ioctl: New file.
18852         * lib/sys_socket.in.h (ioctl): Remove declaration.
18853         * lib/winsock.c: Include <sys/ioctl.h>.
18854         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
18855         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
18856         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
18857         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
18858         * doc/posix-functions/ioctl.texi: Mention the new module.
18859
18860 2008-10-09  Bruno Haible  <bruno@clisp.org>
18861
18862         New module 'sys_ioctl'.
18863         * lib/sys_ioctl.in.h: New file.
18864         * m4/sys_ioctl_h.m4: New file.
18865         * modules/sys_ioctl: New file.
18866         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
18867
18868 2008-10-09  Bruno Haible  <bruno@clisp.org>
18869
18870         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
18871         * lib/winsock.c: Include <stdarg.h>.
18872         (rpl_ioctl): Change to second argument 'int' and then varargs.
18873
18874 2008-10-09  Bruno Haible  <bruno@clisp.org>
18875
18876         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
18877         when the sys_socket module is present and the system has <winsock2.h>.
18878
18879 2008-10-09  Bruno Haible  <bruno@clisp.org>
18880
18881         * doc/posix-functions/close.texi: Mention module 'close' instead of
18882         module 'sys_socket'.
18883
18884 2008-10-09  Bruno Haible  <bruno@clisp.org>
18885
18886         * doc/glibc-headers/sys_ioctl.texi: New file.
18887         * doc/gnulib.texi: Include it.
18888
18889 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18890             Bruno Haible  <bruno@clisp.org>
18891
18892         Combine the two replacements of 'close'.
18893         * lib/sys_socket.in.h (close): Define to a reminder to include
18894         <unistd.h>.
18895         (_gl_close_fd_maybe_socket): New declaration.
18896         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
18897         * lib/winsock.c (close): Remove undefinition.
18898         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
18899         needed for the gnulib module 'close'.
18900         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
18901         define to an error symbol or to a warning, if suitable.
18902         * lib/close.c: Include <sys/socket.h>.
18903         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
18904         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
18905         UNISTD_H_HAVE_WINSOCK2_H.
18906         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
18907         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18908         UNISTD_H_HAVE_WINSOCK2_H.
18909         * modules/sys_socket (Files): Add m4/unistd_h.m4.
18910         (configure.ac): Set a module indicator.
18911         (Makefile.am): Substitute GNULIB_CLOSE.
18912         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
18913         * modules/poll-tests (Depends-on): Add close.
18914         * modules/select-tests (Depends-on): Likewise.
18915
18916 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18917             Bruno Haible  <bruno@clisp.org>
18918
18919         New module 'close'.
18920         * modules/close: New file.
18921         * lib/unistd.in.h (close): Move declaration out of the
18922         FCHDIR_REPLACEMENT scope.
18923         (_gl_unregister_fd): New declaration.
18924         * lib/close.c: New file.
18925         * lib/fchdir.c (rpl_close): Remove function.
18926         * m4/close.m4: New file.
18927         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
18928         close.
18929         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
18930         REPLACE_CLOSE.
18931         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
18932         REPLACE_CLOSE.
18933         * modules/fchdir (Depends-on): Add close.
18934
18935 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18936             Bruno Haible  <bruno@clisp.org>
18937
18938         * lib/fcntl.in.h (open): Simplify conditionals.
18939         (_gl_register_fd): New declaration.
18940         * lib/fchdir.c (rpl_open): Remove function.
18941         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
18942         also.
18943         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
18944         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
18945         open.
18946
18947 2008-10-09  Jim Meyering  <meyering@redhat.com>
18948
18949         GNUmakefile: use the more name-space-friendly "_version"
18950         * top/GNUmakefile (_dummy): Update.
18951         (_version): Rename from "version".
18952
18953 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18954             Bruno Haible  <bruno@clisp.org>
18955
18956         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
18957         rpl_close.
18958         (_gl_register_fd): New function, extracted from rpl_open.
18959         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
18960         (rpl_open, rpl_opendir): Use _gl_register_fd.
18961
18962 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
18963
18964         Fix organization of 'open' replacement.
18965         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
18966         (gl_FUNC_OPEN): Use it.
18967         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
18968
18969 2008-10-08  Bruno Haible  <bruno@clisp.org>
18970
18971         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
18972
18973 2008-10-08  Simon Josefsson  <simon@josefsson.org>
18974
18975         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
18976         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
18977         listen).
18978
18979 2008-10-08  Eric Blake  <ebb9@byu.net>
18980
18981         GNUmakefile: add 'make version' target
18982         * top/GNUmakefile (_curr-ver): Split version update rules...
18983         (version): ...into a target.
18984
18985 2008-10-07  Bruno Haible  <bruno@clisp.org>
18986
18987         Use a more portable replacement expression for -0.0L.
18988         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
18989         instead of -0.0L. Fix m4 quotation.
18990
18991         * tests/test-signbit.c: Include <float.h>.
18992         (minus_zero): New variable.
18993         (test_signbitl): Use minus_zero instead of -zero.
18994         * modules/signbit-tests (Depends-on): Add float.
18995
18996         * tests/test-ceill.c: Include <float.h>.
18997         (zero): Remove variable.
18998         (minus_zero): New variable.
18999         (main): Use minus_zero instead of -zero.
19000         * modules/ceill-tests (Depends-on): Add float.
19001
19002         * tests/test-floorl.c: Include <float.h>.
19003         (zero): Remove variable.
19004         (minus_zero): New variable.
19005         (main): Use minus_zero instead of -zero.
19006         * modules/floorl-tests (Depends-on): Add float.
19007
19008         * tests/test-roundl.c: Include <float.h>.
19009         (zero): Remove variable.
19010         (minus_zero): New variable.
19011         (main): Use minus_zero instead of -zero.
19012         * modules/roundl-tests (Depends-on): Add float.
19013
19014         * tests/test-truncl.c: Include <float.h>.
19015         (zero): Remove variable.
19016         (minus_zero): New variable.
19017         (main): Use minus_zero instead of -zero.
19018         * modules/truncl-tests (Depends-on): Add float.
19019
19020         * tests/test-frexpl.c (zero): Remove variable.
19021         (minus_zero): New variable.
19022         (main): Use minus_zero instead of -zero.
19023         * modules/frexpl-tests (Depends-on): Add float.
19024
19025         * tests/test-isnan.c (zerol): Remove variable.
19026         (minus_zerol): New variable.
19027         (test_long_double): Use minus_zerol instead of -zerol.
19028         * modules/isnan-tests (Depends-on): Add float.
19029
19030         * tests/test-isnanl.h (zero): Remove variable.
19031         (minus_zero): New variable.
19032         (main): Use minus_zero instead of -zero.
19033         * modules/isnanl-nolibm-tests (Depends-on): Add float.
19034         * modules/isnanl-tests (Depends-on): Add float.
19035
19036         * tests/test-ldexpl.c (zero): Remove variable.
19037         (minus_zero): New variable.
19038         (main): Use minus_zero instead of -zero.
19039         * modules/ldexpl-tests (Depends-on): Add float.
19040
19041         * tests/test-snprintf-posix.h (zerol): Remove variable.
19042         (minus_zerol): New variable.
19043         (test_function): Use minus_zerol instead of -zerol.
19044         * modules/snprintf-posix-tests (Depends-on): Add float.
19045         * modules/vsnprintf-posix-tests (Depends-on): Add float.
19046
19047         * tests/test-sprintf-posix.h (zerol): Remove variable.
19048         (minus_zerol): New variable.
19049         (test_function): Use minus_zerol instead of -zerol.
19050         * modules/sprintf-posix-tests (Depends-on): Add float.
19051         * modules/vsprintf-posix-tests (Depends-on): Add float.
19052
19053         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
19054         (minus_zerol): New variable.
19055         (test_function): Use minus_zerol instead of -zerol.
19056         * modules/vasnprintf-posix-tests (Depends-on): Add float.
19057
19058         * tests/test-vasprintf-posix.c (zerol): Remove variable.
19059         (minus_zerol): New variable.
19060         (test_function): Use minus_zerol instead of -zerol.
19061         * modules/vasprintf-posix-tests (Depends-on): Add float.
19062
19063 2008-10-07  Simon Josefsson  <simon@josefsson.org>
19064
19065         * MODULES.html.sh (Support for building documentation): Mention
19066         pmccabe2html.  Sort entries.
19067
19068         Add pmccabe2html module, from gnupdf.
19069         * build-aux/pmccabe.css: New file.
19070         * build-aux/pmccabe2html: New file.
19071         * m4/pmccabe2html.m4: New file.
19072         * modules/pmccabe2html: New file.
19073
19074 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
19075
19076         flock: new module
19077         * MODULES.html.sh: Add to list of modules.
19078         * lib/flock.c: flock implementation for Windows and Unix systems
19079         which have fcntl.
19080         * doc/glibc-functions/flock.texi: Update documentation.
19081         * lib/sys_file.in.h: <sys/file.h> header file.
19082         * m4/flock.m4: M4 macros.
19083         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
19084         * modules/flock: flock module.
19085         * modules/flock-tests: flock tests module.
19086         * modules/sys_file: sys/file.h module.
19087         * tests/test-flock.c: test suite for flock.
19088
19089 2008-10-06  Jim Meyering  <meyering@redhat.com>
19090
19091         bootstrap: check for LT_INIT more portably still ;-)
19092         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
19093         Spotted by Bruno Haible.
19094
19095 2008-10-06  Eric Blake  <ebb9@byu.net>
19096
19097         test-signbit: avoid tripping Irix cc bug on -0.0L
19098         * tests/test-signbit.c (minus_zerol): Delete, and replace with
19099         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
19100         entire testsuite consistent and avoids an Irix 6.2 bug.
19101
19102 2008-10-05  Bruno Haible  <bruno@clisp.org>
19103             Jim Meyering  <jim@meyering.net>
19104
19105         Add an option for ignoring EPIPE during close_stdout.
19106         * lib/closeout.h: Include <stdbool.h>.
19107         (close_stdout_set_ignore_EPIPE): New declaration.
19108         * lib/closeout.c: Include <stdbool.h>.
19109         (ignore_EPIPE): New variable.
19110         (close_stdout_set_ignore_EPIPE): New function.
19111         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
19112         * lib/close-stream.c (close_stream): Mention the possible EPIPE
19113         failure.
19114         * modules/closeout (Depends-on): Add stdbool.
19115
19116 2008-10-05  Bruno Haible  <bruno@clisp.org>
19117
19118         * modules/accept: New file.
19119         * modules/bind: New file.
19120         * modules/connect: New file.
19121         * modules/getpeername: New file.
19122         * modules/getsockname: New file.
19123         * modules/getsockopt: New file.
19124         * modules/listen: New file.
19125         * modules/recv: New file.
19126         * modules/recvfrom: New file.
19127         * modules/send: New file.
19128         * modules/sendto: New file.
19129         * modules/setsockopt: New file.
19130         * modules/socket: New file.
19131         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
19132         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
19133         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
19134         the particular module is requested. Add a link warning when the
19135         particular module is not requested.
19136         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
19137         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
19138         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
19139         the particular module is requested.
19140         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
19141         gl_SYS_SOCKET_H_DEFAULTS): New macros.
19142         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
19143         * modules/sys_socket (Depends-on): Add link-warning.
19144         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
19145         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
19146         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
19147         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
19148         GL_LINK_WARNING.
19149         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
19150         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
19151         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
19152         * doc/posix-functions/getpeername.texi: Mention the new module
19153         'getpeername'.
19154         * doc/posix-functions/getsockname.texi: Mention the new module
19155         'getsockname'.
19156         * doc/posix-functions/getsockopt.texi: Mention the new module
19157         'getsockopt'.
19158         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
19159         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
19160         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
19161         * doc/posix-functions/send.texi: Mention the new module 'send'.
19162         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
19163         * doc/posix-functions/setsockopt.texi: Mention the new module
19164         'setsockopt'.
19165         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
19166         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
19167         listen, connect, accept.
19168         * modules/select-tests (Depends-on): Likewise.
19169
19170 2008-10-05  Bruno Haible  <bruno@clisp.org>
19171
19172         * lib/winsock.c (strerror): Remove unused #undef.
19173         (rpl_close): Remove unused local variable.
19174
19175         * modules/sys_socket (Depends-on); Add errno.
19176
19177 2008-10-05  Bruno Haible  <bruno@clisp.org>
19178
19179         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
19180         (select): Add a link warning when the 'select' module is not used.
19181         * modules/sys_select (Depends-on): Add link-warning.
19182         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
19183         Suggested by Paolo Bonzini.
19184
19185 2008-10-05  Jim Meyering  <meyering@redhat.com>
19186
19187         bootstrap: check for LT_INIT more portably
19188         * build-aux/bootstrap: Avoid using grep -E, since it's not
19189         portable enough.  Suggestion from Bruno Haible.
19190
19191 2008-10-05  Bruno Haible  <bruno@clisp.org>
19192
19193         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
19194         as being fixed by gnulib.
19195
19196 2008-10-05  Bruno Haible  <bruno@clisp.org>
19197
19198         * modules/select-tests: New file, mostly copied from
19199         modules/sys_select-tests.
19200         * tests/test-select.c: New file, mostly copied from
19201         tests/test-sys_select.c.
19202         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
19203         * modules/sys_select-tests (Depends-on): Remove all dependencies.
19204         (Makefile.am): Remove test_sys_select_LDADD.
19205
19206         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
19207         to an undefined symbol, for an error message.
19208         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
19209         (gl_SYS_SELECT_H_DEFAULTS): New macro.
19210         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
19211         winsock-select.c here.
19212         * modules/sys_select (Files): Remove lib/winsock-select.c.
19213         (Depends-on): Remove alloca.
19214         (Makefile.am): Substitute GNULIB_SELECT.
19215         * modules/select: New file.
19216         * doc/posix-functions/select.texi: Update.
19217
19218 2008-10-05  Bruno Haible  <bruno@clisp.org>
19219
19220         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
19221         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
19222         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
19223         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
19224         getdtablesize.
19225         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
19226         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
19227
19228 2008-10-05  Bruno Haible  <bruno@clisp.org>
19229
19230         * modules/getdtablesize-tests: New file.
19231         * tests/test-getdtablesize.c: New file.
19232
19233         New module 'getdtablesize'.
19234         * lib/unistd.in.h (getdtablesize): New declaration.
19235         * lib/getdtablesize.c: New file.
19236         * m4/getdtablesize.m4: New file.
19237         * modules/getdtablesize: New file.
19238         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19239         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
19240         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
19241         HAVE_GETDTABLESIZE.
19242         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
19243
19244 2008-10-05  Bruno Haible  <bruno@clisp.org>
19245
19246         * modules/sched (Makefile.am): Fix typo.
19247         Reported by Simon Josefsson.
19248
19249 2008-10-05  Jim Meyering  <meyering@redhat.com>
19250
19251         bootstrap: check for LT_INIT, too
19252         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
19253         are deprecated.  Suggestion from Ralf Wildenhues.
19254
19255 2008-10-05  Bruno Haible  <bruno@clisp.org>
19256
19257         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
19258         overriding them by ours.
19259         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
19260
19261 2008-10-05  Jim Meyering  <meyering@redhat.com>
19262
19263         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
19264         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
19265         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
19266
19267 2008-10-04  Bruno Haible  <bruno@clisp.org>
19268
19269         * modules/dup2 (License): Change to LGPLv2+.
19270         * modules/sleep (License): Likewise.
19271         * modules/perror (License): Likewise.
19272         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
19273         Blake.
19274         * modules/signal (License): Likewise.
19275         * modules/sigprocmask (License): Likewise.
19276         * modules/raise (License): Change to LGPLv2+, with approval by Jim
19277         Meyering.
19278
19279 2008-10-04  Bruno Haible  <bruno@clisp.org>
19280
19281         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
19282         Reported by Rainer Tammer <tammer@tammer.net>.
19283
19284 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
19285             Bruno Haible  <bruno@clisp.org>
19286
19287         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
19288         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
19289         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
19290
19291 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
19292
19293         filevercmp: new module
19294         * lib/filevercmp.h: New function filevercmp comparing version strings.
19295         * lib/filevercmp.c: Implementation of filevercmp function.
19296         * modules/filevercmp: Module metadata.
19297         * tests/test-filevercmp.c: Unit test for new module.
19298         * modules/filevercmp-tests: Unit test metadata.
19299         * MODULES.html.sh: Add filevercmp module.
19300
19301 2008-10-03  Bruno Haible  <bruno@clisp.org>
19302
19303         * lib/c-ctype.h: Add comment.
19304         Reported by Jim Meyering.
19305
19306 2008-10-02  Bruno Haible  <bruno@clisp.org>
19307
19308         * modules/posix_spawn-internal (Depends-on): Add 'open'.
19309
19310 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
19311
19312         * build-aux/bootstrap: Allow renaming bootstrap, and change the
19313         name of bootstrap.conf accordingly.
19314
19315 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
19316
19317         * build-aux/bootstrap: Install git-merge-changelog configuration
19318         items into .gitconfig if needed.
19319
19320 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
19321
19322         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
19323         git repository, and initialize/update it accordingly.
19324
19325 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
19326
19327         * modules/fsync-tests: New file.
19328         * tests/test-fsync.c: New file.
19329
19330         New module 'fsync'.
19331         * lib/fsync.c: New file.
19332         * m4/fsync.m4: New file.
19333         * modules/fsync: New file.
19334         * lib/unistd.in.h (fsync): New declaration.
19335         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
19336         GNULIB_FSYNC and HAVE_FSYNC.
19337         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
19338         * MODULES.html.sh (posix_functions): Add fsync.
19339         * doc/posix-functions/fsync.texi: Mention the new module.
19340
19341 2008-10-02  Jim Meyering  <meyering@redhat.com>
19342
19343         fts.c: sync with similar code from coreutils' remove.c
19344         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
19345         Guard also with "#if defined __linux__", since for now at least,
19346         this code is Linux-kernel-specific.
19347
19348 2008-10-02  Jim Meyering  <meyering@redhat.com>
19349
19350         fts: bug fixes
19351         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
19352         Include <sys/vfs.h>, not <sys/statfs.h>.
19353
19354         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
19355         Include <sys/vfs.h>, not <sys/statfs.h>.
19356
19357 2008-10-01  Bruno Haible  <bruno@clisp.org>
19358
19359         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
19360         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
19361         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
19362         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
19363         * doc/posix-functions/posix_spawnp.texi: Likewise.
19364         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
19365         whether posix_spawn actually works.
19366         * m4/pipe.m4 (gl_PIPE): Likewise.
19367         * modules/execute (Files): Add m4/posix_spawn.m4.
19368         * modules/pipe (Files): Add m4/posix_spawn.m4.
19369         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
19370
19371 2008-10-01  Jim Meyering  <meyering@redhat.com>
19372
19373         remove trailing spaces
19374         * NEWS: Likewise.
19375         * lib/poll.c (poll): Likewise.
19376         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
19377         * lib/winsock.c (rpl_close): Likewise.
19378         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
19379         * modules/yield: Likewise.
19380         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
19381         * tests/test-sys_select.c (connect_to_socket): Likewise.
19382
19383         fts.c: adjust a new interface to be more generally useful
19384         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
19385         (fts_build): Adjust caller.
19386
19387 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19388
19389         * modules/cond-tests: New file.
19390         * tests/test-cond.c: New file.
19391
19392 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19393             Bruno Haible  <bruno@clisp.org>
19394
19395         * modules/cond (Dependencies): Add errno, time.
19396         * lib/glthread/cond.h: Include <time.h>.
19397         (gl_cond_define, gl_cond_define_initialized): Use the same definition
19398         across platforms.
19399
19400 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19401             Bruno Haible  <bruno@clisp.org>
19402
19403         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
19404
19405 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19406             Bruno Haible  <bruno@clisp.org>
19407
19408         * modules/tls-tests (Depends-on): Add thread, yield.
19409         (configure.ac): Remove all checks.
19410         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
19411         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
19412         gl_thread_self): Remove definitions. Include glthread/thread.h and
19413         glthread/yield.h instead.
19414         (test_tls): Pass an additional NULL argument to gl_thread_join.
19415
19416 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19417             Bruno Haible  <bruno@clisp.org>
19418
19419         * modules/lock-tests (Depends-on): Add thread, yield.
19420         (configure.ac): Remove all checks.
19421         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
19422         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
19423         gl_thread_self): Remove definitions. Include glthread/thread.h and
19424         glthread/yield.h instead.
19425         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
19426         additional NULL argument to gl_thread_join.
19427
19428 2008-09-30  Bruno Haible  <bruno@clisp.org>
19429
19430         Fix the Win32 implementation of the 'thread' module.
19431         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
19432         pointer type.
19433         (gl_thread_self): Invoke gl_thread_self_func.
19434         (gl_thread_self_func): New declaration.
19435         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
19436         (do_init_self_key, init_self_key): New functions.
19437         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
19438         Remove some fields.
19439         (running_threads, running_lock): Remove variables.
19440         (get_current_thread_handle): New function.
19441         (gl_thread_self_func, wrapper_func, glthread_create_func,
19442         glthread_join_func, gl_thread_exit_func): Largely rewritten and
19443         simplified.
19444
19445 2008-09-30  Bruno Haible  <bruno@clisp.org>
19446
19447         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
19448         files.
19449
19450 2008-09-30  Jim Meyering  <meyering@redhat.com>
19451
19452         fts.m4: correct the test for statfs.f_type
19453         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
19454         when checking for statfs.f_type.
19455
19456 2008-09-15  Simon Josefsson  <simon@josefsson.org>
19457
19458         tests: avoid some compiler warnings
19459         * tests/test-memchr.c (main): Pass NULL indirectly.
19460         * tests/test-getdate.c (main): Remove unused variable 'ret'.
19461
19462 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
19463
19464         getdate.y: disallow countable dayshifts like "4 yesterday ago"
19465         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
19466         exactly specified dayshifts.
19467         (dayshift): New rule.
19468         (rel): Add dayshift.
19469         (relative_time_table) [tomorrow, yesterday, today, now]:
19470         Use tDAY_SHIFT in place of tDAY_UNIT.
19471         * tests/test-getdate.c: Add tests for now-disallowed countable
19472         dayshifts, e.g., "4 yesterday ago".
19473
19474 2008-09-29  Bruno Haible  <bruno@clisp.org>
19475
19476         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
19477         * tests/test-posix_spawn1.in.sh: Renamed from
19478         tests/test-posix_spawn.in.sh.
19479         * tests/test-posix_spawn2.c: New file.
19480         * tests/test-posix_spawn2.in.sh: New file.
19481         * modules/posix_spawnp-tests (Files): Update.
19482         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
19483
19484 2008-09-29  Bruno Haible  <bruno@clisp.org>
19485
19486         Propagate effects of putenv/setenv/unsetenv to child processes.
19487         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
19488         * lib/pipe.c (create_pipe): Likewise.
19489
19490 2008-09-29  Bruno Haible  <bruno@clisp.org>
19491
19492         Enable use of shell scripts as executables in mingw.
19493         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
19494         run the program as a shell script.
19495         * lib/pipe.c (create_pipe): Likewise.
19496         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
19497         resulting array.
19498
19499 2008-09-29  Eric Blake  <ebb9@byu.net>
19500
19501         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
19502
19503 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
19504
19505         * doc/posix-functions/accept.texi: Update mingw problems.
19506         * doc/posix-functions/bind.texi: Update mingw problems.
19507         * doc/posix-functions/close.texi: Update mingw problems.
19508         * doc/posix-functions/connect.texi: Update mingw problems.
19509         * doc/posix-functions/getpeername.texi: Update mingw problems.
19510         * doc/posix-functions/getsockname.texi: Update mingw problems.
19511         * doc/posix-functions/getsockopt.texi: Update mingw problems.
19512         * doc/posix-functions/ioctl.texi: Update mingw problems.
19513         * doc/posix-functions/listen.texi: Update mingw problems.
19514         * doc/posix-functions/recv.texi: Update mingw problems.
19515         * doc/posix-functions/recvfrom.texi: Update mingw problems.
19516         * doc/posix-functions/select.texi: Update mingw problems.
19517         * doc/posix-functions/send.texi: Update mingw problems.
19518         * doc/posix-functions/sendto.texi: Update mingw problems.
19519         * doc/posix-functions/setsockopt.texi: Update mingw problems.
19520         * doc/posix-functions/socket.texi: Update mingw problems.
19521
19522 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
19523             Bruno Haible  <bruno@clisp.org>
19524
19525         * lib/sys_select.in.h: Include sys/time.h.
19526         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
19527         * modules/sys_select: Depend on sys_time.
19528         * tests/test-sys_select.c: Test that sys/select.h defines struct
19529         timeval fully.
19530
19531 2008-09-29  Bruno Haible  <bruno@clisp.org>
19532
19533         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
19534         * lib/sys_select.in.h: Likewise.
19535
19536 2008-09-29  Bruno Haible  <bruno@clisp.org>
19537
19538         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
19539
19540 2008-09-29  Bruno Haible  <bruno@clisp.org>
19541
19542         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
19543         Set LIBSOCKET instead of augmenting LIBS.
19544         * modules/sockets (Link): New section.
19545         * modules/sockets-tests (test_sockets_LDADD): New variable.
19546         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
19547         * modules/poll-tests (test_poll_LDADD): New variable.
19548         * NEWS: Document the change.
19549
19550 2008-09-29  Bruno Haible  <bruno@clisp.org>
19551
19552         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
19553         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
19554         ARPA_INET_H directly.
19555         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
19556
19557 2008-09-28  Bruno Haible  <bruno@clisp.org>
19558
19559         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
19560         from gl_HEADER_SYS_SOCKET.
19561         (gl_HEADER_SYS_SOCKET): Invoke it.
19562         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19563
19564 2008-09-28  Bruno Haible  <bruno@clisp.org>
19565
19566         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
19567         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
19568         Needed on OSF/1 4.0.
19569
19570 2008-09-28  Bruno Haible  <bruno@clisp.org>
19571
19572         Override open more carefully.
19573         * lib/open.c (orig_open): New function.
19574         (rpl_open): Use orig_open instead of open.
19575         * lib/fcntl.in.h: Add special invocation convention.
19576         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
19577         (gl_FUNC_OPEN): Invoke it.
19578
19579         Override freopen more carefully.
19580         * lib/freopen.c (orig_freopen): New function.
19581         (rpl_freopen): Use orig_freopen instead of freopen.
19582         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
19583         (gl_FUNC_FREOPEN): Invoke it.
19584
19585         Override fopen more carefully.
19586         * lib/fopen.c (orig_fopen): New function.
19587         (rpl_fopen): Use orig_fopen instead of fopen.
19588         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
19589         (gl_FUNC_FOPEN): Invoke it.
19590         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
19591
19592 2008-09-28  Bruno Haible  <bruno@clisp.org>
19593
19594         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
19595         SIGPIPE.
19596
19597 2008-09-28  Bruno Haible  <bruno@clisp.org>
19598
19599         * tests/test-sigaction.c (handler, main): Disable the check whether
19600         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
19601         glibc systems with LinuxThreads.
19602
19603 2008-09-28  Bruno Haible  <bruno@clisp.org>
19604
19605         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
19606
19607         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
19608         with AIX xlc.
19609         * lib/fcntl.in.h (open): Likewise.
19610         Reported by Rainer Tammer <tammer@tammer.net>.
19611
19612 2008-09-28  Bruno Haible  <bruno@clisp.org>
19613
19614         * modules/posix_spawnp-tests: New file.
19615         * tests/test-posix_spawn.c: New file.
19616         * tests/test-posix_spawn.in.sh: New file.
19617
19618         New module 'posix_spawnp'.
19619         * modules/posix_spawnp: New file.
19620         * lib/spawnp.c: New file, from GNU libc with modifications.
19621         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
19622
19623         New module 'posix_spawn'.
19624         * modules/posix_spawn: New file.
19625         * lib/spawn.c: New file, from GNU libc with modifications.
19626         * doc/posix-functions/posix_spawn.texi: Mention the new module.
19627
19628         New module 'posix_spawnattr_destroy'.
19629         * modules/posix_spawnattr_destroy: New file.
19630         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
19631         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
19632         module.
19633
19634         New module 'posix_spawnattr_setsigmask'.
19635         * modules/posix_spawnattr_setsigmask: New file.
19636         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
19637         modifications.
19638         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
19639         new module.
19640
19641         New module 'posix_spawnattr_getsigmask'.
19642         * modules/posix_spawnattr_getsigmask: New file.
19643         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
19644         modifications.
19645         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
19646         new module.
19647
19648         New module 'posix_spawnattr_setsigdefault'.
19649         * modules/posix_spawnattr_setsigdefault: New file.
19650         * lib/spawnattr_setdefault.c: New file, from GNU libc with
19651         modifications.
19652         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
19653         new module.
19654
19655         New module 'posix_spawnattr_getsigdefault'.
19656         * modules/posix_spawnattr_getsigdefault: New file.
19657         * lib/spawnattr_getdefault.c: New file, from GNU libc with
19658         modifications.
19659         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
19660         new module.
19661
19662         New module 'posix_spawnattr_setschedpolicy'.
19663         * modules/posix_spawnattr_setschedpolicy: New file.
19664         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
19665         modifications.
19666         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
19667         new module.
19668
19669         New module 'posix_spawnattr_getschedpolicy'.
19670         * modules/posix_spawnattr_getschedpolicy: New file.
19671         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
19672         modifications.
19673         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
19674         new module.
19675
19676         New module 'posix_spawnattr_setschedparam'.
19677         * modules/posix_spawnattr_setschedparam: New file.
19678         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
19679         modifications.
19680         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
19681         new module.
19682
19683         New module 'posix_spawnattr_getschedparam'.
19684         * modules/posix_spawnattr_getschedparam: New file.
19685         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
19686         modifications.
19687         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
19688         new module.
19689
19690         New module 'posix_spawnattr_setpgroup'.
19691         * modules/posix_spawnattr_setpgroup: New file.
19692         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
19693         modifications.
19694         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
19695         module.
19696
19697         New module 'posix_spawnattr_getpgroup'.
19698         * modules/posix_spawnattr_getpgroup: New file.
19699         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
19700         modifications.
19701         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
19702         module.
19703
19704         New module 'posix_spawnattr_setflags'.
19705         * modules/posix_spawnattr_setflags: New file.
19706         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
19707         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
19708         module.
19709
19710         New module 'posix_spawnattr_getflags'.
19711         * modules/posix_spawnattr_getflags: New file.
19712         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
19713         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
19714         module.
19715
19716         New module 'posix_spawnattr_init'.
19717         * modules/posix_spawnattr_init: New file.
19718         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
19719         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
19720         module.
19721
19722         New module 'posix_spawn_file_actions_destroy'.
19723         * modules/posix_spawn_file_actions_destroy: New file.
19724         * lib/spawn_faction_destroy.c: New file, from GNU libc with
19725         modifications.
19726         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
19727         the new module.
19728
19729         New module 'posix_spawn_file_actions_addopen'.
19730         * modules/posix_spawn_file_actions_addopen: New file.
19731         * lib/spawn_faction_addopen.c: New file, from GNU libc with
19732         modifications.
19733         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
19734         the new module.
19735
19736         New module 'posix_spawn_file_actions_adddup2'.
19737         * modules/posix_spawn_file_actions_adddup2: New file.
19738         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
19739         modifications.
19740         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
19741         the new module.
19742
19743         New module 'posix_spawn_file_actions_addclose'.
19744         * modules/posix_spawn_file_actions_addclose: New file.
19745         * lib/spawn_faction_addclose.c: New file, from GNU libc with
19746         modifications.
19747         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
19748         the new module.
19749
19750         New module 'posix_spawn_file_actions_init'.
19751         * modules/posix_spawn_file_actions_init: New file.
19752         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
19753         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
19754         new module.
19755
19756         New module 'posix_spawn-internal'.
19757         * modules/posix_spawn-internal: New file.
19758         * lib/spawn_int.h: New file, from GNU libc with modifications.
19759         * lib/spawni.c: New file, from GNU libc with modifications.
19760         * m4/posix_spawn.m4: New file.
19761
19762         New module 'spawn'.
19763         * modules/spawn: New file.
19764         * lib/spawn.in.h: New file, from GNU libc with modifications.
19765         * m4/spawn_h.m4: New file.
19766         * doc/posix-headers/spawn.texi: Mention the new module.
19767
19768 2008-09-28  Bruno Haible  <bruno@clisp.org>
19769
19770         * modules/sched-tests: New file.
19771         * tests/test-sched.c: New file.
19772
19773         New module 'sched'.
19774         * modules/sched: New file.
19775         * lib/sched.in.h: New file.
19776         * m4/sched_h.m4: New file.
19777         * doc/posix-headers/sched.texi: Mention the new module.
19778
19779 2008-09-27  Eric Blake  <ebb9@byu.net>
19780
19781         Fix previous patch, and tweak references to $0.
19782         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
19783         (func_version, func_gnulib_dir): Don't call this program
19784         gnulib-tool.
19785         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
19786         with using $0 in function.
19787         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
19788         (func_fatal_error): Reuse the name the user invoked us with.
19789
19790 2008-09-27  Bruno Haible  <bruno@clisp.org>
19791
19792         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
19793         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
19794         (gl_ICONV_H): Not here.
19795         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
19796         instead of assigning ICONV_H directly.
19797
19798         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
19799         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
19800         WCHAR_H directly.
19801
19802 2008-09-27  Bruno Haible  <bruno@clisp.org>
19803
19804         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
19805         * modules/arpa_inet (Depends-on): Add link-warning.
19806         (Makefile.am): Insert the definition of GL_LINK-WARNING.
19807         * modules/unistd (Makefile.am): Likewise.
19808
19809 2008-09-26  Bruno Haible  <bruno@clisp.org>
19810
19811         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
19812         variables.
19813         (func_version): Essentially copied from gnulib-tool.
19814         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
19815         func_readlink): Copied from gnulib-tool.
19816
19817 2008-09-26  Bruno Haible  <bruno@clisp.org>
19818
19819         * gnulib-tool (func_version): Change directory to $gnulib_dir before
19820         invoking git-version-gen.
19821
19822 2008-09-26  Bruno Haible  <bruno@clisp.org>
19823
19824         * posix-modules: Update to directory names changed on 2008-01-19.
19825         Remove commas in output before splitting into words. No more need to
19826         avoid 'ftruncate' since 2007-02-19.
19827
19828 2008-09-26  Bruno Haible  <bruno@clisp.org>
19829
19830         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
19831
19832 2008-09-26  Bruno Haible  <bruno@clisp.org>
19833
19834         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
19835         * modules/fwriteerror (Depends-on): Add errno.
19836
19837 2008-09-26  Bruno Haible  <bruno@clisp.org>
19838
19839         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
19840         * tests/test-vc-list-files-cvs.sh: Likewise.
19841
19842 2008-09-26  Bruno Haible  <bruno@clisp.org>
19843
19844         * doc/posix-headers/sys_resource.texi: Reorder items.
19845
19846 2008-09-26  Jim Meyering  <meyering@redhat.com>
19847
19848         fts: tweak inode comparison function
19849         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
19850         inode numbers, as documented.
19851
19852         fts: sort dirent entries on inode number before traversing
19853         This avoids a quadratic, seek-related performance penalty when
19854         operating on a directory containing many entries (measurable at 10k;
19855         3.5 hours at 2 million entries with a cold cache) on certain types
19856         of file systems, including ext3 and ext4, but not tmpfs.
19857         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
19858         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
19859         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
19860         (fs_handles_readdir_ordered_dirents_efficiently): New function.
19861         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
19862         (fts_build): Set the stat.st_ino member from D_INO.
19863         If it is likely to be useful, sort dirent entries on inode number.
19864
19865         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
19866         and the struct statfs.f_type member.
19867         * modules/fts (Depends-on): Add d-ino.
19868
19869 2008-09-26  Bruno Haible  <bruno@clisp.org>
19870
19871         * modules/sigpipe-die (Depends-on): Add sigpipe.
19872
19873         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
19874         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
19875         and GNULIB_STDIO_H_SIGPIPE are set.
19876         * lib/stdio-write.c: New file.
19877         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
19878         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
19879         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
19880         REPLACE_STDIO_WRITE_FUNCS.
19881         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
19882         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
19883         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
19884         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
19885         * modules/stdio (Files): Add lib/stdio-write.c.
19886         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
19887         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
19888         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
19889         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
19890         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
19891         REPLACE_FPRINTF_POSIX.
19892         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
19893         REPLACE_PRINTF_POSIX.
19894         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
19895         REPLACE_VFPRINTF_POSIX.
19896         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
19897         REPLACE_VPRINTF_POSIX.
19898         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
19899         SIGPIPE issue.
19900         * doc/posix-functions/fputc.texi: Likewise.
19901         * doc/posix-functions/fputs.texi: Likewise.
19902         * doc/posix-functions/fwrite.texi: Likewise.
19903         * doc/posix-functions/printf.texi: Likewise.
19904         * doc/posix-functions/putc.texi: Likewise.
19905         * doc/posix-functions/putchar.texi: Likewise.
19906         * doc/posix-functions/puts.texi: Likewise.
19907         * doc/posix-functions/vfprintf.texi: Likewise.
19908         * doc/posix-functions/vprintf.texi: Likewise.
19909
19910         * modules/safe-write (Depends-on): Add write.
19911
19912         * modules/sigpipe-tests: New file.
19913         * tests/test-sigpipe.c: New file.
19914         * tests/test-sigpipe.sh: New file.
19915
19916         * modules/write: New file.
19917         * lib/unistd.in.h: Include <sys/types.h>.
19918         (write): New declaration.
19919         * lib/write.c: New file.
19920         * m4/write.m4: New file.
19921         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19922         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
19923         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
19924         GNULIB_WRITE, REPLACE_WRITE.
19925         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
19926         and the SIGPIPE issue.
19927
19928         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
19929         (raise): New declaration.
19930         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
19931         (ext_signal): New function.
19932         (rpl_raise): New function.
19933         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
19934         GNULIB_SIGNAL_H_SIGPIPE.
19935         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
19936         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
19937
19938         * modules/sigpipe: New file.
19939         * m4/sigpipe.m4: New file.
19940
19941 2008-09-25  Derek Price  <derek@ximbiot.com>
19942             Bruno Haible  <bruno@clisp.org>
19943
19944         * gnulib-tool (func_import): Report all license incompatibilities, not
19945         just the first one.
19946
19947 2008-09-25  Bruno Haible  <bruno@clisp.org>
19948
19949         * gnulib-tool (func_import): When computing the edits, consider not
19950         only the Makefile.ams that exist but also those that will be generated.
19951
19952 2008-09-25  Simon Josefsson  <simon@josefsson.org>
19953
19954         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
19955         fixes gnulib-tool --test warning about duplicate dependency.
19956
19957 2008-09-25  Bruno Haible  <bruno@clisp.org>
19958
19959         * gnulib-tool: Don't ask the user to perform edits in the generated
19960         Makefile.ams.
19961         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
19962         apply to the Makefile.am being generated.
19963         (func_emit_tests_Makefile_am): Execute edits that apply to the
19964         Makefile.am being generated.
19965         (func_import): Setup list of Makefile.am edits before emitting the
19966         Makefile.ams, not at the end.
19967         (func_create_testdir): Update.
19968         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
19969
19970 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19971
19972         * gnulib-tool (func_import): Store the --tests-base option in the
19973         comment in gnulib-cache.m4.
19974
19975 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
19976
19977         * NEWS: Document increased portability that sys_select now provides.
19978
19979         * lib/sys_select.in.h: Install select wrapper.
19980         * lib/sys_socket.in.h: Use more descriptive name when there is no
19981         select wrapper.
19982         * lib/winsock-select.c: New.
19983         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
19984         Require gl_HEADER_SYS_SOCKET.
19985         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
19986         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
19987         * tests/test-sys_select.c: Add functional tests.
19988
19989 2008-09-24  Eric Blake  <ebb9@byu.net>
19990
19991         open, fopen: close fd leak in last patch
19992         * lib/open.c (rpl_open): Close fd before returning error.
19993         * lib/fopen.c (rpl_fopen): Close fd before returning error.
19994         * doc/posix-functions/open.texi (open): Document that Irix also
19995         has the bug.
19996         * doc/posix-functions/fopen.texi (fopen): Likewise.
19997         Reported by Paolo Bonzini.
19998
19999 2008-09-24  Bruno Haible  <bruno@clisp.org>
20000
20001         Ensure that a filename ending in a slash cannot be used to access a
20002         non-directory.
20003         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
20004         to check whether it's really a directory.
20005         * lib/fopen.c: Include fcntl.h, unistd.h.
20006         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
20007         and fdopen().
20008         * modules/fopen (Depends-on): Add unistd.
20009         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
20010         * tests/test-fopen.c (main): Likewise.
20011         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
20012         * doc/posix-functions/fopen.texi: Likewise.
20013         Reported by Eric Blake.
20014
20015 2008-09-23  Eric Blake  <ebb9@byu.net>
20016
20017         c-stack: avoid compiler optimizations when provoking overflow
20018         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
20019         recursion harder to optimize, to ensure a stack overflow occurs.
20020         * tests/test-c-stack.c (recurse): Likewise.
20021         Borrowed from libsigsegv.
20022
20023         c-stack: work around Irix sigaltstack bug
20024         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
20025         whether sigaltstack uses wrong end of stack_t (copied in part from
20026         libsigsegv).
20027         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
20028         Irix bug, without requiring an over-allocation.
20029         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
20030         bug.
20031
20032         fopen: document mingw bug on directories
20033         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
20034         not allowing a stream visiting a directory, even though reading
20035         from such a stream is not portable.
20036
20037 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
20038
20039         * lib/poll.c: Rewrite.
20040         * modules/poll: Depend on alloca.
20041
20042 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
20043
20044         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
20045         instead define prototypes for a full set of wrappers.  Ensure
20046         that Cygwin does not use the compatibility code, which is only
20047         for MinGW.
20048         * lib/winsock.c: New.
20049         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
20050         * modules/sys_socket: Add lib/winsock.c.
20051
20052         * modules/poll-tests: Add errno and perror.
20053         * tests/test-poll.c: Use ioctl, not ioctlsocket.
20054
20055 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
20056
20057         * tests/test-poll.c: Downgrade minimum needed Winsock version.
20058
20059 2008-09-23  Bruno Haible  <bruno@clisp.org>
20060
20061         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
20062         * doc/glibc-functions/*: Likewise.
20063
20064 2008-09-23  Simon Josefsson  <simon@josefsson.org>
20065
20066         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
20067         success.
20068
20069 2008-09-22  Eric Blake  <ebb9@byu.net>
20070             Bruno Haible  <bruno@clisp.org>
20071
20072         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
20073         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
20074         supply %A but mishandle pseudo-NaN.
20075         Reported by Simon Josefsson.
20076
20077 2008-09-21  Bruno Haible  <bruno@clisp.org>
20078
20079         * tests/test-lock.c (main): Tweak skip message.
20080         * tests/test-tls.c (main): Likewise.
20081
20082 2008-09-21  Bruno Haible  <bruno@clisp.org>
20083
20084         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
20085         whether 'struct sigaction' has sa_sigaction here...
20086         (gl_PREREQ_SIG_HANDLER_H): ... not here.
20087         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
20088
20089 2008-09-21  Bruno Haible  <bruno@clisp.org>
20090
20091         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
20092         section.
20093         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
20094         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
20095         the new section.
20096         (Support for obsolete systems lacking POSIX:2001): New section.
20097         (String handling <string.h>): Move strdup to the new section.
20098         Suggested by Simon Josefsson and Paolo Bonzini.
20099
20100 2008-09-21  Bruno Haible  <bruno@clisp.org>
20101
20102         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
20103         exponents in %e and %g results on 'long double'. Needed for mingw's
20104         improved *printf functions.
20105         * tests/test-vasprintf-posix.c (test_function): Likewise.
20106         * tests/test-snprintf-posix.h (test_function): Likewise.
20107         * tests/test-sprintf-posix.h (test_function): Likewise.
20108         Reported by Eric Blake.
20109
20110 2008-09-21  Bruno Haible  <bruno@clisp.org>
20111
20112         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
20113         * tests/test-sprintf-posix.h (test_function): Likewise.
20114
20115 2008-09-21  Bruno Haible  <bruno@clisp.org>
20116
20117         * modules/getpass (Depends-on): Add strdup-posix.
20118
20119         New module 'strdup-posix'.
20120         * modules/strdup-posix: New file.
20121         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
20122         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
20123         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
20124         REPLACE_STRDUP.
20125         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
20126         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
20127         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
20128         strdup-posix.
20129
20130         * modules/strdup (Depends-on): Remove malloc-posix.
20131
20132 2008-09-20  Bruno Haible  <bruno@clisp.org>
20133
20134         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
20135         Wildenhues.
20136
20137 2008-09-20  Bruno Haible  <bruno@clisp.org>
20138
20139         Ensure that wint_t gets defined on IRIX 5.3.
20140         * lib/wchar.in.h (wint_t): Define if not defined by the system.
20141         * lib/wctype.in.h (wint_t): Likewise.
20142         (__wctype_wint_t): Remove type.
20143         (isw*): Use wint_t instead of __wctype_wint_t.
20144         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
20145         * modules/wchar (Files): Add m4/wint_t.m4.
20146         (Makefile.am): Substitute HAVE_WINT_T.
20147         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
20148         * tests/test-wctype.c: Check that wint_t is defined.
20149         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
20150         * doc/posix-headers/wctype.texi: Likewise.
20151         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20152
20153 2008-09-18  Bruno Haible  <bruno@clisp.org>
20154
20155         * gnulib-tool (func_exit): Update comment.
20156
20157 2008-09-18  Simon Josefsson  <simon@josefsson.org>
20158
20159         * modules/getaddrinfo (Depends-on): Remove strdup, this module
20160         assumes strdup exists and does not depend on strdup to return
20161         ENOMEM on out of memory conditions.
20162
20163 2008-09-18  Bruno Haible  <bruno@clisp.org>
20164
20165         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
20166         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
20167         digits for the exponent.
20168
20169 2008-09-18  Jim Meyering  <meyering@redhat.com>
20170             Bruno Haible  <bruno@clisp.org>
20171
20172         * lib/vasnprintf.c (decimal_point_char): Define also if
20173         NEED_PRINTF_INFINITE_LONG_DOUBLE.
20174
20175 2008-09-16  Bruno Haible  <bruno@clisp.org>
20176         and Eric Blake  <ebb9@byu.net>
20177
20178         vasnprintf: support Irix 5.3
20179         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
20180         that mishandle long double infinity.
20181         Reported by Tom G. Christensen.
20182
20183 2008-09-16  Bruno Haible  <bruno@clisp.org>
20184
20185         * doc/glibc-functions/scandir.texi: Mention the function is missing on
20186         Solaris 9.
20187         * doc/glibc-functions/alphasort.texi: Likewise.
20188         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
20189
20190 2008-09-16  Jim Meyering  <meyering@redhat.com>
20191
20192         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
20193         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
20194         a umask modification leak out of a subshell.  Otherwise, the
20195         opensolaris /bin/sh would be accepted and thus cause unwarranted
20196         failures in the coreutils test suite.
20197
20198 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
20199
20200         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
20201         to succeed.
20202
20203 2008-09-16  Jim Meyering  <meyering@redhat.com>
20204
20205         avoid spurious test failure when library is built without ACL support
20206         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
20207         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
20208         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
20209         * tests/test-copy-acl.sh: Likewise.
20210
20211 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20212
20213         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
20214         based on character occurrence counts.
20215
20216 2008-09-15  Eric Blake  <ebb9@byu.net>
20217
20218         tests: avoid some compiler warnings
20219         * tests/test-memchr.c (main): Pass NULL indirectly.
20220         * tests/test-closein.c (main): Avoid unused variable.
20221
20222 2008-09-15  Bruno Haible  <bruno@clisp.org>
20223
20224         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
20225         are missing on OpenBSD 4.0 individually.
20226         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20227
20228 2008-09-15  Bruno Haible  <bruno@clisp.org>
20229
20230         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
20231         * doc/posix-functions/strerror.texi: Mention also Cygwin.
20232         * doc/posix-functions/perror.texi: Likewise.
20233         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
20234         is missing.
20235         Reported by Eric Blake.
20236
20237         * lib/errno.in.h: Use replacement values >= 2000.
20238         Reported by Eric Blake.
20239
20240 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20241
20242         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
20243         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
20244         limit.
20245         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
20246         compareseq was aborted.
20247
20248 2008-09-14  Bruno Haible  <bruno@clisp.org>
20249
20250         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
20251         yvec_edit_count.
20252         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
20253         (fstrcmp_bounded): Simplify result computation accordingly.
20254
20255 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20256
20257         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
20258         (fstrcmp): Define in terms of fstrcmp_bounded.
20259         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
20260         lower_bound argument.
20261         Return quickly if the result is certainly < lower_bound.
20262         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
20263
20264 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20265
20266         * lib/diffseq.h (EARLY_ABORT): New macro.
20267         (compareseq): Change return type to bool. Return true when EARLY_ABORT
20268         evaluates to true.
20269
20270 2008-09-14  Bruno Haible  <bruno@clisp.org>
20271
20272         * modules/perror-tests: New file.
20273         * tests/test-perror.sh: New file.
20274         * tests/test-perror.c: New file.
20275
20276         New module 'perror'.
20277         * lib/stdio.in.h (perror): New declaration.
20278         * lib/perror.c: New file.
20279         * m4/perror.m4: New file.
20280         * modules/perror: New file.
20281         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
20282         * doc/posix-functions/perror.texi: Mention the perror module.
20283         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
20284         REPLACE_PERROR.
20285         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
20286         REPLACE_PERROR.
20287
20288 2008-09-14  Bruno Haible  <bruno@clisp.org>
20289
20290         * modules/stdio (Makefile.am): Reorder to match the order in
20291         lib/stdio.in.h.
20292         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
20293
20294 2008-09-13  Bruno Haible  <bruno@clisp.org>
20295
20296         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
20297
20298 2008-09-13  Bruno Haible  <bruno@clisp.org>
20299
20300         Extend strerror to cover the added errno values.
20301         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
20302         (rpl_strerror): Provide error messages for the added errno values and
20303         for the WSA* values.
20304         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
20305         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
20306         strerror.
20307         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
20308         * modules/strerror (Depends-on): Add errno.
20309         * doc/posix-functions/strerror.texi: Document the change.
20310         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
20311         and EOVERFLOW.
20312
20313 2008-09-13  Bruno Haible  <bruno@clisp.org>
20314
20315         * modules/EOVERFLOW: Remove file.
20316         * m4/eoverflow.m4: Remove file.
20317         * modules/EOVERFLOW-tests: Remove file.
20318         * tests/test-EOVERFLOW.c: Remove file.
20319         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
20320         * modules/ftell (Depends-on): Likewise.
20321         * modules/getdelim (Depends-on): Likewise.
20322         * modules/getugroups (Depends-on): Likewise.
20323         * modules/poll (Depends-on): Likewise.
20324         * modules/snprintf (Depends-on): Likewise.
20325         * modules/sprintf-posix (Depends-on): Likewise.
20326         * modules/vasnprintf (Depends-on): Likewise.
20327         * modules/vasprintf (Depends-on): Likewise.
20328         * modules/vfprintf-posix (Depends-on): Likewise.
20329         * modules/vsnprintf (Depends-on): Likewise.
20330         * modules/vsprintf-posix (Depends-on): Likewise.
20331         * modules/xvasprintf (Depends-on): Likewise.
20332         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
20333         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
20334         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
20335         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
20336         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
20337         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
20338         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
20339         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
20340         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
20341         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
20342         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
20343         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
20344         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
20345         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
20346         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
20347         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
20348         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
20349         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
20350         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
20351         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
20352         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
20353         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
20354         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
20355         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
20356         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
20357         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
20358         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
20359         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
20360         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
20361         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
20362         * MODULES.html.sh: Remove EOVERFLOW.
20363         * NEWS: Mention the change.
20364
20365 2008-09-13  Bruno Haible  <bruno@clisp.org>
20366
20367         * modules/errno-tests: New file.
20368         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
20369
20370         * lib/errno.in.h: New file.
20371         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
20372         * modules/errno: New file.
20373         * doc/posix-headers/errno.texi: Update documentation.
20374         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
20375
20376 2008-09-13  Bruno Haible  <bruno@clisp.org>
20377
20378         * tests/test-poll.c: Use #if for native Windows, rather than testing
20379         __MSVCRT__.
20380
20381 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20382             Bruno Haible  <bruno@clisp.org>
20383
20384         * lib/glob.c: Don't include <pwd.h> on native Windows.
20385         (WINDOWS32): New macro.
20386         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
20387
20388 2008-09-13  Bruno Haible  <bruno@clisp.org>
20389
20390         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
20391         (ETIMEDOUT): Remove macro.
20392         (glthread_cond_timedwait_multithreaded): New declaration.
20393         (glthread_cond_timedwait): Use it.
20394         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
20395         (glthread_cond_timedwait_multithreaded): New function.
20396
20397 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
20398
20399         * modules/poll-tests: Do not check for io.h.
20400         * tests/test-poll.c: Check for __MSVCRT__ instead.
20401
20402 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
20403
20404         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
20405         * modules/poll-tests: Add inet_pton, stdbool, sockets.
20406         * tests/test-poll.c: Use them.  Use _pipe on Windows.
20407
20408 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
20409
20410         * modules/poll-tests: New.
20411         * tests/test-poll.c: New.
20412
20413 2008-09-12  Eric Blake  <ebb9@byu.net>
20414
20415         frexp: test for NetBSD failure on -0.0
20416         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
20417         not all, bugs from NetBSD 3.0 have been fixed.
20418         * doc/posix-functions/frexp.texi (frexp): Document bug.
20419         Reported by Thomas Klausner.
20420
20421         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
20422         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
20423         literal -0.0.
20424         Reported by Jonathan C. Patschke <jp@centtech.com>.
20425
20426 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20427
20428         * lib/glthread/cond.h: Use dummy implementation also if
20429         USE_WIN32_THREADS.
20430
20431 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20432
20433         * modules/fnmatch-posix (License): Change to LGPLv2+.
20434         * modules/fnmatch-gnu (License): Likewise.
20435
20436 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20437
20438         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
20439
20440 2008-09-11  Jim Meyering  <meyering@redhat.com>
20441
20442         * users.txt: Add gtk-vnc.
20443
20444 2008-09-08  Simon Josefsson  <simon@josefsson.org>
20445
20446         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
20447         rotate amounts.
20448
20449         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
20450         required for 16-bit and 8-bit rotates.
20451         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
20452         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
20453         UINT8_MAX instead of hard-coded constants.
20454         Suggested by Paul Eggert.
20455
20456 2008-09-07  Bruno Haible  <bruno@clisp.org>
20457
20458         * tests/test-striconveh.c (main): Check behaviour when converting from
20459         UTF-7.
20460
20461         Make striconveh work better with stateful encodings.
20462         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
20463         that iconv does not increment the inptr when returning -1/EINVAL.
20464
20465 2008-09-07  Bruno Haible  <bruno@clisp.org>
20466
20467         * build-aux/config.rpath: Update according to libtool-2.2.6.
20468         * build-aux/config.libpath: Likewise.
20469
20470 2008-09-06  Bruno Haible  <bruno@clisp.org>
20471
20472         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
20473         * lib/freadptr.c (freadptr): Likewise.
20474         * lib/freadseek.c (freadptrinc): Likewise.
20475         Reported by Simon Josefsson.
20476
20477 2008-09-06  Bruno Haible  <bruno@clisp.org>
20478
20479         * modules/freadptr (License): Change to LGPLv2+.
20480         * modules/freadseek (License): Likewise.
20481         Suggested by Eric Blake.
20482
20483         * modules/memchr2 (License): Change to LGPLv2+.
20484         Approved by Eric Blake.
20485
20486 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20487             Bruno Haible  <bruno@clisp.org>
20488
20489         Make gnulib-tool work with native 'sed' on AIX.
20490         * gnulib-tool (sed_noop): New variable.
20491         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
20492         func_add_or_update, func_create_testdir): Use it to initialize sed
20493         script variables.
20494         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20495
20496 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
20497             Bruno Haible  <bruno@clisp.org>
20498
20499         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
20500         also works after #include directives.
20501
20502 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
20503
20504         getdate.y: reject an out-of-range timezone value
20505         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
20506         the range [-24...+24].  When specified with only one or two digits,
20507         * tests/test-getdate.c: Tests for the fix.
20508         * doc/getdate.texi: Document this change.
20509
20510 2008-09-03  Bruno Haible  <bruno@clisp.org>
20511
20512         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
20513
20514 2008-09-02  Simon Josefsson  <simon@josefsson.org>
20515
20516         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
20517         <bruce.korb@gmail.com> with ideas from Ben Pfaff
20518         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
20519         Blake <ebb9@byu.net>.
20520
20521         * tests/test-bitrotate.c: Add more test vectors.
20522
20523 2008-09-02  Eric Blake  <ebb9@byu.net>
20524
20525         vasnprintf-posix: handle large precision via %.*d
20526         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
20527         when handling it ourselves.
20528         * tests/test-vasnprintf-posix.c (test_function): Add test.
20529         * tests/test-snprintf-posix.h (test_function): Likewise.
20530         * tests/test-sprintf-posix.h (test_function): Likewise.
20531         * tests/test-vasprintf-posix.c (test_function): Likewise.
20532         Reported by Alain Guibert.
20533
20534 2008-09-01  Eric Blake  <ebb9@byu.net>
20535
20536         c-stack: make configure-time check more robust
20537         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
20538         successful sigaction call.
20539         Reported by Tom G. Christensen.
20540
20541 2008-09-01  Bruno Haible  <bruno@clisp.org>
20542
20543         New module 'findprog-lgpl'.
20544         * modules/findprog-lgpl: New file.
20545         * lib/findprog-lgpl.c: New file.
20546         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
20547         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
20548         to decide whether to use strdup or xstrdup, concatenated_filename or
20549         xconcatenated_filename.
20550
20551 2008-09-01  Bruno Haible  <bruno@clisp.org>
20552
20553         Split module 'concat-filename' into 'concat-filename' (LGPL) and
20554         'xconcat-filename' (GPL).
20555         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
20556         (License): Change to LGPLv2+.
20557         * modules/xconcat-filename: New file.
20558         * lib/concat-filename.h (concatenated_filename): Change specification.
20559         (xconcatenated_filename): New declaration.
20560         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
20561         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
20562         memory situations.
20563         * lib/xconcat-filename.c: New file.
20564         * NEWS: Mention the change.
20565         * lib/findprog.c: Include concat-filename.h, not filename.h.
20566         (find_in_path): Use xconcatenated_filename instead of
20567         concatenated_filename.
20568         * lib/javacomp.c: Include concat-filename.h, not filename.h.
20569         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
20570         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
20571         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
20572         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
20573         instead of concatenated_filename.
20574         * lib/javaexec.c: Include concat-filename.h, not filename.h.
20575         (execute_java_class): Use xconcatenated_filename instead of
20576         concatenated_filename.
20577         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
20578         * modules/javacomp (Depends-on): Likewise.
20579         * modules/javaexec (Depends-on): Likewise.
20580
20581 2008-09-01  Bruno Haible  <bruno@clisp.org>
20582
20583         Split module 'filename' into 'filename' and 'concat-filename'.
20584         * modules/filename: Keep only lib/filename.h.
20585         (License): Change to LGPLv2+.
20586         * modules/concat-filename: New file, extracted from modules/filename.
20587         * lib/filename.h (concatenated_filename): Remove declaration.
20588         * lib/concat-filename.h: New file, extracted from lib/filename.h.
20589         * lib/concat-filename.c: Include concat-filename.h.
20590         * NEWS: Mention the change.
20591
20592 2008-09-01  Simon Josefsson  <simon@josefsson.org>
20593
20594         * lib/bitrotate.h (rotl8, rotr8): Add.
20595
20596         * modules/bitrotate (configure.ac): Need
20597         AC_REQUIRE([AC_C_INLINE]).
20598         (Description): Mention stdint.h.  Reported by Bruno Haible
20599         <bruno@clisp.org>.
20600
20601         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
20602         Paolo Bonzini <bonzini@gnu.org>.
20603
20604 2008-08-31  Bruno Haible  <bruno@clisp.org>
20605
20606         Assume Solaris specific bi-arch conventions on Solaris systems.
20607         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
20608         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
20609         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
20610         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
20611         like acl_libdirstem.
20612         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
20613         acl_libdirstem.
20614         * NEWS: Mention the change.
20615         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
20616
20617 2008-08-31  Jim Meyering  <meyering@redhat.com>
20618
20619         * lib/strftime.h: Add comments describing the two added arguments.
20620
20621         remove duplicate #include directives
20622         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
20623         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
20624
20625 2008-08-31  Bruno Haible  <bruno@clisp.org>
20626
20627         New module 'sigpipe-die'.
20628         * modules/sigpipe-die: New file.
20629         * lib/sigpipe-die.h: New file.
20630         * lib/sigpipe-die.c: New file.
20631         * MODULES.html.sh (Signal handling): Add sigpipe-die.
20632
20633 2008-08-31  Bruno Haible  <bruno@clisp.org>
20634
20635         Don't override previously installed signal handlers.
20636         * lib/fatal-signal.c (saved_sigactions): New variable.
20637         (uninstall_handlers): Reset the signal to the saved handler, not
20638         to SIG_DFL (except when ignored).
20639         (install_handlers): Save the previous handlers.
20640
20641 2008-08-30  Bruno Haible  <bruno@clisp.org>
20642
20643         * gnulib-tool (func_reset_sigpipe): New function.
20644         (func_get_automake_snippet, func_modules_transitive_closure,
20645         func_import): Invoke it before a join command that reads from stdin,
20646         to avoid "echo: write error: Broken pipe" error messages on stderr.
20647         Reported by Sam Steingold <sds@gnu.org>.
20648
20649 2008-08-30  Bruno Haible  <bruno@clisp.org>
20650
20651         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
20652         Code copied from m4/open.m4.
20653         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
20654         access and the filename ends in a slash. Code copied from lib/open.c.
20655         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
20656         * tests/test-fopen.c (main): Check against bug with trailing slash.
20657
20658 2008-08-29  Bruno Haible  <bruno@clisp.org>
20659
20660         Avoid some "gcc -pedantic" warnings.
20661         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
20662         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
20663         * lib/dirent.in.h: Likewise.
20664         * lib/fcntl.in.h: Likewise.
20665         * lib/float.in.h: Likewise.
20666         * lib/iconv.in.h: Likewise.
20667         * lib/inttypes.in.h: Likewise.
20668         * lib/locale.in.h: Likewise.
20669         * lib/math.in.h: Likewise.
20670         * lib/netinet_in.in.h: Likewise.
20671         * lib/search.in.h: Likewise.
20672         * lib/signal.in.h: Likewise.
20673         * lib/stdarg.in.h: Likewise.
20674         * lib/stdint.in.h: Likewise.
20675         * lib/stdio.in.h: Likewise.
20676         * lib/stdlib.in.h: Likewise.
20677         * lib/string.in.h: Likewise.
20678         * lib/strings.in.h: Likewise.
20679         * lib/sys_select.in.h: Likewise.
20680         * lib/sys_socket.in.h: Likewise.
20681         * lib/sys_stat.in.h: Likewise.
20682         * lib/sys_time.in.h: Likewise.
20683         * lib/sysexits.in.h: Likewise.
20684         * lib/time.in.h: Likewise.
20685         * lib/unistd.in.h: Likewise.
20686         * lib/wchar.in.h: Likewise.
20687         * lib/wctype.in.h: Likewise.
20688         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
20689         * modules/fchdir (Makefile.am): Likewise.
20690         * modules/fcntl (Makefile.am): Likewise.
20691         * modules/float (Makefile.am): Likewise.
20692         * modules/iconv_open (Makefile.am): Likewise.
20693         * modules/inttypes (Makefile.am): Likewise.
20694         * modules/locale (Makefile.am): Likewise.
20695         * modules/math (Makefile.am): Likewise.
20696         * modules/netinet_in (Makefile.am): Likewise.
20697         * modules/search (Makefile.am): Likewise.
20698         * modules/signal (Makefile.am): Likewise.
20699         * modules/stdarg (Makefile.am): Likewise.
20700         * modules/stdint (Makefile.am): Likewise.
20701         * modules/stdio (Makefile.am): Likewise.
20702         * modules/stdlib (Makefile.am): Likewise.
20703         * modules/string (Makefile.am): Likewise.
20704         * modules/strings (Makefile.am): Likewise.
20705         * modules/sys_select (Makefile.am): Likewise.
20706         * modules/sys_socket (Makefile.am): Likewise.
20707         * modules/sys_stat (Makefile.am): Likewise.
20708         * modules/sys_time (Makefile.am): Likewise.
20709         * modules/sysexits (Makefile.am): Likewise.
20710         * modules/time (Makefile.am): Likewise.
20711         * modules/unistd (Makefile.am): Likewise.
20712         * modules/wchar (Makefile.am): Likewise.
20713         * modules/wctype (Makefile.am): Likewise.
20714         Reported by Reuben Thomas <rrt@sc3d.org>.
20715
20716 2008-08-29  Bruno Haible  <bruno@clisp.org>
20717
20718         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
20719         any more.
20720
20721 2008-08-29  Simon Josefsson  <simon@josefsson.org>
20722
20723         * MODULES.html.sh (Misc): Add bitrotate.
20724
20725         * modules/bitrotate: New file.
20726
20727         * lib/bitrotate.h: New file.
20728
20729         * modules/bitrotate-tests: New file.
20730
20731         * tests/test-bitrotate.c: New file.
20732
20733         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
20734         on the bitrotate module.
20735
20736         * lib/arctwo.c: Use new bitrotate module.
20737
20738 2008-08-29  Jim Meyering  <meyering@redhat.com>
20739
20740         bootstrap: merge changes from coreutils
20741         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
20742         of copied files.  Remove a kludge, now that this is fixed.
20743         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
20744         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
20745         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
20746
20747 2008-08-29  Bruno Haible  <bruno@clisp.org>
20748
20749         * MODULES.html.sh: Remove --cvs-urls option.
20750
20751 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
20752
20753         maint.mk: adjust to file name change
20754         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
20755
20756 2008-08-28  Jim Meyering  <meyering@redhat.com>
20757
20758         * modules/getndelim2 (License): Relicense to LGPLv2+.
20759         Approved by Richard Stallman for the version of 1995, and by
20760         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
20761
20762 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
20763
20764         * lib/getdelim.c (flockfile, funlockfile): Make all of them
20765         dummy if one is not available.  Do not touch them if
20766         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
20767         (getc_maybe_unlocked): New.
20768         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
20769
20770 2008-08-26  Eric Blake  <ebb9@byu.net>
20771
20772         doc/INSTALL: resync from autoconf
20773         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
20774         (INSTALL_PRELUDE): Delete; this is done more efficiently by
20775         moving...
20776         * install.texi [!autoconf]: ...here.  Resync from autoconf.
20777         * INSTALL: Regenerate.
20778         * INSTALL.ISO: New file.
20779         * INSTALL.UTF-8: Likewise.
20780
20781 2008-08-26  Jim Meyering  <meyering@redhat.com>
20782
20783         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
20784         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
20785         these definitions conditional, so that they may be overridden, too.
20786
20787 2008-08-26  Bruno Haible  <bruno@clisp.org>
20788
20789         Generate INSTALL file variants with prettier quotes.
20790         * doc/Makefile (INSTALL_PRELUDE): New macro.
20791         (INSTALL): Use it.
20792         (INSTALL.ISO, INSTALL.UTF-8): New rules.
20793
20794 2008-08-26  Bruno Haible  <bruno@clisp.org>
20795
20796         Run makeinfo in an English locale.
20797         * doc/Makefile (MAKEINFO): New variable.
20798
20799 2008-08-26  Bruno Haible  <bruno@clisp.org>
20800
20801         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
20802         Suggested by Eric Blake.
20803
20804 2008-08-25  Bruno Haible  <bruno@clisp.org>
20805
20806         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
20807
20808 2008-08-25  Eric Blake  <ebb9@byu.net>
20809
20810         c-stack: test that stack overflow can be caught
20811         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
20812         that platform allows handling stack overflow; at least OS/2 EMX
20813         has sigaltstack, but crashes before transferring control to
20814         handler on stack overflow.
20815         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
20816         check for HAVE_STACK_OVERFLOW_HANDLING.
20817         Reported by Elbert Pol.
20818
20819 2008-08-25  Bruno Haible  <bruno@clisp.org>
20820
20821         * doc/posix-functions/strftime.texi: Fix description of strftime
20822         module.
20823
20824 2008-08-24  Bruno Haible  <bruno@clisp.org>
20825
20826         * tests/uniwidth/test-uc_width2.c: New file.
20827         * tests/uniwidth/test-uc_width2.sh: New file.
20828         * modules/uniwidth/width-tests (Files): Add the new files.
20829         (TESTS): Add uniwidth/test-uc_width2.sh.
20830         (TESTS_ENVIRONMENT): New variable.
20831         (check_PROGRAMS): Add test-uc_width2.
20832         (test_uc_width2_SOURCES): New variable.
20833
20834         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
20835         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
20836         not 0x00AB.
20837         Reported by Alexander V. Lukyanov <lav@netis.ru>.
20838
20839 2008-08-22  Eric Blake  <ebb9@byu.net>
20840
20841         test-lock, test-tls: mention why a test is skipped
20842         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
20843         skipped.
20844         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
20845
20846         count-one-bits: relax license
20847         * modules/count-one-bits (License): Relicense to LGPLv2+.
20848         Suggested by Ludovic Courtès, approved by Ben Pfaff.
20849
20850 2008-08-22  Andreas Schwab  <schwab@suse.de>
20851
20852         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
20853         Remove spurious space in assignment.
20854
20855 2008-08-21  Simon Josefsson  <simon@josefsson.org>
20856
20857         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
20858         Paul Eggert <eggert@CS.UCLA.EDU>.
20859
20860 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
20861
20862         * modules/gettext: Add m4/threadlib.m4.
20863
20864 2008-08-19  Eric Blake  <ebb9@byu.net>
20865
20866         test-c-stack: fix compilation failure on FreeBSD 5.0
20867         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
20868         headers before <sys/resource.h>.
20869         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
20870         the bug.
20871         Reported by Nelson H. F. Beebe.
20872
20873         strverscmp: migrate from "strverscmp.h" to <string.h>
20874         * modules/string (Makefile.am): Add new hooks.
20875         * modules/strverscmp (Files): Remove strverscmp.h.
20876         (Depends-on): Add string.
20877         (configure.ac): Add indicator.
20878         (Include): Mention new header.
20879         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
20880         defaults.
20881         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
20882         results.
20883         * lib/strverscmp.h: Delete.
20884         * lib/string.in.h (strverscmp): Provide declaration, when needed.
20885         * tests/test-strverscmp.c (includes): Adjust client.
20886         * lib/check-version.c (includes): Likewise.
20887         * NEWS: Document the change.
20888
20889         strverscmp: add unit test
20890         * modules/strverscmp-tests: New file.
20891         * tests/test-strverscmp.c: Likewise.
20892
20893 2008-08-19  Simon Josefsson  <simon@josefsson.org>
20894
20895         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
20896         regarding Windows crypto stuff, from Mono.
20897
20898 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
20899
20900         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
20901         if present, for intel RND.  Return error on failures.
20902
20903 2008-08-18  Ben Pfaff  <blp@gnu.org>
20904
20905         gitlog-to-changelog: give better diagnostic for failed pipe-open
20906         * build-aux/gitlog-to-changelog: Improve error message: suggest
20907         that the version of Git may be too old.
20908
20909 2008-08-18  Simon Josefsson  <simon@josefsson.org>
20910
20911         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
20912         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
20913
20914 2008-08-18  Bruno Haible  <bruno@clisp.org>
20915
20916         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
20917         pthread_in_use().
20918
20919 2008-08-18  Bruno Haible  <bruno@clisp.org>
20920
20921         * lib/glthread/threadlib.c: Include <pthread.h>.
20922
20923 2008-08-18  Bruno Haible  <bruno@clisp.org>
20924
20925         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
20926         glthread_recursive_lock_* macros.
20927         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
20928         Fix syntax error.
20929
20930 2008-08-18  Bruno Haible  <bruno@clisp.org>
20931
20932         * lib/glthread/thread.c: Avoid forcing a context switch right after
20933         thread creation.
20934
20935 2008-08-17  Bruno Haible  <bruno@clisp.org>
20936
20937         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
20938         * lib/glthread/thread.h: Provide Win32 specific implementation.
20939         * modules/thread (Files): Add lib/glthread/thread.c.
20940         (Depends-on): Add lock.
20941         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
20942
20943 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20944
20945         New module 'yield'.
20946         * modules/yield: New file.
20947         * lib/glthread/yield.h: New file.
20948         * m4/yield.m4: New file.
20949         * MODULES.html.sh (Multithreading): Add yield.
20950
20951 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20952
20953         New module 'thread'.
20954         * modules/thread: New file.
20955         * lib/glthread/thread.h: New file.
20956         * m4/thread.m4: New file.
20957         * MODULES.html.sh (Multithreading): Add thread.
20958
20959 2008-08-17  Bruno Haible  <bruno@clisp.org>
20960
20961         * lib/glthread/lock.h: Include <stdlib.h> always.
20962         * lib/glthread/tls.h: Likewise.
20963         * lib/glthread/cond.h: Likewise.
20964
20965 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20966
20967         New module 'cond'.
20968         * modules/cond: New file.
20969         * lib/glthread/cond.h: New file.
20970         * lib/glthread/cond.c: New file.
20971         * m4/cond.m4: New file.
20972         * MODULES.html.sh (Multithreading): Add cond.
20973
20974 2008-08-16  Eric Blake  <ebb9@byu.net>
20975
20976         c-stack: fix regression on Irix 5.3 from 2008-06-21
20977         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
20978         sa_sigaction...
20979         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
20980         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
20981         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
20982         * modules/signal (Makefile.am): Use the value.
20983         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
20984         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
20985         * doc/posix-headers/signal.texi (signal.h): Document this
20986         portability issue.
20987         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
20988         Reported by Tom G. Christensen.
20989
20990 2008-08-17  Bruno Haible  <bruno@clisp.org>
20991
20992         New module 'threadlib'.
20993         * modules/threadlib: New file.
20994         * lib/glthread/threadlib.c: New file, extracted from
20995         lib/glthread/lock.c.
20996         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
20997         functions.
20998         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
20999         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
21000         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
21001         macros.
21002         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
21003         (gl_DISABLE_THREADS): Remove macro.
21004         * modules/lock (Files): Remove build-aux/config.rpath.
21005         (Depends-on): Remove havelib. Add threadlib.
21006         (configure.ac-early): Remove section.
21007         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
21008         * modules/tls (Depends-on): Remove lock. Add threadlib.
21009         (Link): New section, copied from threadlib.
21010         * MODULES.html.sh (Multithreading): Add threadlib.
21011
21012 2008-08-14  Bruno Haible  <bruno@clisp.org>
21013
21014         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
21015         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
21016         glthread_rwlock_unlock, glthread_rwlock_destroy,
21017         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
21018         glthread_recursive_lock_destroy): Define as macros always.
21019         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
21020         glthread_lock_lock.
21021         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
21022         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
21023         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
21024         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
21025         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
21026         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
21027         (glthread_recursive_lock_lock_func): Renamed from
21028         glthread_recursive_lock_lock.
21029         (glthread_recursive_lock_unlock_func): Renamed from
21030         glthread_recursive_lock_unlock.
21031         (glthread_recursive_lock_destroy_func): Renamed from
21032         glthread_recursive_lock_destroy.
21033
21034 2008-08-14  Bruno Haible  <bruno@clisp.org>
21035
21036         * lib/glthread/lock.h: Renamed from lib/lock.h.
21037         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
21038         * lib/glthread/tls.h: Renamed from lib/tls.h.
21039         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
21040         * lib/fstrcmp.c: Update includes.
21041         * lib/strsignal.c: Update includes.
21042         * modules/lock (Files, Makefile.am): Update.
21043         (Include): Change to "glthread/lock.h".
21044         * modules/tls (Files, Makefile.am): Update.
21045         (Include): Change to "glthread/tls.h".
21046         * tests/test-lock.c: Update includes.
21047         * tests/test-tls.c: Update includes.
21048         * NEWS: Mention the renamed header files.
21049
21050 2008-08-11  Jim Meyering  <meyering@redhat.com>
21051
21052         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
21053
21054 2008-08-11  Eric Blake  <ebb9@byu.net>
21055
21056         test-c-stack: avoid C99-ism
21057         * tests/test-c-stack.c (main): Fix whitespace, move declaration
21058         before statement.
21059         Reported by Alain Guibert.
21060
21061 2008-08-10  Jim Meyering  <meyering@redhat.com>
21062
21063         ensure that return value of uinttostr et al are not ignored
21064         * lib/inttostr.h (__GNUC_PREREQ): Define.
21065         (__attribute_warn_unused_result__): Define.
21066         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
21067
21068 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
21069
21070         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
21071         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
21072
21073 2008-08-07  Jim Meyering  <meyering@redhat.com>
21074
21075         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
21076
21077         * modules/mkstemp (License): Relicense under LGPLv2+.
21078         * modules/tempname (License): Likewise.
21079
21080 2008-08-06  Bruno Haible  <bruno@clisp.org>
21081
21082         * lib/poll.c (poll): Further micro-optimization.
21083
21084 2008-08-06  Jim Meyering  <meyering@redhat.com>
21085
21086         inet_pton.c: use locale-independent tolower
21087         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
21088         (inet_pton6): Use c_tolower rather than tolower.
21089         * modules/inet_pton (Depends-on): Add c-ctype.
21090
21091 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
21092
21093         * lib/poll.c (poll): Avoid division when timeout is 0, cache
21094         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
21095
21096 2008-08-06  Jim Meyering  <meyering@redhat.com>
21097
21098         * modules/inet_pton (License): Relicense under LGPLv2+.
21099
21100 2008-08-03  Bruno Haible  <bruno@clisp.org>
21101
21102         Additional non-aborting API for lock and tls.
21103         * lib/lock.h: Include <errno.h>.
21104         (glthread_lock_init): New macro/function.
21105         (gl_lock_init): Define as wrapper around glthread_lock_init.
21106         (glthread_lock_lock): New macro/function.
21107         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
21108         (glthread_lock_unlock): New macro/function.
21109         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
21110         (glthread_lock_destroy): New macro/function.
21111         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
21112         (glthread_rwlock_init): New macro/function.
21113         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
21114         (glthread_rwlock_rdlock): New macro/function.
21115         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
21116         (glthread_rwlock_wrlock): New macro/function.
21117         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
21118         (glthread_rwlock_unlock): New macro/function.
21119         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
21120         (glthread_rwlock_destroy): New macro/function.
21121         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
21122         (glthread_recursive_lock_init): New macro/function.
21123         (gl_recursive_lock_init): Define as wrapper around
21124         glthread_recursive_lock_init.
21125         (glthread_recursive_lock_lock): New macro/function.
21126         (gl_recursive_lock_lock): Define as wrapper around
21127         glthread_recursive_lock_lock.
21128         (glthread_recursive_lock_unlock): New macro/function.
21129         (gl_recursive_lock_unlock): Define as wrapper around
21130         glthread_recursive_lock_unlock.
21131         (glthread_recursive_lock_destroy): New macro/function.
21132         (gl_recursive_lock_destroy): Define as wrapper around
21133         glthread_recursive_lock_destroy.
21134         (glthread_once): New macro/function.
21135         (gl_once): Define as wrapper around glthread_once.
21136         Update function declarations.
21137         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
21138         glthread_rwlock_init. Return error code.
21139         (glthread_rwlock_rdlock_multithreaded): Renamed from
21140         glthread_rwlock_rdlock. Return error code.
21141         (glthread_rwlock_wrlock_multithreaded): Renamed from
21142         glthread_rwlock_wrlock. Return error code.
21143         (glthread_rwlock_unlock_multithreaded): Renamed from
21144         glthread_rwlock_unlock. Return error code.
21145         (glthread_rwlock_destroy_multithreaded): Renamed from
21146         glthread_rwlock_destroy. Return error code.
21147         (glthread_recursive_lock_init_multithreaded): Renamed from
21148         glthread_recursive_lock_init. Return error code.
21149         (glthread_recursive_lock_lock_multithreaded): Renamed from
21150         glthread_recursive_lock_lock. Return error code.
21151         (glthread_recursive_lock_unlock_multithreaded): Renamed from
21152         glthread_recursive_lock_unlock. Return error code.
21153         (glthread_recursive_lock_destroy_multithreaded): Renamed from
21154         glthread_recursive_lock_destroy. Return error code.
21155         (glthread_once_call): Make static.
21156         (glthread_once_multithreaded): Renamed from glthread_once.
21157         * lib/tls.h: Include <errno.h>.
21158         (glthread_tls_key_init): New macro/function.
21159         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
21160         (glthread_tls_set): New macro/function.
21161         (gl_tls_set): Define as wrapper around glthread_tls_set.
21162         (glthread_tls_key_destroy): New macro/function.
21163         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
21164         Update function declarations.
21165         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
21166         glthread_tls_get.
21167         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21168
21169 2008-08-04  Eric Blake  <ebb9@byu.net>
21170
21171         gnumakefile: use space, not TAB, outside of targets
21172         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
21173
21174 2008-08-02  Jim Meyering  <meyering@redhat.com>
21175
21176         getdate.y: avoid locale-dependent date parsing failure
21177         In Turkish locales, getdate would fail to recognize keywords
21178         containing a lowercase "i".  The solution is not to rely on
21179         locale-sensitive case-conversion.
21180         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
21181         (lookup_word): Use c_toupper in place of toupper.
21182         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
21183         Reported by Vefa Bicakci <bicave@superonline.com> in
21184         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
21185         * modules/getdate (Depends-on): Add c-ctype.
21186
21187 2008-08-02  Bruno Haible  <bruno@clisp.org>
21188
21189         * gnulib-tool (func_import): When updating or creating a .gitignore
21190         file, prepend each added line with a slash, and ignore leading slashes
21191         from the existing lines.
21192         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
21193
21194 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21195
21196         Portability fix for GNU make 3.79.1.
21197         * top/GNUmakefile: Avoid 'else COND', which older GNU make
21198         versions do not understand.
21199
21200 2008-08-01  Bruno Haible  <bruno@clisp.org>
21201
21202         Work around bug of HP-UX 10.20 cc with -0.0 literal.
21203         * tests/test-isnanf.h (zero): New variable.
21204         (main): Avoid literal -0.0f.
21205         * tests/test-isnand.h (zero): New variable.
21206         (main): Avoid literal -0.0.
21207         * tests/test-isnanl.h (zero): New variable.
21208         (main): Avoid literal -0.0L.
21209         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
21210         (test_float, test_double, test_long_double): Avoid literals -0.0f,
21211         -0.0, -0.0L.
21212         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
21213         (test_signbitd): Avoid literal -0.0.
21214         (test_signbitl): Avoid literal -0.0L.
21215         * tests/test-ceilf1.c (zero): New variable.
21216         (main): Avoid literal -0.0f.
21217         * tests/test-ceill.c (zero): New variable.
21218         (main): Avoid literal -0.0L.
21219         * tests/test-floorf1.c (zero): New variable.
21220         (main): Avoid literal -0.0f.
21221         * tests/test-floorl.c (zero): New variable.
21222         (main): Avoid literal -0.0L.
21223         * tests/test-roundf1.c (zero): New variable.
21224         (main): Avoid literal -0.0f.
21225         * tests/test-round1.c (zero): New variable.
21226         (main): Avoid literal -0.0.
21227         * tests/test-roundl.c (zero): New variable.
21228         (main): Avoid literal -0.0L.
21229         * tests/test-truncf1.c (zero): New variable.
21230         (main): Avoid literal -0.0f.
21231         * tests/test-trunc1.c (zero): New variable.
21232         (main): Avoid literal -0.0.
21233         * tests/test-truncl.c (zero): New variable.
21234         (main): Avoid literal -0.0L.
21235         * tests/test-frexp.c (zero): New variable.
21236         (main): Avoid literal -0.0.
21237         * tests/test-frexpl.c (zero): New variable.
21238         (main): Avoid literal -0.0L.
21239         * tests/test-ldexpl.c (zero): New variable.
21240         (main): Avoid literal -0.0L.
21241         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
21242         (zerod, zerol): New variables.
21243         (test_function): Avoid literals -0.0, -0.0L.
21244         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
21245         (zerod, zerol): New variables.
21246         (test_function): Avoid literals -0.0, -0.0L.
21247         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
21248         (zerod, zerol): New variables.
21249         (test_function): Avoid literals -0.0, -0.0L.
21250         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
21251         (zerod, zerol): New variables.
21252         (test_function): Avoid literals -0.0, -0.0L.
21253         * tests/test-strtod.c (zero): New variable.
21254         (main): Avoid literal -0.0.
21255         Reported by Jonathan C. Patschke <jp@centtech.com>.
21256
21257 2008-07-31  Jim Meyering  <meyering@redhat.com>
21258
21259         sha256.h: correct definition of SHA224_DIGEST_SIZE
21260         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
21261         Reported by Paulie Pena IV <paulie4@gmail.com>.
21262         Define as 224 / 8, rather than as a literal.
21263         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
21264         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
21265         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
21266
21267 2008-07-31  Bruno Haible  <bruno@clisp.org>
21268
21269         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
21270         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
21271         Reported by Jonathan Patschke <jp@centtech.com>.
21272
21273 2008-07-31  Bruno Haible  <bruno@clisp.org>
21274
21275         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
21276         Reported by Paolo Bonzini <bonzini@gnu.org>.
21277
21278 2008-07-30  Eric Blake  <ebb9@byu.net>
21279
21280         test-strtod: allow compilation without -lm
21281         * tests/test-strtod.c (main): Avoid link dependence on fabs.
21282         Reported by Dennis Clarke <blastwave@gmail.com>.
21283
21284 2008-07-28  Jim Meyering  <meyering@redhat.com>
21285
21286         bootstrap: work also when there are no .po files in po/
21287         * build-aux/bootstrap (update_po_files): Complete the change
21288         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
21289
21290 2008-07-27  Jim Meyering  <meyering@redhat.com>
21291
21292         * users.txt: Add zile.
21293
21294 2008-07-26  Ben Pfaff  <blp@gnu.org>
21295
21296         Add missing dependencies on new m4/exponent[fdl].m4 files.
21297         * modules/isnanf-nolibm: Add m4/exponentf.m4.
21298         * modules/isnand-nolibm: Add m4/exponentd.m4.
21299         * modules/isnanl-nolibm: Add m4/exponentl.m4.
21300         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
21301         m4/isnan[fdl].m4, because the macros actually used moved.
21302         Reported by Jim Meyering.
21303
21304 2008-07-14  Ben Pfaff  <blp@gnu.org>
21305
21306         Add isinf module.
21307         * lib/isinf.c: New file.
21308         * lib/math.in.h: Define isinf macro if we have decided to replace
21309         it.
21310         * m4/isinf.m4: New file.
21311         * m4/math_h.m4: Initialize and substitute variables for isinf
21312         module.
21313         * modules/isinf: New file.
21314         * modules/isinf-tests: New file.
21315         * modules/math: Add substitutions for new module.
21316         * tests/test-isinf.c: New file.
21317         * doc/posix-functions/isinf.texi: Mention new module.
21318         * MODULES.html.sh: Mention new module.
21319
21320 2008-07-14  Ben Pfaff  <blp@gnu.org>
21321
21322         Factor out some macros for use by additional modules.
21323         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
21324         exponentf.m4.
21325         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
21326         exponentd.m4.
21327         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
21328         file exponentl.m4.
21329         * m4/exponentf.m4: New file.
21330         * m4/exponentd.m4: New file.
21331         * m4/exponentl.m4: New file.
21332         * modules/isnanf: Use new file m4/exponentf.m4.
21333         * modules/isnand: Use new file m4/exponentd.m4.
21334         * modules/isnanl: Use new file m4/exponentl.m4.
21335
21336 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
21337
21338         mktime.c: normalize tp->tm_isdst value to -1/0/1.
21339         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
21340         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
21341         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
21342
21343         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
21344         readlink on platforms without PATH_MAX.
21345
21346 2008-07-21  Eric Blake  <ebb9@byu.net>
21347
21348         Warn, not fail, on stale version.
21349         * top/GNUmakefile (_curr-ver): Tone down previous patch.
21350
21351         Don't allow installation with stale devel version number.
21352         * top/GNUmakefile (_is-install-target): New macro.
21353         (_curr-ver): Forbid installation with stale version number.
21354
21355 2008-07-20  Bruno Haible  <bruno@clisp.org>
21356
21357         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
21358         TESTS_ENVIRONMENT.
21359         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
21360
21361 2008-07-20  Bruno Haible  <bruno@clisp.org>
21362
21363         * lib/c-stack.h (c_stack_action): Add documentation.
21364         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
21365
21366 2008-07-20  Bruno Haible  <bruno@clisp.org>
21367
21368         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
21369         * modules/readlink (License): Likewise.
21370
21371 2008-07-17  Eric Blake  <ebb9@byu.net>
21372
21373         * modules/c-stack (Link): Fix typo.
21374
21375         Make c-stack use libsigsegv, when available.
21376         * modules/c-stack (Depends-on): Add libsigsegv.
21377         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
21378         needed.
21379         * lib/c-stack.c (SIGSTKSZ): Define fallback.
21380         (segv_handler, overflow_handler, c_stack_action)
21381         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
21382         implementation when libsigsegv is available, but only when using
21383         the library is necessary.
21384         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
21385         comment, explaining why XSI check fails on Linux.
21386         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
21387         * tests/test-c-stack2.sh: Tweak skip message.
21388         * NEWS: Document new link-time requirements.
21389
21390 2008-07-16  Eric Blake  <ebb9@byu.net>
21391
21392         c-stack: Expose false positives when not using libsigsegv.
21393         * modules/c-stack-tests (Files): Expand test.
21394         * tests/test-c-stack.c (main): Add means to conditionally trigger
21395         non-overflow SIGSEGV.
21396         * tests/test-c-stack2.sh: New file.
21397
21398 2008-07-14  Bruno Haible  <bruno@clisp.org>
21399
21400         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
21401         Reported by Eric Blake.
21402
21403 2008-07-14  Sam Steingold  <sds@gnu.org>
21404             Bruno Haible  <bruno@clisp.org>
21405
21406         New module libsigsegv.
21407         * modules/libsigsegv: New file.
21408         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
21409         modifications.
21410         * MODULES.html.sh (Signal handling): New section.
21411
21412 2008-07-14  Bruno Haible  <bruno@clisp.org>
21413
21414         * modules/unictype/ctype-* (Description): Add the word "function".
21415         Improves the resulting doc in MODULES.html.
21416
21417 2008-07-12  Ben Pfaff  <blp@gnu.org>
21418
21419         Add longlong module.
21420         * modules/longlong: New file.
21421
21422 2008-07-12  Bruno Haible  <bruno@clisp.org>
21423
21424         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
21425         to empty.
21426
21427 2008-07-10  Ben Pfaff  <blp@gnu.org>
21428
21429         Add isnan module.
21430         * doc/posix-functions/isnan.texi: Mention new module.
21431         * lib/math.in.h: Define isnan macro if we have decided to replace
21432         it.
21433         * m4/isnan.m4: New file.
21434         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
21435         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
21436         also.
21437         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
21438         redundancy.
21439         * m4/math_h.m4: Initialize and substitute variables for isnan
21440         module.
21441         * modules/isnan: New file.
21442         * modules/isnan-tests: New file.
21443         * modules/math: Add substitutions for new module.
21444         * tests/test-isnan.c: New file.
21445         * MODULES.html.sh: Mention new module.
21446
21447 2008-07-10  Ben Pfaff  <blp@gnu.org>
21448
21449         Add isnanf module.
21450         * lib/isnanf.m4: New file.
21451         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
21452         (gl_HAVE_ISNANF_IN_LIBM): New macro.
21453         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
21454         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
21455         * modules/isnanf: New file.
21456         * modules/isnanf-tests: New file.
21457         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
21458         files.
21459         * tests/test-isnanf-nolibm.c: factored most of its contents into
21460         new file tests/test-isnanf.h.
21461         * tests/test-isnanf.h: New file.
21462         * tests/test-isnanf.c: New file.
21463         * MODULES.html.sh: Mention new module.
21464         * doc/glibc-functions/isnanf.texi: Mention new module.
21465
21466 2008-07-10  Ben Pfaff  <blp@gnu.org>
21467
21468         Add isnand module.
21469         * lib/isnand.h: New file.
21470         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
21471         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
21472         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
21473         functionality also.
21474         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
21475         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
21476         (gl_HAVE_ISNAND_IN_LIBM): New macro.
21477         * modules/isnand: New file.
21478         * modules/isnand-tests: New file.
21479         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
21480         files.
21481         * tests/test-isnand-nolibm.c: factored most of its contents into
21482         new file tests/test-isnand.h.
21483         * tests/test-isnand.h: New file.
21484         * tests/test-isnand.c: New file.
21485         * MODULES.html.sh: Mention new module.
21486
21487 2008-07-10  Ben Pfaff  <blp@gnu.org>
21488
21489         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
21490         * lib/isnand.h: Rename lib/isnand-nolibm.h.
21491         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
21492         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
21493         * modules/isnanf-nolibm: Update references to renamed files.
21494         * modules/isnand-nolibm: Likewise.
21495         * modules/isnanf-nolibm-tests: Likewise.
21496         * modules/isnand-nolibm-tests: Likewise.
21497         * lib/frexp.c: Likewise.
21498         * lib/isfinite.c: Likewise.
21499         * lib/signbitd.c: Likewise.
21500         * lib/signbitf.c: Likewise.
21501         * lib/vasnprintf.c: Likewise.
21502         * tests/test-ceilf1.c: Likewise.
21503         * tests/test-ceilf2.c: Likewise.
21504         * tests/test-floorf1.c: Likewise.
21505         * tests/test-floorf2.c: Likewise.
21506         * tests/test-frexp.c: Likewise.
21507         * tests/test-round1.c: Likewise.
21508         * tests/test-round2.c: Likewise.
21509         * tests/test-roundf1.c: Likewise.
21510         * tests/test-strtod.c: Likewise.
21511         * tests/test-trunc1.c: Likewise.
21512         * tests/test-trunc2.c: Likewise.
21513         * tests/test-truncf1.c: Likewise.
21514         * tests/test-truncf2.c: Likewise.
21515         * NEWS: Mention the renamed header files.
21516
21517 2008-07-11  Jim Meyering  <meyering@redhat.com>
21518
21519         vc-list-files: make the last-resort awk code more portable
21520         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
21521         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
21522         does not support it.
21523
21524 2008-07-10  Eric Blake  <ebb9@byu.net>
21525
21526         Work with tar's bootstrap.
21527         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
21528         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
21529         an m4 comment.
21530
21531 2008-07-09  Jim Meyering  <meyering@redhat.com>
21532
21533         posix-shell.m4: fix typo that made this test malfunction
21534         * m4/posix-shell.m4: Remove capitalization in variable name.
21535
21536 2008-07-08  Bruno Haible  <bruno@clisp.org>
21537
21538         * m4/onceonly.m4: Update comments.
21539         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21540
21541 2008-07-04  Jim Meyering  <meyering@redhat.com>
21542
21543         * users.txt: Add vc-dwim.
21544         (bison, coreutils): Use the gitweb URL.
21545
21546 2008-07-03  Jim Meyering  <meyering@redhat.com>
21547
21548         * users.txt: Add libffcall.  From Sam Steingold.
21549
21550 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
21551
21552         getdate.y: do not ignore TZ with relative day, month or year offset
21553         * lib/getdate.y (get_date): Move the tz-handling block to follow the
21554         relative-date-handling, since otherwise, the latter would clobber the
21555         sole output (an updated Start value) of the tz-handling block.
21556         * tests/test-getdate.c: Tests for the fix
21557
21558 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21559
21560         Recognize 'foo_LIBRARIES += libgnu.a'.
21561         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
21562         makefile snippet has already specified an installation location,
21563         also using '+='.
21564
21565 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
21566
21567         getdate.y: factor out common actions
21568         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
21569         Use them in place of open-coded actions.
21570
21571 2008-07-01  Simon Josefsson  <simon@josefsson.org>
21572
21573         Add self-test for getdate module.
21574         * modules/getdate-tests: New file.
21575         * tests/test-getdate.c: New file.
21576
21577 2008-06-29  Bruno Haible  <bruno@clisp.org>
21578
21579         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
21580         .gitignore.
21581         Reported by Sylvain Beucler <beuc@beuc.net>.
21582
21583 2008-06-29  Bruno Haible  <bruno@clisp.org>
21584
21585         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
21586         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
21587
21588 2008-06-29  Bruno Haible  <bruno@clisp.org>
21589
21590         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
21591         EXTRA_DIST.
21592         Reported by Sylvain Beucler <beuc@beuc.net>.
21593
21594 2008-06-26  Jim Meyering  <meyering@redhat.com>
21595
21596         make several modules depend on the "open" module
21597         This provides slightly increased consistency when opening-for-write
21598         the name of a non-directory spelled with a trailing slash.
21599         * modules/chdir-safer: Likewise.
21600         * modules/chown: Likewise.
21601         * modules/clean-temp: Likewise.
21602         * modules/copy-file: Likewise.
21603         * modules/fchdir: Likewise.
21604         * modules/fcntl-safer: Likewise.
21605         * modules/pipe: Likewise.
21606         * modules/utime: Likewise.
21607         Prompted by Eric Blake and Bruno Haible.
21608
21609 2008-06-24  Andreas Schwab  <schwab@suse.de>
21610
21611         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
21612         literals can be used as initializers for global variables.
21613
21614 2008-06-23  Eric Blake  <ebb9@byu.net>
21615
21616         Make gnulib-cache.m4 easier to diff.
21617         * gnulib-tool (func_import): Allow newlines when reading cached
21618         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
21619
21620 2008-06-23  Bruno Haible  <bruno@clisp.org>
21621
21622         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
21623         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
21624         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
21625         m4/signalblocking.m4.
21626         (gl_PREREQ_SIGACTION): Don't invoke it.
21627         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
21628         gl_PREREQ_SIG_HANDLER_H.
21629         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
21630         Don't check for sigaction here.
21631
21632 2008-06-23  Bruno Haible  <bruno@clisp.org>
21633
21634         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
21635         (install_handlers): Don't set the SA_RESETHAND flag.
21636
21637 2008-06-23  Bruno Haible  <bruno@clisp.org>
21638
21639         * m4/sigaction.m4: Comment fixes.
21640         * lib/signal.in.h: Likewise.
21641
21642 2008-06-23  Eric Blake  <ebb9@byu.net>
21643
21644         Fix typo.
21645         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
21646
21647         Avoid SA_ namespace.
21648         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
21649         Reported by Ralf Wildenhues.
21650
21651         Avoid test failure due to SA_RESTORER.
21652         * tests/test-sigaction.c (SA_MASK): New macro.
21653         (main): Avoid failing due to extension flags being set.
21654         Reported by Jim Meyering.
21655
21656         Revert use of sig-handler.h in sigprocmask.c.
21657         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
21658         it requires the existence of struct sigaction.
21659         * lib/sigprocmask.c (handler_t): Restore typedef.
21660         (rpl_signal, old_handlers): Use local type.
21661
21662 2008-06-22  Bruno Haible  <bruno@clisp.org>
21663
21664         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
21665         conditionally.
21666         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21667
21668 2008-06-22  Bruno Haible  <bruno@clisp.org>
21669
21670         * doc/posix-functions/siginterrupt.texi: Move note.
21671
21672         * lib/signal.in.h (SA_RESTART): New macro.
21673         * lib/sigaction.c: Update comment.
21674
21675         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
21676
21677         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
21678         (gl_PREREQ_SIGPROCMASK): Invoke it.
21679         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
21680
21681         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
21682
21683         * lib/sigprocmask.c: Update a comment.
21684
21685 2008-06-21  Eric Blake  <ebb9@byu.net>
21686
21687         Use sigaction module rather than signal().
21688         * modules/c-stack (Depends-on): Add sigaction.
21689         * modules/fatal-signal (Depends-on): Likewise.
21690         * modules/nanosleep (Depends-on): Likewise.
21691         * modules/sigprocmask (Files): Add sig-handler.h.
21692         * modules/sigaction (Files): Likewise.
21693         * lib/sig-handler.h (get_handler): New file, suggested by Paul
21694         Eggert.
21695         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
21696         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
21697         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
21698         (init_fatal_signals): Likewise.
21699         * lib/nanosleep.c (rpl_nanosleep): Likewise.
21700         (siginterrupt): Delete fallback.
21701         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
21702         instead.
21703         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
21704         siginterrupt.
21705
21706         New module sigaction, for mingw.
21707         * modules/sigaction: New module...
21708         * modules/sigaction-tests: ...and its test.
21709         * m4/sigaction.m4: New file.
21710         * lib/sigaction.c: Likewise.
21711         * tests/test-sigaction.c: Likewise.
21712         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
21713         * modules/signal (Makefile.am): Likewise.
21714         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
21715         needed.
21716         * doc/posix-headers/signal.texi (signal.h): Mention provided
21717         types.
21718         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
21719         that sigaction is preferable.
21720         * doc/posix-functions/sigaction.texi (sigaction): Mention new
21721         module.
21722         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21723         sigaction.
21724
21725         Improve robustness of sigprocmask by overriding signal.
21726         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
21727         is in use.
21728         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
21729         (SIGKILL, SIGSTOP): Provide fallbacks.
21730         (rpl_signal): Implement.
21731         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
21732         signal can be called inside handlers.
21733
21734         Fix nanosleep module on mingw.
21735         * modules/nanosleep (Depends-on): Add sys_select.
21736         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
21737
21738         Fix licensing of sigprocmask.
21739         * modules/raise (License): Relicense as LGPL.
21740
21741 2008-06-21  Bruno Haible  <bruno@clisp.org>
21742
21743         * lib/propername.c (proper_name_utf8): Don't use the transliterated
21744         result if it contains question marks.
21745         Reported by Michael Geng <linux@michaelgeng.de>.
21746
21747 2008-06-19  Bruno Haible  <bruno@clisp.org>
21748
21749         Fix CVS-ism.
21750         * doc/gnulib.texi: Include updated-stamp.texi.
21751         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
21752         (updated-stamp.texi): New rule.
21753         (gnulib.info): Depend on it.
21754         * doc/.gitignore: Add updated-stamp.texi.
21755         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
21756
21757 2008-06-19  Bruno Haible  <bruno@clisp.org>
21758
21759         * doc/Makefile (gnulib.info): Update and simplify dependencies.
21760         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21761
21762 2008-06-19  Eric Blake  <ebb9@byu.net>
21763
21764         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
21765         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
21766         Reported by Stepan Kasal.
21767
21768 2008-06-18  Bruno Haible  <bruno@clisp.org>
21769
21770         * lib/fatal-signal.c (init_fatal_signals): Add comment.
21771         Reported by Eric Blake.
21772
21773 2008-06-18  Eric Blake  <ebb9@byu.net>
21774
21775         Work around cygwin 1.5.25 strsignal bug.
21776         * tests/test-strsignal.c: Allow for const char *.
21777         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
21778
21779 2008-06-18  Simon Josefsson  <simon@josefsson.org>
21780
21781         * users.txt: Update URL to article and add author/date
21782         information.
21783
21784 2008-06-17  Bruno Haible  <bruno@clisp.org>
21785
21786         New macro gl_DISABLE_THREADS.
21787         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
21788         if the user did not pass --enable-threads or --disable-threads option.
21789         (gl_DISABLE_THREADS): New macro.
21790         Reported by Eric Blake <ebb9@byu.net>.
21791
21792 2008-06-17  Bruno Haible  <bruno@clisp.org>
21793
21794         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
21795         when the macro ignores it.
21796         Based on a patch by Eric Blake <ebb9@byu.net>.
21797
21798 2008-06-17  Bruno Haible  <bruno@clisp.org>
21799
21800         * modules/tls (License): Change to LGPLv2+.
21801         Reported by Eric Blake.
21802
21803 2008-06-17  Eric Blake  <ebb9@byu.net>
21804
21805         Simplify c-stack prerequisites.
21806         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
21807         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
21808         no longer requires <ucontext.h> to exist.  Optimize setrlimit
21809         check.
21810         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
21811         <sys/resource.h>.
21812
21813         Move c-stack test into testsuite.
21814         * modules/c-stack-tests: New file.
21815         * lib/c-stack.c [DEBUG]: Move test program...
21816         * tests/test-c-stack.c: ...into this new file.  Skip rather than
21817         fail test if sigaltstack is lacking.
21818         * tests/test-c-stack.sh: New driver file.
21819
21820 2008-06-16  Eric Blake  <ebb9@byu.net>
21821
21822         Use raise module consistently.
21823         * modules/fatal-signal (Depends-on): Add raise.
21824         * modules/sigprocmask (Depends-on): Likewise.
21825         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
21826         * lib/sigprocmask.c (sigprocmask): Likewise.
21827         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
21828         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
21829
21830         Fix compliance bug in sigpending.
21831         * lib/sigprocmask.c (sigpending): Return pending array via
21832         parameter, not return value.
21833
21834 2008-06-14  Eric Blake  <ebb9@byu.net>
21835
21836         Improve obstack-printf test code.
21837         * tests/test-obstack-printf.c (test_function): Fix comment, and
21838         simplify usage of obstack_* in macros.  Add a test for coverage.
21839         Reported by Bruno Haible.
21840
21841 2008-06-14  Bruno Haible  <bruno@clisp.org>
21842
21843         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
21844         array size as a constant, not as a const variable.
21845         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
21846         AC_USE_SYSTEM_EXTENSIONS.
21847         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
21848         Test whether the obstack_printf function actually exists.
21849         * modules/obstack-printf (Depends-on): Add extensions.
21850         (Include): Remove obstack.h.
21851         * modules/obstack-printf-posix (Depends-on): Add extensions.
21852         (Include): Remove obstack.h.
21853
21854 2008-06-13  Eric Blake  <ebb9@byu.net>
21855
21856         Add obstack-printf and obstack-printf-posix modules.
21857         * modules/obstack-printf: New file.
21858         * modules/obstack-printf-posix: Likewise.
21859         * MODULES.html.sh (Misc): Mention them.
21860         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
21861         Likewise.
21862         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
21863         Likewise.
21864         * modules/stdio (Makefile.am): Accomodate new modules.
21865         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
21866         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
21867         Declare.
21868         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
21869         functions.
21870         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
21871         (gl_REPLACE_OBSTACK_PRINTF): New macros
21872         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
21873         * tests/test-obstack-printf.c: New file.
21874         * modules/obstack-printf-tests: Likewise.
21875         * modules/obstack-printf-posix-tests: Likewise.
21876
21877 2008-06-11  Bruno Haible  <bruno@clisp.org>
21878
21879         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
21880         * lib/open.c: Include errno.h.
21881         (open): Fail when attempting to write to a file that has a trailing
21882         slash.
21883         * tests/test-open.c (main): Test against trailing slash bug.
21884         * doc/posix-functions/open.texi: Mention the trailing slash bug.
21885
21886 2008-06-10  Bruno Haible  <bruno@clisp.org>
21887
21888         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
21889         for $? to work inside the trap command, with various /bin/sh-s.
21890         * tests/test-vc-list-files-cvs.sh: Likewise.
21891
21892 2008-06-10  Bruno Haible  <bruno@clisp.org>
21893
21894         * lib/acl-internal.h: Don't include gettext.h here.
21895         * lib/set-mode-acl.c: Include gettext.h here.
21896         * lib/copy-acl.c: Likewise.
21897
21898 2008-06-10  Bruno Haible  <bruno@clisp.org>
21899
21900         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
21901         * lib/wait-process.c (wait_subprocess): Likewise.
21902         * lib/execute.h (execute): Add termsigp argument.
21903         * lib/execute.c (execute): Likewise.
21904         * lib/csharpcomp.c (compile_csharp_using_pnet,
21905         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
21906         * lib/csharpexec.c (execute_csharp_using_pnet,
21907         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
21908         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
21909         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
21910         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
21911         is_jikes_present): Update.
21912         * lib/javaexec.c (execute_java_class): Update.
21913         * lib/javaversion.c (execute_and_read_line): Update.
21914         * NEWS: Document the changes.
21915         Reported by Eric Blake.
21916
21917 2008-06-10  Eric Blake  <ebb9@byu.net>
21918
21919         Add missing include.
21920         * tests/test-strstr.c (includes): Add <signal.h>.
21921         * tests/test-strcasestr.c (includes): Likewise.
21922         * tests/test-memmem.c (includes): Likewise.
21923
21924 2008-06-10  Bruno Haible  <bruno@clisp.org>
21925
21926         * lib/wait-process.c (wait_subprocess): Add an assertion.
21927
21928 2008-06-10  Bruno Haible  <bruno@clisp.org>
21929
21930         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
21931
21932 2008-06-10  Bruno Haible  <bruno@clisp.org>
21933
21934         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
21935         using alarm().
21936         * tests/test-strcasestr.c (main): Likewise.
21937         * tests/test-strstr.c (main): Likewise.
21938
21939 2008-06-09  Bruno Haible  <bruno@clisp.org>
21940
21941         Work around the Solaris 10 ACE ACLs ABI change.
21942         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
21943         declare if ACL_NO_TRIVIAL is present.
21944         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
21945         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
21946         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
21947         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
21948         define if ACL_NO_TRIVIAL is present.
21949         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
21950         and use the current ABI.
21951         (file_has_acl): Use same #if condition as elsewhere.
21952         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
21953         in use, and use the current ABI.
21954         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
21955         Reported by Jim Meyering.
21956
21957 2008-06-09  Eric Blake  <ebb9@byu.net>
21958
21959         Work around environments that (stupidly) ignore SIGALRM.
21960         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
21961         before using alarm().
21962         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21963         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
21964         Reported by Ian Beckwith <ianb@erislabs.net>.
21965
21966         Produce autobuild blurb earlier in log.
21967         * modules/autobuild (configure.ac-early): Move AB_INIT here.
21968
21969 2008-06-09  Jim Meyering  <meyering@redhat.com>
21970         and Ondřej Vašík  <ovasik@redhat.com>
21971
21972         utimens.c: correct kernel bug work-around
21973         Ondřej Vašík found that the invalid return value of 280 indicates
21974         failure, not success, and the kernel bug we're trying to work
21975         around affects not just the utimensat call, but also the fallback
21976         futimens call.
21977         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
21978         not success.
21979         [HAVE_FUTIMENS]: Use the same work-around, here.
21980
21981 2008-06-09  Jim Meyering  <meyering@redhat.com>
21982
21983         add more guards around definition of ACE_-related code
21984         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
21985         ALLOW and ACE_OWNER are also defined.
21986
21987 2008-06-08  Bruno Haible  <bruno@clisp.org>
21988
21989         * lib/acl-internal.h: Add me as co-author.
21990         * lib/file-has-acl.c: Likewise.
21991         * lib/set-mode-acl.c: Likewise.
21992         * lib/copy-acl.c: Likewise.
21993
21994 2008-06-08  Bruno Haible  <bruno@clisp.org>
21995
21996         Add support for AIX ACLs.
21997         * lib/acl-internal.h (acl_nontrivial): New declaration.
21998         * lib/file-has-acl.c (acl_nontrivial): New function.
21999         (file_has_acl): Add implementation using AIX 4 ACL API.
22000         * lib/set-mode-acl.c (qset_acl): Likewise.
22001         * lib/copy-acl.c (qcopy_acl): Likewise.
22002
22003 2008-06-08  Bruno Haible  <bruno@clisp.org>
22004
22005         Add support for HP-UX ACLs.
22006         * lib/acl-internal.h (acl_nontrivial): New declaration.
22007         * lib/file-has-acl.c (acl_nontrivial): New function.
22008         (file_has_acl): Add implementation using HP-UX 11 ACL API.
22009         * lib/set-mode-acl.c (qset_acl): Likewise.
22010         * lib/copy-acl.c (qcopy_acl): Likewise.
22011
22012 2008-06-08  Bruno Haible  <bruno@clisp.org>
22013
22014         Add support for Cygwin ACLs.
22015         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
22016         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
22017         the chmod_or_fchmod call.
22018         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
22019
22020 2008-06-08  Bruno Haible  <bruno@clisp.org>
22021
22022         Fix bug with setuid modes in Solaris 10+ code.
22023         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
22024         succeeded, when the mode contains some special bits.
22025
22026 2008-06-08  Bruno Haible  <bruno@clisp.org>
22027
22028         Add support for Solaris 7..10 ACLs.
22029         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
22030         declarations.
22031         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
22032         functions.
22033         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
22034         * lib/set-mode-acl.c (qset_acl): Likewise.
22035         * lib/copy-acl.c (qcopy_acl): Likewise.
22036
22037 2008-06-08  Bruno Haible  <bruno@clisp.org>
22038
22039         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
22040         declaration.
22041         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
22042         (acl_access_nontrivial): Remove MacOS X case.
22043         (file_has_acl): Use acl_extended_nontrivial.
22044         * lib/copy-acl.c (qcopy_acl): Likewise.
22045
22046 2008-06-08  Bruno Haible  <bruno@clisp.org>
22047
22048         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
22049
22050 2008-06-08  Jim Meyering  <meyering@redhat.com>
22051
22052         * modules/acl (Maintainer): Add Bruno Haible.
22053
22054 2008-06-07  Bruno Haible  <bruno@clisp.org>
22055
22056         Improve support for Tru64 ACLs.
22057         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
22058         ACL on OSF/1.
22059
22060 2008-06-07  Bruno Haible  <bruno@clisp.org>
22061
22062         Add support for MacOS X ACLs.
22063         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
22064         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
22065         * lib/set-mode-acl.c (qset_acl): Likewise.
22066         * lib/copy-acl.c (qcopy_acl): Likewise.
22067
22068 2008-06-07  Bruno Haible  <bruno@clisp.org>
22069
22070         Fix memory leak introduced on 2008-05-22.
22071         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
22072         use.
22073
22074 2008-06-07  Bruno Haible  <bruno@clisp.org>
22075
22076         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
22077         to construct an empty ACL.
22078
22079 2008-06-07  Bruno Haible  <bruno@clisp.org>
22080
22081         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
22082         precisely.
22083         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
22084
22085 2008-06-07  Bruno Haible  <bruno@clisp.org>
22086
22087         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
22088         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
22089
22090 2008-06-07  Bruno Haible  <bruno@clisp.org>
22091
22092         * doc/posix-functions/_setjmp.texi: Explain the use of this function
22093         regardless of POSIX.
22094         * doc/posix-functions/_longjmp.texi: Likewise.
22095         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
22096         SystemV platform in this case.
22097
22098 2008-06-06  Eric Blake  <ebb9@byu.net>
22099
22100         Document abort() bugs.
22101         * doc/posix-functions/abort.texi (abort): Mention anomalies.
22102
22103         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
22104         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
22105         sigsetjmp.
22106         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
22107         siglongjmp, but only as a macro.
22108         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
22109         is obsolete.
22110         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
22111
22112         Tweak documentation to cover cygwin argz bugs.
22113         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
22114         argz bug fix; no code change needed since no cygwin releases
22115         occurred between the last fix and the bug being tested.
22116         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
22117         module and recently fixed cygwin bugs.
22118         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
22119         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
22120         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
22121         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
22122         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
22123         Likewise.
22124         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
22125         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
22126         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
22127         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
22128         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
22129         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
22130         Likewise.
22131
22132         Avoid gcc warning on cygwin.
22133         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
22134         !ACL_NO_TRIVIAL]: Avoid unused variable.
22135
22136 2008-06-05  Eric Blake  <ebb9@byu.net>
22137
22138         Be tolerant of UNKNOWN version in gnulib-tool test dir.
22139         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
22140         git-version-gen fails to come up with a version.
22141         Reported by Simon Josefsson.
22142
22143 2008-06-05  Jim Meyering  <meyering@redhat.com>
22144             Paul Eggert  <eggert@cs.ucla.edu>
22145
22146         utimens.c: work around a probable Linux kernel bug
22147         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
22148         appears to be a kernel bug that causes utimensat to return 280
22149         instead of 0, indicating success.
22150
22151 2008-06-04  Bruno Haible  <bruno@clisp.org>
22152
22153         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
22154         2008-06-01 commit.
22155
22156 2008-06-04  Bruno Haible  <bruno@clisp.org>
22157
22158         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
22159         * lib/file-has-acl.c (acl_access_nontrivial): New function.
22160         (file_has_acl): Use it. Save errno afterwards.
22161         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
22162
22163 2008-06-03  Bruno Haible  <bruno@clisp.org>
22164
22165         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
22166         draft code. Simplify #ifs.
22167         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
22168         Put Solaris code after POSIX-draft code. Fix comments regarding
22169         Solaris 10, HP-UX. Mention Cygwin.
22170         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
22171
22172 2008-06-03  Eric Blake  <ebb9@byu.net>
22173
22174         Provide fallback for older kernels.
22175         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
22176         Provide runtime fallback if kernel lacks support.
22177         Reported by Mike Frysinger.
22178
22179 2008-06-02  Bruno Haible  <bruno@clisp.org>
22180
22181         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
22182         it exists.
22183
22184 2008-06-02  Bruno Haible  <bruno@clisp.org>
22185
22186         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
22187         * lib/copy-acl.c (qcopy_acl): Update comment.
22188
22189 2008-06-02  Bruno Haible  <bruno@clisp.org>
22190
22191         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
22192         like ACL APIs.
22193
22194 2008-06-02  Bruno Haible  <bruno@clisp.org>
22195
22196         * tests/test-file-has-acl.sh: Use different code for Cygwin.
22197         * tests/test-set-mode-acl.sh: Likewise.
22198         * tests/test-copy-acl.sh: Likewise.
22199         * tests/test-copy-file.sh: Likewise.
22200
22201 2008-06-02  Bruno Haible  <bruno@clisp.org>
22202
22203         * tests/test-file-has-acl.sh: Remove unused code.
22204
22205 2008-06-01  Bruno Haible  <bruno@clisp.org>
22206
22207         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
22208         (copy_acl): Just a wrapper around qcopy_acl that emits the error
22209         messages.
22210         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
22211
22212 2008-06-01  Bruno Haible  <bruno@clisp.org>
22213
22214         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
22215         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
22216         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
22217         APIs.
22218         * modules/acl-tests (configure.ac): Remove tests now contained in
22219         m4/acl.m4.
22220
22221 2008-06-02  Jim Meyering  <meyering@redhat.com>
22222
22223         announce-gen: use a better key-server host name
22224         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
22225         it may be more consistently reliable.  Suggested by Werner Koch
22226         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
22227
22228 2008-06-01  Bruno Haible  <bruno@clisp.org>
22229
22230         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
22231         Reported by Voroskoi Andras <voroskoi@gmail.com>.
22232
22233 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
22234
22235         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
22236
22237 2008-06-01  Bruno Haible  <bruno@clisp.org>
22238
22239         New ACL tests.
22240         * tests/test-file-has-acl.sh: New file.
22241         * tests/test-file-has-acl.c: New file.
22242         * tests/test-set-mode-acl.sh: New file.
22243         * tests/test-set-mode-acl.c: New file.
22244         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
22245         * tests/test-copy-acl.c: New file.
22246         * modules/acl-tests: New file, based on modules/copy-file-tests.
22247         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
22248         (Depends-on): Add acl-tests.
22249         (configure.ac): Remove checks.
22250         (Makefile.am): Don't create test-sameacls program here any more.
22251
22252 2008-06-01  Bruno Haible  <bruno@clisp.org>
22253
22254         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
22255         * tests/test-sameacls.c: Include progname.h.
22256         (main): Invoke set_program_name. Portability fixes for MacOS X,
22257         Solaris, HP-UX.
22258
22259 2008-06-01  Bruno Haible  <bruno@clisp.org>
22260
22261         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
22262         function.
22263         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
22264
22265 2008-06-01  Bruno Haible  <bruno@clisp.org>
22266
22267         * modules/rpmatch (Depends-on): Add strdup.
22268
22269 2008-06-01  Bruno Haible  <bruno@clisp.org>
22270
22271         * lib/pipe.c: Include unistd-safer.h.
22272         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
22273         * modules/pipe (Depends-on): Add unistd-safer.
22274
22275 2008-05-30  Simon Josefsson  <simon@josefsson.org>
22276
22277         * modules/autobuild (configure.ac): Call AB_INIT.
22278
22279 2008-05-30  Simon Josefsson  <simon@josefsson.org>
22280
22281         * tests/test-getaddrinfo.c: Don't print debug messages by default.
22282         Suggested by Bruno Haible <bruno@clisp.org>.
22283
22284 2008-05-30  Simon Josefsson  <simon@josefsson.org>
22285
22286         * tests/test-base64.c: Cast size_t to unsigned long when invoking
22287         printf.  Use %lu instead of %d.  Reported by Bruno Haible
22288         <bruno@clisp.org>.
22289
22290 2008-05-29  Eric Blake  <ebb9@byu.net>
22291
22292         Prefer new POSIX 200x interfaces over futimesat.
22293         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
22294         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
22295         when available.
22296         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
22297
22298 2008-05-28  Bruno Haible  <bruno@clisp.org>
22299
22300         * modules/stpcpy (License): Change to LGPLv2+.
22301         Requested by David Lutterkort <dlutter@redhat.com>.
22302
22303 2008-05-27  Bruno Haible  <bruno@clisp.org>
22304
22305         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
22306         current mingw.
22307         Reported by Jose E. Marchesi <jemarch@gnu.org>.
22308
22309 2008-05-27  Bruno Haible  <bruno@clisp.org>
22310
22311         * modules/iconv_open (Link): New section, from module 'iconv'.
22312         * modules/striconv (Link): Likewise.
22313         * modules/striconveh (Link): Likewise.
22314         * modules/xstriconv (Link): Likewise.
22315         * modules/unicodeio (Link): Likewise.
22316         * modules/propername (Link): Likewise.
22317         Reported by Jim Meyering.
22318
22319 2008-05-26  Jim Meyering  <meyering@redhat.com>
22320
22321         sha256: do not artificially restrict buffer length to be < 2^32
22322         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
22323         uint32_t to size_t.
22324         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
22325         to match.
22326
22327         avoid unaligned access errors, e.g., on sparc
22328         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
22329         direct access through a possibly-unaligned uint64* pointer.
22330         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
22331         direct access through a possibly-unaligned uint32* pointer.
22332         Prompted by this patch from Tom "spot" Callaway:
22333         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
22334
22335         sha512.c: fix typo in comment
22336         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
22337
22338 2008-05-25  Bruno Haible  <bruno@clisp.org>
22339
22340         * lib/set-mode-acl.c: Renamed from lib/acl.c.
22341         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
22342         (Makefile.am): Update lib_SOURCES.
22343
22344 2008-05-25  Bruno Haible  <bruno@clisp.org>
22345
22346         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
22347
22348 2008-05-25  Jim Meyering  <meyering@redhat.com>
22349
22350         useless-if-before-free: freed expr may have white-space differences
22351         * build-aux/useless-if-before-free: Recognize cases in which the
22352         freed expression differs from the tested one in embedded white
22353         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
22354         $1 was used, so we can't make any regexp shy.  Improved tests now
22355         detect this.
22356
22357         useless-if-before-free: accept white space in the expression.
22358         * build-aux/useless-if-before-free: For now, any white space
22359         in the expression must be identical in the free argument.
22360
22361         useless-if-before-free: efficiency tweak
22362         * build-aux/useless-if-before-free: Make the expression-matching
22363         regexp "shy".
22364         Make the *outer* regexp shy, not the expr-matching one.
22365
22366         update code-in-comment to accept cast of free arg
22367         * build-aux/useless-if-before-free: Update regexp.
22368
22369 2008-05-25  Bruno Haible  <bruno@clisp.org>
22370
22371         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
22372         * modules/copy-file-tests (Files, Makefile.am): Update.
22373         * tests/test-copy-file.c (func_test_copy): Update.
22374
22375 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
22376
22377         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
22378
22379 2008-05-23  Bruno Haible  <bruno@clisp.org>
22380
22381         Improve support for ACLs on OSF/1.
22382         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
22383         Remove fallback for unknown flavors of ACLs.
22384
22385 2008-05-22  Bruno Haible  <bruno@clisp.org>
22386
22387         Add support for ACLs on OSF/1.
22388         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
22389         replacements.
22390         (acl_free_text): New macro fallback.
22391         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
22392         acl_free.
22393         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
22394         acl_free_text function. Require AC_C_INLINE.
22395
22396 2008-05-22  Bruno Haible  <bruno@clisp.org>
22397
22398         Make copy_acl work on MacOS X 10.5.
22399         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
22400         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
22401         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
22402         If MODE_INSIDE_ACL, don't assume that every system has the same text
22403         representation for ACLs as FreeBSD.
22404         * lib/copy-acl.c (copy_acl): Add support for platforms with
22405         !MODE_INSIDE_ACL.
22406         * lib/file-has-acl.c (file_has_acl): Likewise.
22407         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
22408         FreeBSD, MacOS X, or IRIX, respectively.
22409
22410 2008-05-22  Bruno Haible  <bruno@clisp.org>
22411
22412         * lib/acl.h: Don't include <sys/acl.h>.
22413         (GETACLCNT): Move fallback to lib/acl-internal.h.
22414         * lib/acl-internal.h: Include <sys/acl.h> here.
22415         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
22416
22417 2008-05-22  Bruno Haible  <bruno@clisp.org>
22418
22419         Split off copy_acl function to separate file.
22420         * lib/copy-acl.c: New file, extracted from lib/acl.c.
22421         * lib/acl.c (copy_acl): Moved function to separate file.
22422         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
22423         * modules/acl (Files): Add lib/copy-acl.c.
22424         (Makefiles.am): Augment lib_SOURCES.
22425
22426 2008-05-22  Bruno Haible  <bruno@clisp.org>
22427
22428         * modules/copy-file-tests: New file.
22429         * tests/test-copy-file.sh: New file.
22430         * tests/test-copy-file.c: New file.
22431         * tests/test-copy-file-sameacls.c: New file.
22432
22433 2008-05-22  Eric Blake  <ebb9@byu.net>
22434
22435         Avoid gcc warning.
22436         * tests/test-memcmp.c (main): Pass NULL indirectly.
22437
22438 2008-05-21  Bruno Haible  <bruno@clisp.org>
22439
22440         Add reference doc about ACLs.
22441         * doc/acl-resources.txt: New file.
22442         * doc/acl-cygwin.txt: New file.
22443
22444 2008-05-21  Bruno Haible  <bruno@clisp.org>
22445
22446         Avoid one more warning from gcc.
22447         * lib/vasnprintf.c (IF_LINT): Update comments.
22448         (VASNPRINTF): Use it also for the 'prefix' array initializer.
22449
22450 2008-05-21  Jim Meyering  <meyering@redhat.com>
22451
22452         avoid a warning from gcc
22453         * lib/vasnprintf.c (IF_LINT): Define.
22454         (scale10_round_decimal_long_double):
22455         Use it to avoid a "may be used uninitialized" warning.
22456         (scale10_round_decimal_double): Likewise.
22457
22458 2008-05-21  Simon Josefsson  <simon@josefsson.org>
22459
22460         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
22461         declared.
22462
22463 2008-05-20  Bruno Haible  <bruno@clisp.org>
22464
22465         * tests/test-memcmp.c (main): Test also the sign of the result. Test
22466         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
22467
22468 2008-05-20  Simon Josefsson  <simon@josefsson.org>
22469
22470         * modules/memcmp-tests: New file.
22471         * tests/test-memcmp.c: New file.
22472
22473 2008-05-19  Bruno Haible  <bruno@clisp.org>
22474
22475         * modules/propername (Notice, configure.ac): Put quoted "..." into
22476         --keyword option.
22477         * lib/propername.h: Update comments accordingly.
22478         Reported by Eric Blake.
22479
22480 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
22481
22482         * modules/getpass-gnu (Depends-on): Add fseeko.
22483
22484 2008-05-19  Simon Josefsson  <simon@josefsson.org>
22485
22486         * modules/base64-tests: New file.
22487
22488 2008-05-19  Bo Borgerson <gigabo@gmail.com>
22489
22490         * lib/base64.c (base64_decode_ctx): If a decode context structure
22491         was passed in use it to ignore newlines.  If a context structure
22492         was _not_ passed in, continue to treat newlines as garbage (this
22493         is the historical behavior).  Formerly base64_decode.
22494         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
22495         takes a decode context structure.
22496         * lib/base64.h (base64_decode): Macro for four-argument calls.
22497         (base64_decode_alloc): Likewise.
22498         * lib/base64.c (base64_decode_ctx): If a decode context structure
22499         was passed in use it to ignore newlines.  If a context structure
22500         was _not_ passed in, continue to treat newlines as garbage (this
22501         is the historical behavior).  Formerly base64_decode.
22502         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
22503         takes a decode context structure.
22504         * lib/base64.h (base64_decode): Macro for four-argument calls.
22505         (base64_decode_alloc): Likewise.
22506
22507 2008-05-19  Jim Meyering  <meyering@redhat.com>
22508
22509         avoid a warning from gcc
22510         * lib/trim.c (IF_LINT): Define.
22511         (trim2): Use it to avoid a "may be used uninitialized" warning.
22512
22513         Fix doc typo.
22514         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
22515
22516 2008-05-19  Bruno Haible  <bruno@clisp.org>
22517
22518         * doc/glibc-functions/getpass.texi: Document limits of other
22519         implementations.
22520
22521 2008-05-19  Simon Josefsson  <simon@josefsson.org>
22522             Bruno Haible <bruno@clisp.org>
22523
22524         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
22525
22526 2008-05-18  Bruno Haible  <bruno@clisp.org>
22527
22528         * modules/propername: New file, from GNU gettext.
22529         * lib/propername.h: New file, from GNU gettext.
22530         * lib/propername.c: New file, from GNU gettext.
22531         * MODULES.html.sh (Internationalization functions): Add propername.
22532
22533 2008-05-16  Jim Meyering  <meyering@redhat.com>
22534             Bruno Haible  <bruno@clisp.org>
22535
22536         Avoid some warnings from "gcc -Wshadow".
22537         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
22538
22539 2008-05-15  Eric Blake  <ebb9@byu.net>
22540
22541         Extend previous patch to cygwin 1.7.0.
22542         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
22543         fast implementation in cygwin >= 1.7.0.
22544         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22545         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22546
22547 2008-05-15  Bruno Haible  <bruno@clisp.org>
22548
22549         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
22550         implementation in glibc >= 2.9.
22551         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22552         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22553
22554 2008-05-15  Bruno Haible  <bruno@clisp.org>
22555
22556         * MODULES.html.sh (Internationalization functions): Remove linebreak.
22557         (Unicode string functions): Add unilbrk/*.
22558         Reported by Karl Berry.
22559
22560 2008-05-15  Eric Blake  <ebb9@byu.net>
22561
22562         Fix violation of <stdbool.h> replacement in regex.
22563         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
22564         * lib/regexec.c (re_search_internal): Likewise.
22565         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
22566
22567 2008-05-15  Jim Meyering  <meyering@redhat.com>
22568
22569         avoid distracting test output when git or cvs is not found
22570         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
22571         * tests/test-vc-list-files-git.sh: Likewise.
22572
22573 2008-05-15  Eric Blake  <ebb9@byu.net>
22574
22575         Glibc finally accepted the memmem speedup code, bugzilla #5514.
22576         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
22577         glibc version.
22578         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
22579         * doc/posix-functions/strstr.texi (strstr): Likewise.
22580         * lib/str-two-way.h (MAX): Sychronize with glibc.
22581
22582 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
22583
22584         * lib/regcomp.c (optimize_utf8): Add a note on why we test
22585         opr.ctx_type.
22586         (calc_first): Initialize constraint field.
22587         (duplicate_node_closure): Use it instead of special casing ANCHORS.
22588         Fix grammar.
22589         (duplicate_node): Merge constraint field for all node types.
22590         (calc_eclosure_iter): Look at constraint field for all node types.
22591         * lib/regex_internal.c (create_cd_newstate): Don't look at
22592         opr.ctx_type.
22593
22594 2008-05-14  Bruno Haible  <bruno@clisp.org>
22595
22596         Help GCC to do better code generation.
22597         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
22598         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
22599         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
22600         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
22601         Declare with attribute 'malloc' if supported.
22602
22603 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
22604
22605         use "echo STR|wc -c" rather than unportable "expr length STR"
22606         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
22607         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
22608
22609 2008-05-14  Jim Meyering  <meyering@redhat.com>
22610
22611         use dd ibs=$n count=1 ... rather than less-portable head -c$n
22612         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
22613         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
22614         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
22615         via Collin Lasse.
22616
22617 2008-05-14  Eric Blake  <ebb9@byu.net>
22618
22619         Avoid quadratic growth in gl_LIBSOURCES.
22620         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
22621         Suggested by Bruno Haible.
22622
22623         Test xmemdup0.
22624         * modules/xmemdup0-tests: New file.
22625         * tests/test-xmemdup0.c: Likewise.
22626
22627 2008-05-13  Eric Blake  <ebb9@byu.net>
22628
22629         Split xmemdup0 into its own module.
22630         * modules/xmemdup0: New file.
22631         * lib/xmemdup0.h: Likewise.
22632         * lib/xmemdup0.c: Likewise.
22633         * MODULES.html.sh (Memory management functions): Add xmemdup0.
22634         * lib/xalloc.h (xmemdup0): Remove.
22635         * lib/xmalloc.c (xmemdup0): Likewise.
22636
22637 2008-05-13  Eric Blake  <ebb9@byu.net>
22638             Bruno Haible  <bruno@clisp.org>
22639
22640         Reduce number of forks required during autoconf.
22641         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
22642         and gl_LIBSOURCES_DIR.
22643         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
22644         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
22645         m4_syscmd per file.
22646         <m4_foreach_w>: Move...
22647         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
22648
22649 2008-05-13  Eric Blake  <ebb9@byu.net>
22650
22651         * gnulib-tool: Fix various comment typos.
22652
22653 2008-05-12  Bruno Haible  <bruno@clisp.org>
22654
22655         Tailor the linebreaking algorithm.
22656         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
22657
22658 2008-05-12  Bruno Haible  <bruno@clisp.org>
22659
22660         Update to Unicode 5.0.0.
22661         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
22662         LBP_JV, LBP_JT. Redistribute values.
22663         (unilbrk_table): Change size.
22664         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
22665         Unicode TR#14 rev. 22.
22666         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
22667         LBP_JV, LBP_JT. Redistribute values.
22668         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
22669         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
22670         Update.
22671         * lib/unilbrk/lbrkprop1.h: Regenerated.
22672         * lib/unilbrk/lbrkprop2.h: Regenerated.
22673         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
22674         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
22675         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
22676         Likewise.
22677         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
22678         Likewise.
22679         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
22680         result.
22681         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22682         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22683         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
22684         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
22685         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
22686         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
22687
22688 2008-05-11  Bruno Haible  <bruno@clisp.org>
22689
22690         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
22691
22692 2008-05-11  Bruno Haible  <bruno@clisp.org>
22693
22694         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
22695         * modules/unilbrk/gen-lbrk: New file.
22696
22697 2008-05-11  Bruno Haible  <bruno@clisp.org>
22698
22699         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
22700         * m4/sha512.m4 (gl_SHA512): Likewise.
22701
22702 2008-05-11  Jim Meyering  <meyering@redhat.com>
22703
22704         New modules: crypto/sha256, crypto/sha512 (from coreutils)
22705         * modules/crypto/sha256: New file.
22706         * modules/crypto/sha512: Likewise.
22707         * lib/sha256.c: Likewise.
22708         * lib/sha256.h: Likewise.
22709         * lib/sha512.c: Likewise.
22710         * lib/sha512.h: Likewise.
22711         * lib/u64.h: Likewise.
22712         * m4/sha256.m4: Likewise.
22713         * m4/sha512.m4: Likewise.
22714         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
22715
22716 2008-05-10  Bruno Haible  <bruno@clisp.org>
22717
22718         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
22719         (Input/Output <stdio.h>): Add xprintf.
22720         (Signal handling <signal.h>): Add strsignal.
22721         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
22722         (Core language properties): Add func.
22723         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
22724         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
22725         strings.
22726         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
22727         (Input/output): New section.
22728         (File system functions): Add openat-die, stat-macros.
22729         (Networking functions): Add sockets.
22730         (Unicode string functions): Add unictype/*.
22731         (Support for building libraries and executables): Add gperf.
22732         (Support for building documentation): Add agpl-3.0.
22733         (Misc): Add nocrash.
22734
22735 2008-05-10  Bruno Haible  <bruno@clisp.org>
22736
22737         * modules/unictype/gen-ctype: New file.
22738
22739 2008-05-10  Jim Meyering  <meyering@redhat.com>
22740
22741         Make chdir-safer.c more efficient on a system with no symlinks.
22742         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
22743         also if ELOOP is zero.  Suggested by Bruno Haible.
22744
22745         Make chdir-safer.c slightly safer.
22746         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
22747         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
22748
22749         Avoid compile failure on systems without ELOOP (like mingw).
22750         * lib/chdir-safer.c (ELOOP): Define if not already defined.
22751         Reported by Bruno Haible.
22752
22753 2008-05-10  Bruno Haible  <bruno@clisp.org>
22754
22755         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
22756         (is_utf8_encoding): Use a case-insensitive comparison.
22757         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
22758         streq.
22759
22760 2008-05-10  Bruno Haible  <bruno@clisp.org>
22761
22762         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
22763         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
22764         * lib/unilbrk/ulc-common.h (iconv_string_length,
22765         iconv_string_keeping_offsets): Remove declarations.
22766         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
22767         Don't include <iconv.h>, streq.h, xsize.h.
22768         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
22769         conversion.
22770         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
22771         <iconv.h>, streq.h, xsize.h.
22772         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
22773         conversion.
22774         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
22775         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
22776         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
22777         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
22778
22779 2008-05-10  Bruno Haible  <bruno@clisp.org>
22780
22781         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
22782         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
22783
22784         * modules/unilbrk/u32-width-linebreaks-tests: New file.
22785         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
22786
22787         * modules/unilbrk/u16-width-linebreaks-tests: New file.
22788         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
22789
22790         * modules/unilbrk/u8-width-linebreaks-tests: New file.
22791         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
22792
22793         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
22794         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
22795
22796         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
22797         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
22798
22799         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
22800         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
22801
22802         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
22803         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
22804
22805 2008-05-10  Bruno Haible  <bruno@clisp.org>
22806
22807         Split up 'linebreak' module.
22808         * lib/unilbrk.h: New file, based on lib/linebreak.h.
22809         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
22810         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
22811         modifications.
22812         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
22813         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
22814         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
22815         lib/linebreak.c.
22816         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
22817         lib/linebreak.c.
22818         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
22819         lib/linebreak.c.
22820         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
22821         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
22822         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
22823         lib/linebreak.c.
22824         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
22825         lib/linebreak.c.
22826         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
22827         lib/linebreak.c.
22828         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
22829         lib/linebreak.c.
22830         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
22831         lib/linebreak.c.
22832         * modules/unilbrk/base: New file.
22833         * modules/unilbrk/tables: New file.
22834         * modules/unilbrk/u8-possible-linebreaks: New file.
22835         * modules/unilbrk/u16-possible-linebreaks: New file.
22836         * modules/unilbrk/u32-possible-linebreaks: New file.
22837         * modules/unilbrk/ulc-common: New file.
22838         * modules/unilbrk/ulc-possible-linebreaks: New file.
22839         * modules/unilbrk/u8-width-linebreaks: New file.
22840         * modules/unilbrk/u16-width-linebreaks: New file.
22841         * modules/unilbrk/u32-width-linebreaks: New file.
22842         * modules/unilbrk/ulc-width-linebreaks: New file.
22843         * lib/linebreak.h: Remove file.
22844         * lib/linebreak.c: Remove file.
22845         * m4/linebreak.m4: Remove file.
22846         * modules/linebreak: Remove file.
22847         * NEWS: Mention the changes.
22848
22849 2008-05-09  Eric Blake  <ebb9@byu.net>
22850
22851         Add xmemdup0.
22852         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
22853         implementation.
22854         * lib/xmalloc.c (xmemdup0): New C implementation.
22855
22856 2008-05-08  Bruno Haible  <bruno@clisp.org>
22857
22858         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
22859
22860 2008-05-07  Eric Blake  <ebb9@byu.net>
22861
22862         Support cross-compilation of <wctype.h>.
22863         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
22864         AC_CACHE_CHECK.
22865
22866 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
22867
22868         * build-aux/vc-list-files: Add support for bzr.
22869
22870 2008-05-03  Jim Meyering  <meyering@redhat.com>
22871
22872         avoid failed assertion with tight malloc
22873         * tests/test-getndelim2.c: Correct an off-by-one assertion.
22874
22875 2008-05-03  Simon Josefsson  <simon@josefsson.org>
22876
22877         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
22878         are needed from arpa/inet.h.
22879         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
22880         Reported by Bruno Haible.
22881
22882 2008-05-02  Jim Meyering  <meyering@redhat.com>
22883
22884         avoid compilation error on FreeBSD 6
22885         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
22886
22887 2008-05-01  Jim Meyering  <meyering@redhat.com>
22888
22889         useless-if-before-free: correct --help's exit status description
22890         * build-aux/useless-if-before-free (usage): Like grep, exit 0
22891         for one or more matches, etc.  Reported by Bruno Haible.
22892
22893         vc-list-files: make the stand-alone gnulib test work
22894         * modules/vc-list-files-tests (configure.ac):
22895         Define and AC_SUBST abs_aux_dir.
22896         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
22897         $(abs_top_srcdir) to each script and having each of them
22898         duplicate the work of setting PATH, set PATH here, using
22899         the new variable, abs_aux_dir instead.
22900         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
22901         * tests/test-vc-list-files-git.sh: Likewise.
22902         Reported by Bruno Haible.
22903
22904 2008-05-01  Bruno Haible  <bruno@clisp.org>
22905
22906         * lib/getndelim2.c (getndelim2): Fix newsize computation during
22907         reallocation. Rename 'done' to 'found_delimiter'.
22908
22909 2008-05-01  Jim Meyering  <meyering@redhat.com>
22910
22911         vc-list-files: accommodate /bin/sh like the one from Solaris 10
22912         * build-aux/vc-list-files: Use `...`, not $(...).
22913
22914 2008-04-30  Jim Meyering  <meyering@redhat.com>
22915
22916         add tests for vc-list-files
22917         * modules/vc-list-files-tests: New module.
22918         * tests/test-vc-list-files-cvs.sh: New file.
22919         * tests/test-vc-list-files-git.sh: New file.
22920
22921         avoid a warning from gcc
22922         * lib/getndelim2.c (IF_LINT): Define.
22923         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
22924
22925         vc-list-files: work properly with build-aux/cvsu, too
22926         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
22927         to all cvs-based clauses.
22928
22929         vc-list-files: work properly in the CVS+awk case, too
22930         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
22931
22932         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
22933         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
22934         take more than one file argument, so .  Add quotes, just in case $dir
22935         ever contains a shell meta-character.  Prompted by Soren Hansen in
22936         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
22937
22938 2008-04-29  Eric Blake  <ebb9@byu.net>
22939
22940         Optimize getndelim2 to use block operations when possible.
22941         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
22942         freadseek, and memchr2.
22943         * lib/getndelim2.c (getndelim2): Use them for block reads.
22944
22945 2008-04-29  Bruno Haible  <bruno@clisp.org>
22946
22947         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
22948         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22949         * modules/inet_ntop (Depends-on): Add extensions.
22950         * modules/inet_pton (Depends-on): Likewise.
22951         Reported by Simon Josefsson.
22952
22953 2008-04-29  Jim Meyering  <meyering@redhat.com>
22954
22955         When the is more than one match in a block, match all of them.
22956         * build-aux/useless-if-before-free: Iterate through each block
22957         until there are no more matches.
22958
22959         Fix broken useless-if-before-free script.
22960         * build-aux/useless-if-before-free: Fix typo: missing "?" after
22961         the expression to match cast of argument to free-like function.
22962
22963 2008-04-29  Eric Blake  <ebb9@byu.net>
22964
22965         Use new header.
22966         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
22967
22968 2008-04-29  Jim Meyering  <meyering@redhat.com>
22969
22970         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
22971         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
22972         by gnulib to exist and to declare e.g., inet_ntop.
22973         Don't include "inet_ntop.h", now removed.
22974
22975         * m4/arpa_inet_h.m4: Remove trailing blanks.
22976
22977 2008-04-29  Eric Blake  <ebb9@byu.net>
22978
22979         Silence valgrind on safe reads beyond potential array bounds.
22980         * lib/rawmemchr.valgrind: New file.
22981         * lib/strchrnul.valgrind: Likewise.
22982         * modules/rawmemchr (Files): Distribute new file.
22983         * modules/strchrnul (Files): Likewise.
22984         Suggested by Bruno Haible.
22985
22986 2008-04-29  Bruno Haible  <bruno@clisp.org>
22987
22988         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
22989         (inet_ntop, inet_pton): Change portability warning's wording.
22990         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
22991         Invoke gl_CHECK_NEXT_HEADERS.
22992         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
22993         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
22994         set ARPA_INET_H.
22995         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22996         * modules/arpa_inet (Description): No longer only for systems that
22997         lack it.
22998         (Depends-on): Add include_next.
22999         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
23000         HAVE_ARPA_INET_H.
23001
23002 2008-04-29  Jim Meyering  <meyering@redhat.com>
23003
23004         * modules/mkdir (License): Re-license as LGPLv2+.
23005
23006 2008-04-29  Bruno Haible  <bruno@clisp.org>
23007
23008         * modules/rawmemchr (Maintainer): Set to Eric.
23009         * modules/strchrnul (Maintainer): Likewise.
23010
23011 2008-04-29  Simon Josefsson  <simon@josefsson.org>
23012
23013         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
23014         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
23015
23016         * modules/arpa_inet (arpa/inet.h): Use them.
23017
23018 2008-04-28  Eric Blake  <ebb9@byu.net>
23019
23020         Test getndelim2.
23021         * modules/getndelim2-tests: New file.
23022         * tests/test-getndelim2.c: Likewise.
23023         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
23024         stream.
23025         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
23026
23027         * MODULES.html.sh: Document new module.
23028
23029 2008-04-20  Bruno Haible  <bruno@clisp.org>
23030
23031         * lib/c-stack.c (die): Use raise.
23032         * modules/c-stack (Depends-on): Add raise.
23033
23034 2008-04-28  Bruno Haible  <bruno@clisp.org>
23035
23036         Expect rpmatch to be declared.
23037         * lib/yesno.c (rpmatch): Remove declaration.
23038
23039         Declare rpmatch.
23040         * lib/stdlib.in.h (rpmatch): New declaration.
23041         * lib/rpmatch.c: Include <stdlib.h> first.
23042         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
23043         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
23044         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
23045         HAVE_RPMATCH.
23046         * modules/rpmatch (Depends-on): Add stdlib, extensions.
23047         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23048         (Include): Set to <stdlib.h>.
23049         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
23050         HAVE_RPMATCH.
23051         * NEWS: Document the change.
23052
23053 2008-04-28  Bruno Haible  <bruno@clisp.org>
23054
23055         Change rpmatch to use nl_langinfo when appropriate.
23056         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
23057         (N_): New macro.
23058         (localized_pattern): New function/macro.
23059         (try): Remove match, nomatch arguments. Copy the pattern into safe
23060         memory before caching it.
23061         (rpmatch): Use localized_pattern. Add translator comments.
23062         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
23063         Suggested by Eric Blake.
23064         * modules/rpmatch (Depends-on): Add stdbool.
23065
23066 2008-04-28  Eric Blake  <ebb9@byu.net>
23067
23068         Add rawmemchr module, matching glibc.
23069         * modules/string (Makefile.am): New indicator.
23070         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
23071         * lib/string.in.h (rawmemchr): Declare when appropriate.
23072         * modules/rawmemchr: New file.
23073         * m4/rawmemchr.m4: Likewise.
23074         * lib/rawmemchr.c: Likewise.
23075         * modules/rawmemchr-tests: Likewise.
23076         * tests/test-rawmemchr.c: Likewise.
23077         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
23078         module.
23079         * modules/strchrnul (Depends-on): Add rawmemchr.
23080         * lib/strchrnul.c (strchrnul): Optimize a corner case.
23081
23082         Whitespace cleanup.
23083         * tests/test-strchrnul.c: Reindent.
23084         * lib/strchrnul.c: Likewise.
23085
23086         Optimize and test strchrnul.
23087         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
23088         * modules/strchrnul-tests: New file.
23089         * tests/test-strchrnul.c: Likewise.
23090
23091         Remove intprops dependency.
23092         * modules/memchr (Depends-on): Remove intprops.
23093         * modules/memrchr (Depends-on): Likewise.
23094         * modules/memchr2 (Depends-on): Likewise.
23095         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
23096         * lib/memrchr.c (__memrchr): Likewise.
23097         * lib/memrchr2.c (memchr2): Likewise.
23098         Reported by Simon Josefsson.
23099
23100 2008-04-28  Simon Josefsson  <simon@josefsson.org>
23101
23102         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
23103         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23104
23105 2008-04-28  Simon Josefsson  <simon@josefsson.org>
23106
23107         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
23108
23109         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
23110
23111         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
23112
23113         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
23114         declarations.
23115         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
23116
23117         * m4/inet_pton.m4: Don't check for header files.
23118
23119         * m4/inet_ntop.m4: Don't check for header files.
23120
23121 2008-04-28  Simon Josefsson  <simon@josefsson.org>
23122
23123         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
23124         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
23125         trigger for cygwin).
23126         Reported by Bruno Haible  <bruno@clisp.org>.
23127
23128 2008-04-28  Bruno Haible  <bruno@clisp.org>
23129
23130         * doc/posix-functions/strdup.texi: Mention mingw problem.
23131
23132 2008-04-27  Bruno Haible  <bruno@clisp.org>
23133
23134         * modules/stat-time-tests (Depends-on): Add sleep.
23135         * tests/test-stat-time.c (force_unlink): New function.
23136         (cleanup): Use it.
23137         (test_mtime): Remove the ctime related tests.
23138         (test_ctime): New function, containing the ctime related tests.
23139         (main): Call test_ctime, except on native Windows platforms.
23140
23141 2008-04-27  Bruno Haible  <bruno@clisp.org>
23142
23143         * lib/rpmatch.c (rpmatch): Add some comments.
23144         Reported by James Youngman <jay@gnu.org>.
23145
23146 2008-04-27  Bruno Haible  <bruno@clisp.org>
23147
23148         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
23149         quiet NaNs.
23150
23151 2008-04-27  Bruno Haible  <bruno@clisp.org>
23152
23153         Make test-yesno.sh work on mingw.
23154         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
23155         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
23156         (main): Set stdin to binary mode.
23157         * modules/yesno-tests (Depends-on): Add binary-io.
23158
23159 2008-04-27  Bruno Haible  <bruno@clisp.org>
23160
23161         Fix 'isfinite' on x86, x86_64, ia64 platforms.
23162         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
23163         argument that lie outside the IEEE 854 domain.
23164         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
23165         (gl_ISFINITE): Use it.
23166         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
23167
23168 2008-04-27  Bruno Haible  <bruno@clisp.org>
23169
23170         Allow local renaming in config.h.
23171         * lib/memrchr.c (memrchr): Don't undefine outside libc.
23172
23173 2008-04-27  Bruno Haible  <bruno@clisp.org>
23174
23175         * lib/memchr.c (__memchr): Change type of 'i'.
23176         * lib/memchr2.c (memchr2): Likewise.
23177
23178 2008-04-26  Eric Blake  <ebb9@byu.net>
23179         and Bruno Haible  <bruno@clisp.org>
23180
23181         Optimize and test memrchr.
23182         * modules/memrchr (Depends-on): Add intprops.
23183         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
23184         * modules/memrchr-tests: New file.
23185         * tests/test-memrchr.c: New file.
23186
23187 2008-04-26  Bruno Haible  <bruno@clisp.org>
23188
23189         Add tentative support for DragonFly BSD.
23190         * lib/stdio-impl.h: Add macros for DragonFly BSD.
23191         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
23192         fp.
23193         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
23194         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
23195         * lib/fpurge.c (fpurge): Likewise.
23196         * lib/freadable.c (freaadable): Likewise.
23197         * lib/freadahead.c (freadahead): Likewise.
23198         * lib/freading.c (freading): Likewise.
23199         * lib/freadptr.c (freadptr): Likewise.
23200         * lib/freadseek.c (freadptrinc): Likewise.
23201         * lib/fseeko.c (fseeko): Likewise.
23202         * lib/fseterr.c (fseterr): Likewise.
23203         * lib/fwritable.c (fwritable): Likewise.
23204         * lib/fwriting.c (fwriting): Likewise.
23205
23206 2008-04-26  Bruno Haible  <bruno@clisp.org>
23207
23208         * lib/stdio-impl.h: New file.
23209         * lib/fbufmode.c: Include stdio-impl.h.
23210         (fbufmode): Use fp_, remove redundant #defines.
23211         * lib/fflush.c: Include stdio-impl.h.
23212         (clear_ungetc_buffer): Remove redundant #defines.
23213         * lib/fpurge.c: Include stdio-impl.h.
23214         (fpurge): Remove redundant #defines.
23215         * lib/freadable.c: Include stdio-impl.h.
23216         (freadable): Remove redundant #defines.
23217         * lib/freadahead.c: Include stdio-impl.h.
23218         (freadahead): Remove redundant #defines.
23219         * lib/freading.c: Include stdio-impl.h.
23220         (freading): Remove redundant #defines.
23221         * lib/freadptr.c: Include stdio-impl.h.
23222         (freadptr): Remove redundant #defines.
23223         * lib/freadseek.c: Include stdio-impl.h.
23224         (freadptrinc): Remove redundant #defines.
23225         * lib/fseeko.c: Include stdio-impl.h.
23226         (rpl_fseeko): Remove redundant #defines.
23227         * lib/fseterr.c: Include stdio-impl.h.
23228         (fseterr): Remove redundant #defines.
23229         * lib/fwritable.c: Include stdio-impl.h.
23230         (fwritable: Remove redundant #defines.
23231         * lib/fwriting.c: Include stdio-impl.h.
23232         (fwriting): Remove redundant #defines.
23233         * modules/fbufmode (Files): Add lib/stdio-impl.h.
23234         * modules/fflush (Files): Likewise.
23235         * modules/fpurge (Files): Likewise.
23236         * modules/freadable (Files): Likewise.
23237         * modules/freadahead (Files): Likewise.
23238         * modules/freading (Files): Likewise.
23239         * modules/freadptr (Files): Likewise.
23240         * modules/freadseek (Files): Likewise.
23241         * modules/fseeko (Files): Likewise.
23242         * modules/fseterr (Files): Likewise.
23243         * modules/fwritable (Files): Likewise.
23244         * modules/fwriting (Files): Likewise.
23245
23246 2008-04-26  Bruno Haible  <bruno@clisp.org>
23247
23248         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
23249         restore_seek_optimization, update_fpos_cache): New functions, extracted
23250         from rpl_fflush.
23251         (rpl_fflush): Use them.
23252         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
23253         (gl_REPLACE_FFLUSH): Use it.
23254
23255 2008-04-26  Bruno Haible  <bruno@clisp.org>
23256
23257         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
23258         on Solaris.
23259         * tests/test-xstrtoimax.sh: Likewise.
23260         * tests/test-xstrtoumax.sh: Likewise.
23261         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23262
23263 2008-04-26  Bruno Haible  <bruno@clisp.org>
23264
23265         * modules/memchr-tests: New file.
23266         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
23267
23268 2008-04-26  Eric Blake  <ebb9@byu.net>
23269             Bruno Haible  <bruno@clisp.org>
23270
23271         * lib/memchr.c: Include intprops.h.
23272         (__memchr): Optimize parallel detection of matching bytes. Rename local
23273         variables. Add explanatory comments.
23274
23275 2008-04-26  Bruno Haible  <bruno@clisp.org>
23276
23277         Fix module 'memchr', broken since 2000-10-28.
23278         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
23279
23280 2008-04-26  Bruno Haible  <bruno@clisp.org>
23281
23282         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
23283         comments.
23284
23285 2008-04-25  Eric Blake  <ebb9@byu.net>
23286
23287         Use native fstatat on cygwin 1.7.0.
23288         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
23289         first.
23290
23291 2008-04-23  Eric Blake  <ebb9@byu.net>
23292
23293         Improve memchr2 performance.
23294         * lib/memchr2.c (memchr2): Further optimize parallel detection of
23295         NUL bytes.
23296         * modules/memchr2 (Depends-on): Use intprops.h.
23297
23298 2008-04-23  Simon Josefsson  <simon@josefsson.org>
23299
23300         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
23301         an inline function instead of a CPP macro.  Patch by Ben Pfaff
23302         <blp@cs.stanford.edu>.
23303
23304 2008-04-23  Simon Josefsson  <simon@josefsson.org>
23305
23306         * lib/arpa_inet.in.h: New file.
23307
23308         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
23309         (Makefile.am): Sed in substitute header file.
23310
23311         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
23312         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
23313
23314         * modules/inet_ntop (configure.ac): Use
23315         gl_ARPA_INET_MODULE_INDICATOR.
23316
23317         * modules/inet_pton (configure.ac): Use
23318         gl_ARPA_INET_MODULE_INDICATOR.
23319
23320 2008-04-22  Jim Meyering  <meyering@redhat.com>
23321
23322         * modules/verify (License): Re-license as LGPLv2+.
23323
23324 2008-04-22  Simon Josefsson  <simon@josefsson.org>
23325
23326         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
23327         parameter to void* as per POSIX standard (MinGW uses char*).
23328
23329 2008-04-21  Bruno Haible  <bruno@clisp.org>
23330
23331         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
23332         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
23333         Define to replacements if REPLACE_ISWCNTRL is 1.
23334         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
23335         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
23336         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
23337         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
23338         what it fixes.
23339         * doc/posix-functions/iswalpha.texi: Likewise.
23340         * doc/posix-functions/iswblank.texi: Likewise.
23341         * doc/posix-functions/iswcntrl.texi: Likewise.
23342         * doc/posix-functions/iswdigit.texi: Likewise.
23343         * doc/posix-functions/iswgraph.texi: Likewise.
23344         * doc/posix-functions/iswlower.texi: Likewise.
23345         * doc/posix-functions/iswprint.texi: Likewise.
23346         * doc/posix-functions/iswpunct.texi: Likewise.
23347         * doc/posix-functions/iswspace.texi: Likewise.
23348         * doc/posix-functions/iswupper.texi: Likewise.
23349         * doc/posix-functions/iswxdigit.texi: Likewise.
23350         Reported by Alain Guibert.
23351
23352 2008-04-21  Bruno Haible  <bruno@clisp.org>
23353
23354         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
23355         Patch by Alain Guibert.
23356
23357 2008-04-21  Bruno Haible  <bruno@clisp.org>
23358
23359         Fix test failures on mingw.
23360         * tests/test-xstrtol.c (print_no_progname): New function.
23361         (main): Install it in error_print_progname hook.
23362         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
23363         * tests/test-xstrtoimax.sh: Likewise.
23364         * tests/test-xstrtoumax.sh: Likewise.
23365
23366 2008-04-21  Bruno Haible  <bruno@clisp.org>
23367
23368         Fix test failure on mingw.
23369         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
23370
23371 2008-04-21  Bruno Haible  <bruno@clisp.org>
23372
23373         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
23374         Actually assign a value.
23375
23376 2008-04-20  Bruno Haible  <bruno@clisp.org>
23377
23378         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
23379         take 2.
23380         * lib/canonicalize.c (canonicalize_file_name): Elide if the
23381         'canonicalize-lgpl' module is also used.
23382         * lib/canonicalize-lgpl.c: Undo last change.
23383         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
23384
23385 2008-04-20  Bruno Haible  <bruno@clisp.org>
23386
23387         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
23388         config.h. Provide _mkdir based fallback for mingw.
23389         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
23390         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
23391         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
23392         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
23393         rather than defining mkdir in config.h.
23394         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
23395         (gl_SYS_STAT_H_DEFAULTS): New macro.
23396         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
23397         HAVE_IO_H any more.
23398         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
23399         HAVE_DECL_MKDIR and HAVE_IO_H.
23400
23401 2008-04-20  Bruno Haible  <bruno@clisp.org>
23402
23403         * lib/isapipe.c: Port to native Windows platforms.
23404
23405 2008-04-20  Bruno Haible  <bruno@clisp.org>
23406
23407         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
23408
23409 2008-04-21  Eric Blake  <ebb9@byu.net>
23410
23411         Work around preprocessors that don't handle UINTMAX_MAX.
23412         * lib/memchr2.c (memchr2): Avoid embedded #if.
23413         Reported by Alain Guibert, fix suggested by Bruno Haible.
23414
23415 2008-04-21  Simon Josefsson  <simon@josefsson.org>
23416
23417         * doc/posix-functions/strftime.texi (strftime): Explain better
23418         Windows incompatibility.  Suggested by Micah Cowan
23419         <micah@cowan.name>.
23420
23421 2008-04-20  Bruno Haible  <bruno@clisp.org>
23422
23423         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
23424         unistr/u8-mblen.
23425
23426 2008-04-20  Bruno Haible  <bruno@clisp.org>
23427
23428         Fix test failure on platforms with non-GNU iconv.
23429         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
23430         (U_TO_U8): Use it, rather than u16_to_u8.
23431         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
23432         units at the end of the input string.
23433         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
23434
23435 2008-04-20  Bruno Haible  <bruno@clisp.org>
23436
23437         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
23438         when the resulting length is 0.
23439         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
23440
23441 2008-04-20  Bruno Haible  <bruno@clisp.org>
23442
23443         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
23444         works.
23445         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
23446
23447 2008-04-20  Bruno Haible  <bruno@clisp.org>
23448
23449         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
23450         * modules/tsearch-tests (configure.ac): Test for initstate function.
23451
23452 2008-04-20  Bruno Haible  <bruno@clisp.org>
23453
23454         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
23455         for nlink_t if missing.
23456         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
23457
23458 2008-04-19  Bruno Haible  <bruno@clisp.org>
23459
23460         Work around snprintf bug on Linux libc5.
23461         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
23462         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
23463         gl_SNPRINTF_SIZE1.
23464         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
23465         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
23466         that test failed.
23467         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
23468         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
23469         * modules/snprintf (Files): Add m4/printf.m4.
23470         * modules/vsnprintf (Files): Likewise.
23471         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
23472         * doc/posix-functions/vsnprintf.texi: Likewise.
23473
23474 2008-04-19  Bruno Haible  <bruno@clisp.org>
23475
23476         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
23477         from 0.0058 to less than 10^-7.
23478
23479 2008-04-19  Bruno Haible  <bruno@clisp.org>
23480
23481         Fix rounding when a precision is given.
23482         * lib/vasnprintf.c (is_borderline): New function.
23483         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
23484         9...9x.
23485         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
23486         %e, %g.
23487         * tests/test-vasprintf-posix.c (test_function): Likewise.
23488         * tests/test-snprintf-posix.h (test_function): Likewise.
23489         * tests/test-sprintf-posix.h (test_function): Likewise.
23490         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
23491         * tests/test-printf-posix.h (test_function): Likewise.
23492         * tests/test-printf-posix.output: Update.
23493         Reported by John Darrington <john@darrington.wattle.id.au> via
23494         Ben Pfaff <blp@cs.stanford.edu>.
23495
23496 2008-04-18  Simon Josefsson  <simon@josefsson.org>
23497
23498         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
23499         Suggested by Bruno Haible <bruno@clisp.org>.
23500
23501 2008-04-17  Bruno Haible  <bruno@clisp.org>
23502
23503         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
23504         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
23505         implementation.
23506         Patch by Bruce Merry <bmerry@gmail.com>.
23507
23508 2008-04-17  Simon Josefsson  <simon@josefsson.org>
23509
23510         * doc/posix-functions/strftime.texi (strftime): Mention that %e
23511         doesn't work under Windows.
23512
23513 2008-04-16  Bruno Haible  <bruno@clisp.org>
23514
23515         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
23516         New macros.
23517         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
23518         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
23519         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
23520         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
23521         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
23522         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
23523         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
23524         macros.
23525         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
23526         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
23527         Northern Sotho, Uighur.
23528
23529 2008-04-16  Bruno Haible  <bruno@clisp.org>
23530
23531         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
23532         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
23533         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
23534         Reported by Daniel Bergström <daniel@octocode.com>.
23535
23536 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
23537             Bruno Haible  <bruno@clisp.org>
23538
23539         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
23540         function.
23541         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
23542         New functions, mostly extracted from gl_locale_name_default.
23543         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
23544
23545 2008-04-16  Eric Blake  <ebb9@byu.net>
23546
23547         Adjust strtod detection to catch glibc 2.7 bug.
23548         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
23549         Reported by John Gatewood Ham.
23550
23551 2008-04-16  Bruno Haible  <bruno@clisp.org>
23552
23553         Add tentative support for Linux libc5.
23554         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
23555         * lib/fpurge.c (fpurge): Likewise.
23556         * lib/freadable.c (freadable): Likewise.
23557         * lib/freadahead.c (freadahead): Likewise.
23558         * lib/freading.c (freading): Likewise.
23559         * lib/freadptr.c (freadptr): Likewise.
23560         * lib/freadseek.c (freadptrinc): Likewise.
23561         * lib/fseeko.c (rpl_fseeko): Likewise.
23562         * lib/fseterr.c (fseterr): Likewise.
23563         * lib/fwritable.c (fwritable): Likewise.
23564         * lib/fwriting.c (fwriting): Likewise.
23565         Reported by Alain Guibert <alguibert+bts@free.fr>.
23566
23567 2008-04-15  Bruno Haible  <bruno@clisp.org>
23568
23569         * modules/mathl (configure.ac): Define module indicator.
23570
23571 2008-04-15  Bruno Haible  <bruno@clisp.org>
23572
23573         * lib/logl.c (logl): Remove unused variables.
23574
23575 2008-04-15  Bruno Haible  <bruno@clisp.org>
23576
23577         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
23578         fails.
23579
23580 2008-04-15  Bruno Haible  <bruno@clisp.org>
23581
23582         * lib/trim.c (trim2): Fix argument of isspace() macro.
23583
23584 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
23585
23586         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
23587         to 0.
23588         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
23589
23590 2008-04-14  Bruno Haible  <bruno@clisp.org>
23591
23592         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
23593         AC_LANG_PROGRAM argument.
23594         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
23595         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
23596         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23597         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
23598         * m4/math_h.m4 (gl_MATH_H): Likewise.
23599         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
23600         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23601         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
23602         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
23603         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23604         * m4/regex.m4 (gl_REGEX): Likewise.
23605         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
23606         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
23607         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23608         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
23609         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
23610         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23611         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23612         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
23613
23614 2008-04-14  Jim Meyering  <meyering@redhat.com>
23615
23616         test-strtod: fix typos: s/abs/fabs/
23617         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
23618
23619 2008-04-13  Bruno Haible  <bruno@clisp.org>
23620
23621         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
23622         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
23623         module is also used and while not building the reloc-wrapper.
23624
23625 2008-04-13  Bruno Haible  <bruno@clisp.org>
23626
23627         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
23628
23629 2008-04-13  Bruno Haible  <bruno@clisp.org>
23630
23631         Fix AIX compilation failure introduced on 2008-04-02.
23632         * tests/test-frexp.c (exp): Undefine before redefining.
23633         * tests/test-frexpl.c (exp): Likewise.
23634
23635 2008-04-13  Bruno Haible  <bruno@clisp.org>
23636
23637         Work around a HP-UX stdio bug.
23638         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
23639         * tests/test-ftello.c (main): Likewise.
23640         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
23641         * doc/posix-functions/ftello.texi: Likewise.
23642
23643 2008-04-13  Bruno Haible  <bruno@clisp.org>
23644
23645         Make test-signbit pass on HP-UX/hppa.
23646         * tests/test-signbit.c (minus_zerol): New variable.
23647         (test_signbitl): Use it.
23648
23649 2008-04-13  Bruno Haible  <bruno@clisp.org>
23650
23651         Make truncl work on OSF/1 4.0.
23652         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
23653         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
23654         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
23655         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
23656         HAVE_DECL_TRUNCL.
23657         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
23658         HAVE_DECL_TRUNCL.
23659         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
23660
23661 2008-04-13  Bruno Haible  <bruno@clisp.org>
23662
23663         * lib/unictype.h: Remove trailing comma from enumeration definitions.
23664
23665 2008-04-13  Bruno Haible  <bruno@clisp.org>
23666
23667         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
23668         expression, so as to avoid HP-UX 11 cc compiler bug.
23669
23670 2008-04-13  Bruno Haible  <bruno@clisp.org>
23671
23672         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
23673
23674 2008-04-13  Bruno Haible  <bruno@clisp.org>
23675
23676         * lib/git-merge-changelog.c: Remove empty declaration outside of
23677         functions.
23678
23679 2008-04-13  Bruno Haible  <bruno@clisp.org>
23680
23681         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
23682
23683 2008-04-13  Bruno Haible  <bruno@clisp.org>
23684
23685         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
23686         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
23687         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
23688         also if it exists but lacks definitions of the SHUT_* macros.
23689         * modules/sys_socket (Description): Update.
23690         Reported by Elbert Pol <e.pol@chello.nl>.
23691
23692 2008-04-13  Bruno Haible  <bruno@clisp.org>
23693
23694         * lib/localcharset.c (OS2): Don't redefine if already defined.
23695         Reported by Elbert Pol <e.pol@chello.nl>.
23696
23697 2008-04-13  Bruno Haible  <bruno@clisp.org>
23698
23699         * lib/binary-io.h [__EMX__]: Include <io.h>.
23700         Reported by Elbert Pol <e.pol@chello.nl>.
23701
23702 2008-04-12  Bruno Haible  <bruno@clisp.org>
23703
23704         * lib/fpucw.h: Enable the definitions also for x86_64.
23705         Needed for NetBSD/x86_64.
23706         Reported by Thomas Klausner <tk@giga.or.at>.
23707
23708 2008-04-12  Bruno Haible  <bruno@clisp.org>
23709
23710         * tests/test-strtod.c: Include isnand.h.
23711         (main): Use isnand instead of isnan.
23712         Reported by Jim Meyering.
23713
23714 2008-04-12  Bruno Haible  <bruno@clisp.org>
23715
23716         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
23717         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
23718
23719 2008-04-12  Jim Meyering  <meyering@redhat.com>
23720
23721         * m4/math_h.m4 (gl_MATH_H): Fix typos.
23722
23723 2008-04-12  Bruno Haible  <bruno@clisp.org>
23724
23725         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
23726         Reported by Elbert Pol <e.pol@chello.nl>.
23727
23728 2008-04-12  Eric Blake  <ebb9@byu.net>
23729
23730         Work around Solaris 10 math.h bug.
23731         * m4/math_h.m4 (gl_MATH_H): Check for bug.
23732         (gl_MATH_H_DEFAULTS): Set up default.
23733         * modules/math (Makefile.am): Replace new indicators.
23734         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
23735         * tests/test-math.c (main): Test this.
23736         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
23737         * doc/posix-headers/math.texi (math.h): Mention bug.
23738         Reported by Nelson H. F. Beebe and Jim Meyering.
23739
23740 2008-04-11  Bruno Haible  <bruno@clisp.org>
23741
23742         Adapt to future versions of Apple GCC.
23743         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
23744         Reported by Peter O'Gorman <peter@pogma.com>.
23745
23746 2008-04-11  Bruno Haible  <bruno@clisp.org>
23747
23748         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
23749
23750 2008-04-11  Bruno Haible  <bruno@clisp.org>
23751
23752         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
23753
23754         * modules/getaddrinfo-tests (Makefile.am): Define
23755         test_getaddrinfo_LDADD.
23756
23757 2008-04-11  Bruno Haible  <bruno@clisp.org>
23758
23759         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
23760         (init): Fix syntax error.
23761         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
23762         is declared.
23763
23764 2008-04-11  Bruno Haible  <bruno@clisp.org>
23765
23766         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
23767         * modules/glob (Depends-on): Add stdbool.
23768
23769 2008-04-11  Bruno Haible  <bruno@clisp.org>
23770
23771         * lib/trim.c: Include <string.h>.
23772
23773 2008-04-11  Eric Blake  <ebb9@byu.net>
23774
23775         Avoid compile failure on OS/2.
23776         * lib/regex_internal.h (internal_function): Disable optimization
23777         on OS/2 (__EMX__), where it caused compiler error.
23778         Reported by Elbert Pol.
23779
23780 2008-04-11  Bruno Haible  <bruno@clisp.org>
23781
23782         Flush the standard error stream before aborting. Needed on mingw.
23783         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
23784         * tests/test-array_list.c (ASSERT): Likewise.
23785         * tests/test-array_oset.c (ASSERT): Likewise.
23786         * tests/test-avltree_list.c (ASSERT): Likewise.
23787         * tests/test-avltree_oset.c (ASSERT): Likewise.
23788         * tests/test-avltreehash_list.c (ASSERT): Likewise.
23789         * tests/test-binary-io.c (ASSERT): Likewise.
23790         * tests/test-byteswap.c (ASSERT): Likewise.
23791         * tests/test-c-ctype.c (ASSERT): Likewise.
23792         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
23793         * tests/test-c-strcasestr.c (ASSERT): Likewise.
23794         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
23795         * tests/test-c-strstr.c (ASSERT): Likewise.
23796         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
23797         * tests/test-canonicalize.c (ASSERT): Likewise.
23798         * tests/test-carray_list.c (ASSERT): Likewise.
23799         * tests/test-ceilf1.c (ASSERT): Likewise.
23800         * tests/test-ceilf2.c (ASSERT): Likewise.
23801         * tests/test-ceill.c (ASSERT): Likewise.
23802         * tests/test-count-one-bits.c (ASSERT): Likewise.
23803         * tests/test-fbufmode.c (ASSERT): Likewise.
23804         * tests/test-fflush2.c (ASSERT): Likewise.
23805         * tests/test-floorf1.c (ASSERT): Likewise.
23806         * tests/test-floorf2.c (ASSERT): Likewise.
23807         * tests/test-floorl.c (ASSERT): Likewise.
23808         * tests/test-fopen.c (ASSERT): Likewise.
23809         * tests/test-fpending.c (ASSERT): Likewise.
23810         * tests/test-fprintf-posix.c (ASSERT): Likewise.
23811         * tests/test-fpurge.c (ASSERT): Likewise.
23812         * tests/test-freadable.c (ASSERT): Likewise.
23813         * tests/test-freadahead.c (ASSERT): Likewise.
23814         * tests/test-freading.c (ASSERT): Likewise.
23815         * tests/test-freadptr.c (ASSERT): Likewise.
23816         * tests/test-freadptr2.c (ASSERT): Likewise.
23817         * tests/test-freadseek.c (ASSERT): Likewise.
23818         * tests/test-freopen.c (ASSERT): Likewise.
23819         * tests/test-frexp.c (ASSERT): Likewise.
23820         * tests/test-frexpl.c (ASSERT): Likewise.
23821         * tests/test-fseek.c (ASSERT): Likewise.
23822         * tests/test-fseeko.c (ASSERT): Likewise.
23823         * tests/test-fstrcmp.c (ASSERT): Likewise.
23824         * tests/test-ftell.c (ASSERT): Likewise.
23825         * tests/test-ftello.c (ASSERT): Likewise.
23826         * tests/test-func.c (ASSERT): Likewise.
23827         * tests/test-fwritable.c (ASSERT): Likewise.
23828         * tests/test-fwriting.c (ASSERT): Likewise.
23829         * tests/test-getdelim.c (ASSERT): Likewise.
23830         * tests/test-getline.c (ASSERT): Likewise.
23831         * tests/test-i-ring.c (ASSERT): Likewise.
23832         * tests/test-iconv-utf.c (ASSERT): Likewise.
23833         * tests/test-iconv.c (ASSERT): Likewise.
23834         * tests/test-isfinite.c (ASSERT): Likewise.
23835         * tests/test-isnand.c (ASSERT): Likewise.
23836         * tests/test-isnanf.c (ASSERT): Likewise.
23837         * tests/test-isnanl.h (ASSERT): Likewise.
23838         * tests/test-ldexpl.c (ASSERT): Likewise.
23839         * tests/test-linked_list.c (ASSERT): Likewise.
23840         * tests/test-linkedhash_list.c (ASSERT): Likewise.
23841         * tests/test-localename.c (ASSERT): Likewise.
23842         * tests/test-lseek.c (ASSERT): Likewise.
23843         * tests/test-mbscasecmp.c (ASSERT): Likewise.
23844         * tests/test-mbscasestr1.c (ASSERT): Likewise.
23845         * tests/test-mbscasestr2.c (ASSERT): Likewise.
23846         * tests/test-mbscasestr3.c (ASSERT): Likewise.
23847         * tests/test-mbscasestr4.c (ASSERT): Likewise.
23848         * tests/test-mbschr.c (ASSERT): Likewise.
23849         * tests/test-mbscspn.c (ASSERT): Likewise.
23850         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
23851         * tests/test-mbspbrk.c (ASSERT): Likewise.
23852         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
23853         * tests/test-mbsrchr.c (ASSERT): Likewise.
23854         * tests/test-mbsspn.c (ASSERT): Likewise.
23855         * tests/test-mbsstr1.c (ASSERT): Likewise.
23856         * tests/test-mbsstr2.c (ASSERT): Likewise.
23857         * tests/test-mbsstr3.c (ASSERT): Likewise.
23858         * tests/test-memchr2.c (ASSERT): Likewise.
23859         * tests/test-memmem.c (ASSERT): Likewise.
23860         * tests/test-open.c (ASSERT): Likewise.
23861         * tests/test-printf-frexp.c (ASSERT): Likewise.
23862         * tests/test-printf-frexpl.c (ASSERT): Likewise.
23863         * tests/test-printf-posix.c (ASSERT): Likewise.
23864         * tests/test-quotearg.c (ASSERT): Likewise.
23865         * tests/test-rbtree_list.c (ASSERT): Likewise.
23866         * tests/test-rbtree_oset.c (ASSERT): Likewise.
23867         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
23868         * tests/test-round1.c (ASSERT): Likewise.
23869         * tests/test-roundf1.c (ASSERT): Likewise.
23870         * tests/test-roundl.c (ASSERT): Likewise.
23871         * tests/test-signbit.c (ASSERT): Likewise.
23872         * tests/test-sleep.c (ASSERT): Likewise.
23873         * tests/test-snprintf-posix.c (ASSERT): Likewise.
23874         * tests/test-snprintf.c (ASSERT): Likewise.
23875         * tests/test-sprintf-posix.c (ASSERT): Likewise.
23876         * tests/test-stat-time.c (ASSERT): Likewise.
23877         * tests/test-strcasestr.c (ASSERT): Likewise.
23878         * tests/test-strerror.c (ASSERT): Likewise.
23879         * tests/test-striconv.c (ASSERT): Likewise.
23880         * tests/test-striconveh.c (ASSERT): Likewise.
23881         * tests/test-striconveha.c (ASSERT): Likewise.
23882         * tests/test-strsignal.c (ASSERT): Likewise.
23883         * tests/test-strstr.c (ASSERT): Likewise.
23884         * tests/test-strtod.c (ASSERT): Likewise.
23885         * tests/test-trunc1.c (ASSERT): Likewise.
23886         * tests/test-trunc2.c (ASSERT): Likewise.
23887         * tests/test-truncf1.c (ASSERT): Likewise.
23888         * tests/test-truncf2.c (ASSERT): Likewise.
23889         * tests/test-truncl.c (ASSERT): Likewise.
23890         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
23891         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
23892         * tests/test-vasnprintf.c (ASSERT): Likewise.
23893         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
23894         * tests/test-vasprintf.c (ASSERT): Likewise.
23895         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
23896         * tests/test-vprintf-posix.c (ASSERT): Likewise.
23897         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
23898         * tests/test-vsnprintf.c (ASSERT): Likewise.
23899         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
23900         * tests/test-wcwidth.c (ASSERT): Likewise.
23901         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
23902         * tests/test-xprintf-posix.c (ASSERT): Likewise.
23903         * tests/test-xvasprintf.c (ASSERT): Likewise.
23904         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
23905         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
23906         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
23907         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
23908         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
23909         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
23910         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
23911         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
23912         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
23913         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
23914         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
23915         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
23916         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
23917         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
23918         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
23919         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
23920         * tests/unictype/test-block_list.c (ASSERT): Likewise.
23921         * tests/unictype/test-block_of.c (ASSERT): Likewise.
23922         * tests/unictype/test-block_test.c (ASSERT): Likewise.
23923         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
23924         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
23925         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
23926         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
23927         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
23928         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
23929         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
23930         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
23931         * tests/unictype/test-combining.c (ASSERT): Likewise.
23932         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
23933         * tests/unictype/test-digit.c (ASSERT): Likewise.
23934         * tests/unictype/test-mirror.c (ASSERT): Likewise.
23935         * tests/unictype/test-numeric.c (ASSERT): Likewise.
23936         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
23937         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
23938         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
23939         * tests/unictype/test-scripts.c (ASSERT): Likewise.
23940         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
23941         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
23942         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
23943         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
23944         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
23945         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
23946         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
23947         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
23948         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
23949         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
23950         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
23951         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
23952         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
23953         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
23954         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
23955         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
23956         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
23957         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
23958         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
23959         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
23960         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
23961         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
23962         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
23963         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
23964         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
23965         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
23966         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
23967         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
23968         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
23969         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
23970         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
23971         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
23972         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
23973         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
23974         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
23975         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
23976         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
23977         Reported by Eric Blake.
23978
23979 2008-04-11  Bruno Haible  <bruno@clisp.org>
23980
23981         * lib/wchar.in.h: Tweak comment.
23982
23983 2008-04-11  Bruno Haible  <bruno@clisp.org>
23984
23985         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
23986         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
23987         gl_COMMON.
23988         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
23989
23990 2008-04-11  Bruno Haible  <bruno@clisp.org>
23991
23992         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
23993
23994 2008-04-11  Simon Josefsson  <simon@josefsson.org>
23995
23996         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
23997         of attempting to use non-existing /dev/*random.  Based on patch
23998         from Adam Strzelecki <ono@java.pl> in
23999         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
24000
24001 2008-04-08  Bruno Haible  <bruno@clisp.org>
24002
24003         Add tentative support for emx+gcc.
24004         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
24005         * lib/fpurge.c (fpurge): Likewise.
24006         * lib/freadable.c (freadable): Likewise.
24007         * lib/freadahead.c (freadahead): Likewise.
24008         * lib/freading.c (freading): Likewise.
24009         * lib/freadptr.c (freadptr): Likewise.
24010         * lib/freadseek.c (freadptrinc): Likewise.
24011         * lib/fseeko.c (rpl_fseeko): Likewise.
24012         * lib/fseterr.c (fseterr): Likewise.
24013         * lib/fwritable.c (fwritable): Likewise.
24014         * lib/fwriting.c (fwriting): Likewise.
24015         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
24016
24017 2008-04-09  Eric Blake  <ebb9@byu.net>
24018
24019         Avoid some autoconf warnings.
24020         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
24021         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
24022         * m4/afs.m4 (gl_AFS): Likewise.
24023         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
24024         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
24025         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
24026         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
24027         (gl_INTEGER_TYPE_SUFFIX): Likewise.
24028         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
24029         (AC_CHECK_DECLS_ONCE): Likewise.
24030         Rename file...
24031         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
24032         gnulib-tool requires autoconf 2.59 or better.
24033         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
24034
24035 2008-04-08  Eric Blake  <ebb9@byu.net>
24036
24037         Use 'git describe --match' if present (added in git 1.5.5).
24038         * build-aux/git-version-gen: Limit result to tags that match 'v*'
24039         if possible.
24040
24041 2008-04-08  Bruno Haible  <bruno@clisp.org>
24042
24043         Add tentative support for OpenServer.
24044         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
24045         _ptr, _cnt.
24046         * lib/fpurge.c (fpurge): Likewise.
24047         * lib/freadable.c (freadable): Likewise.
24048         * lib/freadahead.c (freadahead): Likewise.
24049         * lib/freading.c (freading): Likewise.
24050         * lib/freadptr.c (freadptr): Likewise.
24051         * lib/freadseek.c (freadptrinc): Likewise.
24052         * lib/fseeko.c (rpl_fseeko): Likewise.
24053         * lib/fseterr.c (fseterr): Likewise.
24054         * lib/fwritable.c (fwritable): Likewise.
24055         * lib/fwriting.c (fwriting): Likewise.
24056         Reported by Roger Cornelius <rac@tenzing.org> and
24057         Brian K. White <brian@aljex.com>.
24058
24059 2008-04-06  Jim Meyering  <meyering@redhat.com>
24060
24061         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
24062
24063 2008-04-06  Bruno Haible  <bruno@clisp.org>
24064
24065         Avoid possible error with non-ASCII bytes in UTF-8 locales.
24066         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
24067         * tests/test-printf-posix.sh: Likewise.
24068         * tests/test-vfprintf-posix.sh: Likewise.
24069         * tests/test-vprintf-posix.sh: Likewise.
24070         * tests/test-xprintf-posix.sh: Likewise.
24071
24072 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24073
24074         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
24075         hide error from 'ls', needed on OS/2.
24076         Report by Elbert Pol <elbert.pol@gmail.com>.
24077
24078 2008-04-04  Eric Blake  <ebb9@byu.net>
24079
24080         Make test-fseeko.c failures meaningful.
24081         * tests/test-fseeko.c: Print line number on failure.
24082         * tests/test-fseek.c: Likewise.
24083         Reported by Nelson H. F. Beebe.
24084
24085         Improve strtod bug detection check.
24086         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
24087         required for Solaris 10.
24088         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
24089
24090 2008-04-04  Bruno Haible  <bruno@clisp.org>
24091
24092         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
24093         by m4/setenv.m4.
24094
24095 2008-04-03  Eric Blake  <ebb9@byu.net>
24096
24097         Ensure sane .version contents.
24098         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
24099         version string.
24100         * build-aux/git-version-gen: Improve documentation.
24101
24102         Make GNU make output nicer.
24103         * top/GNUmakefile [!_have-Makefile]: Add dependency on
24104         MAKECMDGOALS to enforce message for all command line targets.  Set
24105         srcdir for use in maint.mk.
24106
24107         Another maintainer tweak.
24108         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
24109         a target that regenerates version.
24110
24111 2008-04-03  Jim Meyering  <meyering@redhat.com>
24112
24113         vc-list-files: don't cause coreutils "make po-check" failure
24114         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
24115
24116 2008-04-03  Eric Blake  <ebb9@byu.net>
24117
24118         Allow VPATH usage of vc-list-files.
24119         * build-aux/vc-list-files (scriptversion): Add timestamp.
24120         (options): Add --help, --version, -C.
24121         (CVS): Support installed cvsu.
24122
24123 2008-04-02  Bruno Haible  <bruno@clisp.org>
24124
24125         Avoid some "statement with no effect" warnings from gcc.
24126         * tests/test-wctype.c (main): Explicitly ignore unused values.
24127         Reported by Jim Meyering.
24128
24129 2008-04-02  Jim Meyering  <meyering@redhat.com>
24130
24131         Avoid some warnings from "gcc -Wshadow".
24132         * tests/test-frexp.c (exp): Define to a different identifier.
24133         * tests/test-frexpl.c (exp): Likewise.
24134
24135 2008-04-03  Jim Meyering  <meyering@redhat.com>
24136
24137         bootstrap: remove dangling *.[ch] symlinks from lib
24138         * build-aux/bootstrap [dangling symlink removal]: Move find's
24139         -depth option to precede all others, to avoid a warning.
24140         Remove *.[ch] files too, and from "$source_base" (usually lib/).
24141
24142 2008-04-02  Bruno Haible  <bruno@clisp.org>
24143
24144         Avoid some warnings from "gcc -Wshadow".
24145         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
24146         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
24147         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
24148         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
24149         Reported by Jim Meyering.
24150
24151 2008-04-01  Bruno Haible  <bruno@clisp.org>
24152
24153         Fix test to work on IRIX 6.5 with cc.
24154         * tests/test-math.c (numeric_equal): New function.
24155         (main): Use it.
24156
24157 2008-04-01  Bruno Haible  <bruno@clisp.org>
24158
24159         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
24160
24161 2008-04-01  Bruno Haible  <bruno@clisp.org>
24162
24163         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
24164         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
24165         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
24166         (Depends-on): Remove math.
24167
24168         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
24169         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
24170         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
24171         (Depends-on): Remove math.
24172
24173         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
24174         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
24175         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
24176         (Depends-on): Remove math.
24177         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
24178         (Depends-on): Remove math.
24179
24180         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
24181         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
24182         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
24183         (Depends-on): Remove math.
24184         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
24185         (Depends-on): Remove math.
24186
24187         * tests/test-round1.c: Include nan.h.
24188         (main): Use NaNd instead of NAN.
24189         * modules/round-tests (Files): Add tests/nan.h.
24190
24191         * tests/test-trunc1.c: Include nan.h.
24192         (main): Use NaNd instead of NAN.
24193         * modules/trunc-tests (Files): Add tests/nan.h.
24194
24195         * tests/test-roundf1.c: Include nan.h.
24196         (main): Use NaNf instead of NAN.
24197         * modules/roundf-tests (Files): Add tests/nan.h.
24198
24199         * tests/test-truncf1.c: Include nan.h.
24200         (main): Use NaNf instead of NAN.
24201         * modules/truncf-tests (Files): Add tests/nan.h.
24202
24203         * tests/test-ceilf1.c: Include nan.h.
24204         (main): Use NaNf instead of NAN.
24205         * modules/ceilf-tests (Files): Add tests/nan.h.
24206
24207         * tests/test-floorf1.c: Include nan.h.
24208         (main): Use NaNf instead of NAN.
24209         * modules/floorf-tests (Files): Add tests/nan.h.
24210
24211         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
24212         (main): Use NaNf instead of NAN.
24213         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
24214
24215         * tests/test-isnand.c: Include nan.h instead of <math.h>.
24216         (main): Use NaNd instead of NAN.
24217         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
24218
24219         * tests/test-frexp.c: Include nan.h.
24220         (main): Use NaNd instead of NAN.
24221         * modules/frexp-tests (Files): Add tests/nan.h.
24222
24223         * lib/isnan.c: Don't include <math.h>.
24224         (FUNC): Don't use NAN macro.
24225         * modules/isnand-nolibm (Depends-on): Remove math.
24226         * modules/isnanf-nolibm (Depends-on): Remove math.
24227         * modules/isnanl (Depends-on): Remove math.
24228         * modules/isnanl-nolibm (Depends-on): Remove math.
24229
24230         * tests/nan.h: New file.
24231
24232 2008-04-01  Eric Blake  <ebb9@byu.net>
24233
24234         Fix typos.
24235         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
24236         values to be the right type.
24237
24238         For now, cater to gnulib strtod inaccuracies.
24239         * tests/test-strtod.c (main): Allow 1-ulp error on expected
24240         fractional results.  While not as nice from a QoI perspective, it
24241         is a quicker patch than correctly implementing decimal to binary
24242         rounding.
24243
24244 2008-03-31  Eric Blake  <ebb9@byu.net>
24245
24246         Guarantee a definition of NAN.
24247         * lib/math.in.h (NAN): Define if missing.
24248         * tests/test-math.c (main): Test it.
24249         * doc/posix-headers/math.texi (math.h): Document this.
24250         * lib/isnan.c (rpl_isnand): Use it.
24251         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
24252         * tests/test-floorf1.c (NaN): Likewise.
24253         * tests/test-frexp.c (NaN): Likewise.
24254         * tests/test-isnand.c (NaN): Likewise.
24255         * tests/test-isnanf.c (NaN): Likewise.
24256         * tests/test-round1.c (NaN): Likewise.
24257         * tests/test-roundf1.c (NaN): Likewise.
24258         * tests/test-snprintf-posix.h (NaN): Likewise.
24259         * tests/test-sprintf-posix.h (NaN): Likewise.
24260         * tests/test-trunc1.c (NaN): Likewise.
24261         * tests/test-truncf1.c (NaN): Likewise.
24262         * tests/test-vasnprintf-posix.c (NaN): Likewise.
24263         * tests/test-vasprintf-posix.c (NaN): Likewise.
24264         * modules/isnand-nolibm (Depends-on): Add math.
24265         * modules/isnanf-nolibm (Depends-on): Likewise.
24266         * modules/isnanl (Depends-on): Likewise.
24267         * modules/isnanl-nolibm (Depends-on): Likewise.
24268         * modules/snprintf-posix-tests (Depends-on): Likewise.
24269         * modules/sprintf-posix-tests (Depends-on): Likewise.
24270         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
24271         * modules/vsprintf-posix-tests (Depends-on): Likewise.
24272         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
24273         * modules/vasprintf-posix-tests (Depends-on): Likewise.
24274
24275 2008-03-31  Bruno Haible  <bruno@clisp.org>
24276
24277         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
24278         * doc/posix-functions/strtod.texi: Likewise.
24279
24280 2008-03-31  Bruno Haible  <bruno@clisp.org>
24281
24282         * tests/test-strtod.c (main): Don't use C99 syntax.
24283
24284 2008-03-31  Bruno Haible  <bruno@clisp.org>
24285
24286         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
24287         Reported by Eric Blake.
24288
24289 2008-03-31  Jim Meyering  <meyering@redhat.com>
24290
24291         Don't compare actual signbit return values.
24292         * tests/test-strtod.c (main): Rather, compare only their
24293         zero/non-zero nature.
24294
24295 2008-03-31  Eric Blake  <ebb9@byu.net>
24296
24297         More strtod documentation.
24298         * doc/posix-functions/strtod.texi (strtod): Interpret more test
24299         failures as distinct bugs.
24300
24301 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
24302
24303         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
24304         Problem reported by Erik Benada in
24305         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
24306
24307 2008-03-30  Bruno Haible  <bruno@clisp.org>
24308
24309         * tests/test-strtod.c: Add comments about which assertion fails on which
24310         platform.
24311         * doc/posix-functions/strtod.texi: Add info about many more platforms.
24312
24313 2008-03-30  Eric Blake  <ebb9@byu.net>
24314
24315         Test signbit behavior on zeros.
24316         * tests/test-signbit.c (test_signbitf): Add tests for zero.
24317         (test_signbitd, test_signbitl): Likewise.
24318
24319         More strtod touchups.
24320         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
24321         sign of negative underflow, for now.  Use .5, not .1.
24322         * doc/posix-functions/strtod.texi (strtod): Mention these
24323         limitations.
24324         Reported by Jim Meyering.
24325
24326 2008-03-30  Bruno Haible  <bruno@clisp.org>
24327
24328         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
24329         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
24330
24331 2008-03-30  Bruno Haible  <bruno@clisp.org>
24332
24333         Avoid failure when attempting to return empty iconv results on some
24334         platforms.
24335         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
24336         allocation, don't report ENOMEM when the resulting string is empty.
24337
24338 2008-03-30  Bruno Haible  <bruno@clisp.org>
24339
24340         Fix buffer overrun.
24341         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
24342         Don't consider the width for tmp_length. Check count against tmp_length
24343         before doing the padding. Ensure enough allocation during padding.
24344
24345 2008-03-30  Eric Blake  <ebb9@byu.net>
24346
24347         strtod touchups.
24348         * lib/strtod.c (strtod): Avoid compiler warnings.
24349         Reported by Jim Meyering.
24350
24351 2008-03-30  Bruno Haible  <bruno@clisp.org>
24352
24353         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
24354         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
24355         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
24356         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
24357         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
24358         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
24359         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
24360         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
24361
24362         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
24363         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
24364         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
24365         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
24366         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
24367         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
24368         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
24369         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
24370
24371         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
24372         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
24373         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
24374         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
24375         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
24376         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
24377         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
24378         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
24379
24380         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
24381         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
24382
24383         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
24384         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
24385
24386         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
24387         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
24388
24389         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
24390         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
24391         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
24392
24393         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
24394         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
24395         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
24396
24397         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
24398         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
24399         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
24400
24401         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
24402         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
24403         * modules/vasprintf (Depends-on): Add EOVERFLOW.
24404
24405         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
24406         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
24407         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
24408         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
24409         (Depends-on): Add EOVERFLOW.
24410         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
24411         (Depends-on): Add EOVERFLOW.
24412         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
24413         (Depends-on): Add EOVERFLOW.
24414         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
24415         (Depends-on): Add EOVERFLOW.
24416         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
24417         (Depends-on): Add EOVERFLOW.
24418         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
24419         (Depends-on): Add EOVERFLOW.
24420         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
24421         (Depends-on): Add EOVERFLOW.
24422         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
24423         (Depends-on): Add EOVERFLOW.
24424
24425         * lib/sprintf.c (EOVERFLOW): Remove fallback.
24426         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
24427         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
24428
24429         * lib/snprintf.c (EOVERFLOW): Remove fallback.
24430         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
24431         * modules/snprintf (Depends-on): Add EOVERFLOW.
24432
24433         * lib/poll.c (EOVERFLOW): Remove fallback.
24434         * modules/poll (Depends-on): Add EOVERFLOW.
24435
24436         * lib/getugroups.c (EOVERFLOW): Remove fallback.
24437         * modules/getugroups (Depends-on): Add EOVERFLOW.
24438
24439         * lib/getdelim.c (EOVERFLOW): Remove fallback.
24440         * modules/getdelim (Depends-on): Add EOVERFLOW.
24441
24442         * lib/ftell.c (EOVERFLOW): Remove fallback.
24443         * modules/ftell (Depends-on): Add EOVERFLOW.
24444
24445         * lib/fprintf.c (EOVERFLOW): Remove fallback.
24446         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
24447         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
24448
24449         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
24450
24451         * modules/EOVERFLOW-tests: New file.
24452         * tests/test-EOVERFLOW.c: New file.
24453
24454         * modules/EOVERFLOW: New file.
24455         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
24456
24457 2008-03-30  Bruno Haible  <bruno@clisp.org>
24458
24459         Fix bug introduced on 2007-06-10.
24460         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
24461         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
24462
24463 2008-03-30  Bruno Haible  <bruno@clisp.org>
24464
24465         Improve freadseek's efficiency after ungetc.
24466         * lib/freadseek.c: Include freadahead.h.
24467         (freadptrinc): New function, extracted from freadseek.
24468         (freadseek): Use it in a loop. Use freadahead to determine the number
24469         of loop iterations.
24470         * modules/freadseek (Depends-on): Add freadahead.
24471         (configure.ac): Require AC_C_INLINE.
24472
24473 2008-03-30  Bruno Haible  <bruno@clisp.org>
24474
24475         * lib/freadseek.c (freadseek): Don't ignore the return value of
24476         freadptr.
24477
24478 2008-03-29  Eric Blake  <ebb9@byu.net>
24479
24480         Add hex float support.
24481         * modules/strtod (Depends-on): Add c-ctype.
24482         (Link): Mention POW_LIB.
24483         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
24484         whitespace between 'e' and exponent.
24485         * tests/test-strtod.c (main): Enable hex float tests.
24486         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
24487         now provides.
24488
24489         Document various strtod bugs, with some fixes.
24490         * doc/posix-functions/strtod.texi (strtod): Document bugs with
24491         "-0x", "inf", "nan", and hex constants.
24492         * doc/posix-functions/atof.texi (atof): Likewise.
24493         * modules/stdlib (Makefile.am): Support strtod.
24494         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
24495         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
24496         detect additional strtod bugs.
24497         * lib/stdlib.in.h (rpl_strtod): Add declarations.
24498         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
24499         bool where appropriate.  Parse 'inf' and 'nan'.
24500         * tests/test-strtod.c: New file.
24501         * modules/strtod (Depends-on): Add stdbool, stdlib.
24502         (configure.ac): Turn on module indicator.
24503         * modules/strtod-tests: New module.
24504
24505 2008-03-29  Eric Blake  <ebb9@byu.net>
24506
24507         Fix ftell on mingw.
24508         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
24509         * modules/ftell-tests (Depends-on): Add binary-io.
24510         * modules/ftello-tests (Depends-on): Likewise.
24511         * tests/test-ftell.c (main): Enhance test to cover behavior after
24512         ungetc.  Enforce binary mode.
24513         * tests/test-ftello.c (main): Likewise.
24514
24515         Pass test-freadseek on cygwin.
24516         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
24517         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
24518         ungetc buffer.
24519
24520         * tests/test-fflush2.c (main): Fix typo.
24521
24522 2008-03-29  Bruno Haible  <bruno@clisp.org>
24523
24524         * tests/test-fflush2.c (main): Temporarily disable the contents of
24525         this test.
24526         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
24527         Reported by Eric Blake.
24528
24529 2008-03-28  Simon Josefsson  <simon@josefsson.org>
24530
24531         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
24532         (GC_SHA224_DIGEST_SIZE): Add.
24533
24534         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
24535         (gc_hash_digest_length): Likewise.
24536         (gc_hash_buffer): Likewise.
24537
24538 2008-03-25  Bruno Haible  <bruno@clisp.org>
24539
24540         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
24541         detail which gettext release to use.
24542         Reported by Simon Josefsson.
24543
24544 2008-03-26  Jim Meyering  <meyering@redhat.com>
24545
24546         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
24547         * modules/gnumakefile (clean-GNUmakefile): Also, use
24548         test ... && ... || : syntax rather than if-then ... fi.
24549
24550         gnumakefile: Don't double-quote-expand $(VPATH) value.
24551         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
24552
24553 2008-03-24  Eric Blake  <ebb9@byu.net>
24554
24555         Alter GNUmakefile to install into top directory.
24556         * modules/maintainer-makefile: Split, and add dependency...
24557         * modules/gnumakefile: to this new module.
24558         * build-aux/GNUmakefile: Move...
24559         * top/GNUmakefile: ...here.
24560         * build-aux/maint.mk: Move...
24561         * top/maint.mk: ...here.
24562         * MODULES.html.sh (Support for maintaining...): Document new
24563         module.
24564
24565 2008-03-23  Bruno Haible  <bruno@clisp.org>
24566
24567         * gnulib-tool: New options --vc-files, --no-vc-files.
24568         (func_usage): Document them.
24569         (vc_files): New variable.
24570         (func_import): Consider vc_files.
24571         (func_create_testdir): Set vc_files to empty.
24572         Suggested by Jim Meyering and Karl Berry.
24573
24574 2008-03-23  Bruno Haible  <bruno@clisp.org>
24575
24576         Fix regex compilation error on HP-UX 11.
24577         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
24578         * modules/regex (Files): Add m4/mbstate_t.m4.
24579         Reported by Ton Voon <ton.voon@altinity.com>.
24580
24581 2008-03-23  Bruno Haible  <bruno@clisp.org>
24582
24583         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
24584
24585 2008-03-23  Eric Blake  <ebb9@byu.net>
24586             Bruno Haible  <bruno@clisp.org>
24587
24588         Install files from top/ in the destination directory.
24589         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
24590         augmentation also for the files from top/.
24591         (func_import, func_create_testdir): Rewrite file names:
24592         top/filename -> filename.
24593
24594 2008-03-23  Bruno Haible  <bruno@clisp.org>
24595
24596         Tweak "gnulib --version" output.
24597         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
24598
24599 2008-03-23  Bruno Haible  <bruno@clisp.org>
24600
24601         Tweak "gnulib --version" output.
24602         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
24603         rather than contents of ChangeLog, when possible.
24604
24605 2008-03-21  Eric Blake  <ebb9@byu.net>
24606
24607         More --version tweaks.
24608         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
24609         date of last ChangeLog entry.
24610
24611 2008-03-21  Jim Meyering  <meyering@redhat.com>
24612
24613         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
24614
24615 2008-03-20  Eric Blake  <ebb9@byu.net>
24616
24617         VPATH fix.
24618         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
24619
24620 2008-03-20  Simon Josefsson  <simon@josefsson.org>
24621
24622         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
24623         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
24624
24625 2008-03-20  Eric Blake  <ebb9@byu.net>
24626
24627         Sync GNUmakefile with coreutils.
24628         * build-aux/GNUmakefile (have-Makefile): Rename...
24629         (_have-Makefile): ...to this, for namespace consideration.
24630         (GNUmakefile.cfg): Include, if present.
24631         (_autoreconf): Define a default.
24632         (_is-dist-target): New rule for rebuilds to pick up intra-release
24633         version.
24634         (maint-cfg.mk): Rename...
24635         (cfg.mk): ...to this.
24636
24637 2008-03-18  Jim Meyering  <meyering@redhat.com>
24638
24639         New script and module: mktempd
24640         * MODULES.html.sh (maint+release support): Add mktempd.
24641         * build-aux/mktempd: New file.
24642         * modules/mktempd: New file.
24643
24644 2008-03-15  Jim Meyering  <meyering@redhat.com>
24645
24646         Undo last change.
24647         * lib/sha1.c, lib/md5.c: 63 != ~63.
24648         Reported by Andreas Schwab.
24649
24650         sha1.c, md5.c: Hoist a redundant expression.
24651         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
24652         "ctx->buflen" only once, before calling *_process_block.
24653         * lib/md5.c (md5_process_bytes): Likewise.
24654
24655 2008-03-14  Eric Blake  <ebb9@byu.net>
24656
24657         Bump copyright year in files generated by gnulib-tool.
24658         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
24659         gnulib-tool, rather than hard-coding it.
24660
24661         Fix 'gnulib-tool --version' output to work with git.
24662         * gnulib-tool (func_gnulib_dir): New function, extracted from...
24663         (startup): ...here.
24664         (func_version): Use it to invoke git-version-gen, rather than
24665         relying on CVS keyword expansion.  Modernize wording.
24666         (cvsdatestamp, last_checkin_date, version): Kill unused
24667         variables.
24668
24669 2008-03-12  Jim Meyering  <meyering@redhat.com>
24670
24671         Recognize optional cast of the argument to free.
24672         * build-aux/useless-if-before-free: Update regexps.
24673
24674         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
24675
24676 2008-03-11  Bruno Haible  <bruno@clisp.org>
24677
24678         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
24679         by a single package.
24680         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
24681         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
24682         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
24683         Reported by Sam Steingold <sds@gnu.org>.
24684
24685 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24686
24687         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
24688         repositories.
24689
24690 2008-03-11  Bruno Haible  <bruno@clisp.org>
24691
24692         Avoid conflicts between local macro definitions.
24693         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
24694         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
24695
24696 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
24697             Bruno Haible  <bruno@clisp.org>
24698
24699         Make va_copy work with some version of xlc on AIX 5.1.
24700         * lib/stdarg.in.h: New file.
24701         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
24702         On AIX, use a <stdarg.h> file substitute.
24703         * modules/stdarg (Files): Add lib/stdarg.in.h.
24704         (Depends-on): Add include_next.
24705         (Makefile.am): Build a stdarg.h substitute if requested.
24706         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
24707
24708 2008-03-10  Bruno Haible  <bruno@clisp.org>
24709
24710         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
24711         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
24712         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
24713
24714 2008-03-10  Bruno Haible  <bruno@clisp.org>
24715
24716         * modules/stdlib (Depends-on): Add include_next, remove
24717         absolute-header.
24718
24719 2008-03-09  Bruno Haible  <bruno@clisp.org>
24720
24721         * lib/freadahead.h (freadahead): Document more precisely.
24722         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
24723         the sum of both buffer sizes.
24724         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
24725         * NEWS: Document the change.
24726
24727 2008-03-09  Bruno Haible  <bruno@clisp.org>
24728
24729         Extend freadptr to return also the buffer size.
24730         * lib/freadptr.h (freadptr): Add sizep argument.
24731         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
24732         (freadptr): Add sizep argument. Determine buffer size like freadahead
24733         does.
24734         * tests/test-freadptr.c: Don't include freadahead.h.
24735         (main): Adapt for new calling convention of freadptr.
24736         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
24737         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
24738         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
24739         tests/test-freadptr2.sh.
24740         (Depends): Remove freadahead.
24741         (TESTS): Add test-freadptr2.sh.
24742         (check_PROGRAMS): Add test-freadptr2.
24743
24744 2008-03-09  Bruno Haible  <bruno@clisp.org>
24745
24746         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
24747         Report and solution by Simon Josefsson.
24748
24749 2008-03-06  Bruno Haible  <bruno@clisp.org>
24750
24751         Make fflush after ungetc work on BSD platforms.
24752         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
24753         * tests/test-fflush2.c: New file.
24754         * tests/test-fflush2.sh: New file.
24755         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
24756         tests/test-fflush2.c.
24757         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
24758         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
24759
24760 2008-03-06  Eric Blake  <ebb9@byu.net>
24761
24762         Likewise for ftello.
24763         * modules/ftello (Dependencies): Add extensions.
24764         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
24765
24766 2008-03-06  Bruno Haible  <bruno@clisp.org>
24767
24768         * modules/fseeko (Dependencies): Add extensions.
24769         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
24770         Needed on glibc systems.
24771
24772 2008-03-06  Bruno Haible  <bruno@clisp.org>
24773
24774         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
24775         email address.
24776         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24777
24778 2008-03-06  Bruno Haible  <bruno@clisp.org>
24779
24780         * users.txt: Add libgnupdf.
24781
24782 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24783
24784         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
24785         (Header File Substitutes, Function Substitutes,
24786         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
24787         (Build robot for gnulib): Fix typo.
24788
24789 2008-03-06  Bruno Haible  <bruno@clisp.org>
24790
24791         * doc/gnulib-tool.texi (VCS Issues): Small updates.
24792         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24793
24794 2008-03-06  Bruno Haible  <bruno@clisp.org>
24795
24796         * doc/func.texi: New file, extracted from doc/gnulib.texi.
24797         * doc/gnulib.texi: Include it.
24798
24799 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24800
24801         * modules/func (License): Change license to unlimited; there was
24802         no LGPL parts in the module anyway.
24803
24804 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24805
24806         * modules/__func__: Renamed to modules/func.
24807         * modules/__func__-tests: Renamed to modules/func-tests.
24808         * tests/test-__func__.c: Renamed to tests/test-func.c.
24809         * m4/__func__.m4: Renamed to m4/func.m4.
24810         * doc/gnulib.texi (__func__): Section renamed to func.
24811         Suggested by Eric Blake <ebb9@byu.net>.
24812
24813 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24814
24815         * doc/gnulib.texi (__func__): Use C99 terminology when talking
24816         about __func__.  Make example self-contained.  Suggested by Eric
24817         Blake <ebb9@byu.net>.
24818
24819         * tests/test-__func__.c (main): Avoid extraneous () around __func.
24820         Suggested by Eric Blake <ebb9@byu.net>.
24821
24822 2008-03-06  Simon Josefsson  <simon@josefsson.org>
24823
24824         * modules/__func__: New file.
24825         * modules/__func__-tests: New file.
24826         * tests/test-__func__.c: New file.
24827         * m4/__func__.m4: New file.
24828         * doc/gnulib.texi (__func__): Document __func__ module.
24829
24830 2008-03-05  Simon Josefsson  <simon@josefsson.org>
24831
24832         * modules/byteswap (License): Re-license as LGPLv2+.
24833
24834 2008-03-05  Simon Josefsson  <simon@josefsson.org>
24835
24836         * doc/Makefile: Add pdf target.
24837
24838 2008-03-05  Simon Josefsson  <simon@josefsson.org>
24839
24840         * modules/inline (License): Use 'unlimited', since there are only
24841         *.m4 files in this module.
24842
24843 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
24844             Bruno Haible  <bruno@clisp.org>
24845
24846         Add support for HP C 7.1 on OpenVMS 8.3.
24847         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
24848
24849 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
24850
24851         Update VMS specifics.
24852         * lib/getopt.c [VMS]: Remove include of unixlib.h.
24853
24854 2008-03-02  Jim Meyering  <meyering@redhat.com>
24855
24856         Remove the last dependency on the "free" module.
24857         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
24858         Reported by Bob Proulx.
24859
24860         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
24861
24862         Remove useless "if" tests before free.  Deprecate "free" module.
24863         * doc/posix-functions/free.texi: Mention that this
24864         module is no longer useful.
24865         * modules/free (Notice): Say this module is obsolete.
24866         * modules/readutmp (Depends-on): Remove free.
24867         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
24868         * lib/putenv.c (putenv): Likewise.
24869         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
24870         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
24871         * tests/test-c-strcasestr.c (main): Likewise.
24872         * tests/test-c-strstr.c (main): Likewise.
24873         * tests/test-mbscasestr1.c (main): Likewise.
24874         * tests/test-mbscasestr2.c (main): Likewise.
24875         * tests/test-mbsstr1.c (main): Likewise.
24876         * tests/test-mbsstr2.c (main): Likewise.
24877         * tests/test-memmem.c (main): Likewise.
24878         * tests/test-strcasestr.c (main): Likewise.
24879         * tests/test-striconv.c (main): Likewise.
24880         * tests/test-striconveh.c (main): Likewise.
24881         * tests/test-striconveha.c (main): Likewise.
24882         * tests/test-strstr.c (main): Likewise.
24883
24884         * build-aux/git-version-gen: Adjust a comment and the Usage string.
24885
24886         bootstrap: sync from coreutils again
24887         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
24888
24889 2008-03-01  Jim Meyering  <meyering@redhat.com>
24890
24891         bootstrap: sync from coreutils
24892         * build-aux/bootstrap (update_po_files): Copy a .po file into place
24893         also when the target doesn't exist.
24894
24895 2008-03-01  Eric Blake  <ebb9@byu.net>
24896
24897         Fix bugs in last patch.
24898         * lib/memchr2.c (memchr2): Fix typo.
24899         * tests/test-memchr2.c: Test previous bug, and don't use GNU
24900         extension.
24901         Reported by Bruce Korb.
24902
24903         New module 'memchr2'.
24904         * modules/memchr2: New file.
24905         * modules/memchr2-tests: Likewise.
24906         * lib/memchr2.h: Likewise.
24907         * lib/memchr2.c: Likewise, based on memchr.c.
24908         * tests/test-memchr2.c: New test.
24909         * MODULES.html.sh (String handling): Add memchr2.
24910
24911 2008-02-29  Bruno Haible  <bruno@clisp.org>
24912
24913         * modules/freadseek-tests: New file.
24914         * tests/test-freadseek.sh: New file.
24915         * tests/test-freadseek.c: New file.
24916
24917         New module 'freadseek'.
24918         * modules/freadseek: New file.
24919         * lib/freadseek.h: New file.
24920         * lib/freadseek.c: New file.
24921         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
24922
24923 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
24924
24925         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
24926         wydawca.
24927
24928         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
24929         program_invocation_name and program_invocation_short_name are
24930         present.
24931
24932 2008-02-28  Bruno Haible  <bruno@clisp.org>
24933
24934         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
24935         * tests/test-freadptr.sh: Also test non-seekable stdin.
24936
24937 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
24938
24939         * build-aux/bootstrap (source_base, m4_base)
24940         (doc_base, tests_base): New variables.
24941         (gnulib_tool_options): Do not hardcode base directories, use
24942         the above variables instead.
24943
24944 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
24945
24946         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
24947
24948 2008-02-28  Bruno Haible  <bruno@clisp.org>
24949
24950         * modules/freadptr-tests: New file.
24951         * tests/test-freadptr.sh: New file.
24952         * tests/test-freadptr.c: New file.
24953
24954         New module 'freadptr'.
24955         * modules/freadptr: New file.
24956         * lib/freadptr.h: New file.
24957         * lib/freadptr.c: New file.
24958         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
24959
24960 2008-02-26  Karl Berry  <karl@freefriends.org>
24961
24962         Sync from Libtool:
24963         * libltdl/argz.c (argz_add, argz_count): New functions.
24964         * libltdl/argz.in.h: Declare them.
24965         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
24966
24967 2008-02-22  Bruno Haible  <bruno@clisp.org>
24968
24969         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
24970         is a pointer type.  Needed for HP-UX 10.
24971         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
24972         * doc/posix-functions/gmtime_r.texi: Likewise.
24973         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
24974
24975 2008-02-24  Bruno Haible  <bruno@clisp.org>
24976
24977         * modules/environ-tests: New file.
24978         * tests/test-environ.c: New file.
24979
24980         New module 'environ'.
24981         * modules/environ: New file.
24982         * lib/unistd.in.h (environ): New declaration.
24983         * m4/environ.m4: New file.
24984         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
24985         after use.
24986         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
24987         HAVE_DECL_ENVIRON.
24988         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
24989         HAVE_DECL_ENVIRON.
24990         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
24991         wrong claim that 'environ' is missing on some systems.
24992         * modules/execute (Depends-on): Add environ.
24993         * lib/execute.c (environ): Remove fallback declaration.
24994         * modules/pipe (Depends-on): Add environ.
24995         * lib/pipe.c (environ): Remove fallback declaration.
24996         * modules/setenv (Depends-on): Add environ.
24997         * lib/setenv.c (environ): Remove fallback declaration.
24998         * modules/unsetenv (Depends-on): Add environ.
24999         * lib/unsetenv.c (environ): Remove fallback declaration.
25000         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
25001         m4/environ.m4.
25002         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
25003         (gl_PREREQ_UNSETENV): Likewise.
25004
25005 2008-02-24  Bruno Haible  <bruno@clisp.org>
25006
25007         * doc/posix-functions/environ.texi: Document the MacOS X problem.
25008
25009 2008-02-20  Bob Proulx  <bob@proulx.com>
25010
25011         Enable use of older two part flavor 'git describe'.
25012         * build-aux/git-version-gen: If using the older two part flavor of
25013         git version then recreate the third part now present in the
25014         newer three part flavor of git describe.
25015
25016 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
25017
25018         * lib/fts.c (fts_build): Typo correction to comment.
25019
25020 2008-02-17  Bruno Haible  <bruno@clisp.org>
25021
25022         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
25023         generating no-op conflicts.
25024
25025 2008-02-17  Bruno Haible  <bruno@clisp.org>
25026
25027         Speed up by 10%.
25028         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
25029         result_entries, rather than an index-based loop.
25030
25031 2008-02-17  Bruno Haible  <bruno@clisp.org>
25032
25033         Speed up by 25%.
25034         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
25035         'hashcode_cached'.
25036         (entry_create): New function.
25037         (entry_hashcode): Use the cached hashcode if possible.
25038         (read_changelog_file, try_split_merged_entry): Use entry_create.
25039
25040 2008-02-17  Bruno Haible  <bruno@clisp.org>
25041
25042         Speed up from O(n^2) to O(n) for long ChangeLog files.
25043         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
25044         (read_changelog_file): Change implementation of entries_reversed list
25045         to rbtreehash.
25046         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
25047
25048 2008-02-17  Bruno Haible  <bruno@clisp.org>
25049
25050         New option --split-merged-entry.
25051         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
25052         (find_paragraph_end, try_split_merged_entry): New functions.
25053         (long_options): Add option --split-merged-entry.
25054         (usage): Document option --split-merged-entry.
25055         (main): Implement option --split-merged-entry.
25056         Reported by Eric Blake.
25057
25058 2008-02-17  Bruno Haible  <bruno@clisp.org>
25059
25060         * lib/git-merge-changelog.c: Include c-strstr.h.
25061         (main): Support the "git pull --rebase" situation.
25062         * modules/git-merge-changelog (Depends-on): Add c-strstr.
25063         Reported by Eric Blake.
25064
25065 2008-02-16  Eric Blake  <ebb9@byu.net>
25066
25067         Avoid doubling \ in common case of "c-maybe" quoting style.
25068         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
25069         eliding outer quotes.
25070         * lib/quotearg.h: Document this.
25071         * tests/test-quotearg.c (result_strings, inputs, results_g)
25072         (flag_results, locale_results): Test it by adding a new string to
25073         each test group.
25074         (compare_strings): Test new string.
25075
25076 2008-02-13  Eric Blake  <ebb9@byu.net>
25077
25078         Avoid trigraph quoting in default output.
25079         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
25080         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
25081         unless explicitly requested.
25082         * tests/test-quotearg.c (flag_results, main): Add additional tests.
25083
25084 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
25085
25086         Don't rely on signed integer overflowing to negative value.
25087         * lib/getugroups.c (getugroups): Include <limits.h>.
25088         Instead, compare against INT_MAX, and increment only if the test passes.
25089
25090 2008-02-13  Jim Meyering  <meyering@redhat.com>
25091         and Eric Blake  <ebb9@byu.net>
25092
25093         Avoid shadowing warning and compile errors on Linux.
25094         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
25095         forwarding macros on Linux.
25096         (dcgettext): Define a stub, for Linux.
25097         (results_g, main): Avoid warnings.
25098
25099 2008-02-12  Eric Blake  <ebb9@byu.net>
25100
25101         Silence warning in last patch.
25102         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
25103
25104         Quotearg part 4: add tests, fix c-maybe colon quoting.
25105         * lib/quotearg.h: Improve documentation.
25106         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
25107         escapes when adding outer quotes.  When quoting trigraphs, use
25108         valid C notation.  When quoting NUL, omit extra characters if next
25109         character is not digit.  Alter prototype.
25110         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
25111         callers.
25112         * modules/quotearg-tests: New module.
25113         * tests/test-quotearg.c: New test.
25114
25115 2008-02-07  Eric Blake  <ebb9@byu.net>
25116
25117         Quotearg part 3: add flag to control outer quote elision.
25118         * lib/quotearg.h (c_maybe_quoting_style): New style.
25119         (enum quoting_flags): Better documentation of flags.
25120         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
25121         c-maybe style.
25122         (quotearg_buffer_restyled): Handle new flag to elide outer
25123         quotes.
25124
25125         Quotearg part 2: add flag that can control NUL elision.
25126         * lib/quotearg.h (set_quoting_flags): New prototype.
25127         * lib/quotearg.c (struct quoting_options): Add flag field.
25128         (set_quoting_flags): New function.
25129         (quotearg_buffer_restyled): Add flags parameter.
25130         (quotearg_alloc_mem): Set the flag if length cannot be returned.
25131         (quotearg_n_options): Set the flag, since length cannot be
25132         returned.
25133         (quoting_options_from_style): Default flags correctly.
25134
25135         Quotearg part 1: more wrappers, restore quotearg_char state.
25136         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
25137         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
25138         (quotearg_colon_mem): New wrappers.
25139         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
25140         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
25141         functions.
25142         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
25143         (quotearg_colon_mem): New functions.
25144
25145 2008-02-11  Bruno Haible  <bruno@clisp.org>
25146
25147         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
25148         library in the current directory: it does not work with parallel make.
25149         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25150
25151 2008-02-11  Bruno Haible  <bruno@clisp.org>
25152
25153         * .gitattributes: New file.
25154
25155 2008-02-11  Jim Meyering  <meyering@redhat.com>
25156
25157         useless-if-before-free: Fix reversed exit values.
25158         * build-aux/useless-if-before-free: Use correct values
25159         for EXIT_MATCH and EXIT_NO_MATCH.
25160
25161         * build-aux/useless-if-before-free: Close stdout carefully.
25162
25163 2008-02-10  Bruno Haible  <bruno@clisp.org>
25164
25165         New module 'git-merge-changelog'.
25166         * modules/git-merge-changelog: New file.
25167         * lib/git-merge-changelog.c: New file.
25168
25169 2008-02-10  Jim Meyering  <meyering@redhat.com>
25170
25171         useless-if-before-free: New option: --list (-l).
25172
25173         useless-if-before-free: Don't exit immediately upon open failure.
25174         * build-aux/useless-if-before-free: Exit 2 for errors.
25175         Upon failure to open a file, don't exit immediately.
25176         Rather, just warn and continue with any remaining files.
25177
25178 2008-02-10  Bruno Haible  <bruno@clisp.org>
25179
25180         New abstract list operation 'node_set_value'.
25181         * lib/gl_list.h (gl_list_node_set_value): New function.
25182         (struct gl_list_implementation): New field node_set_value.
25183         * lib/gl_list.c (gl_list_node_set_value): New function.
25184         * lib/gl_array_list.c (gl_array_node_set_value): New function.
25185         (gl_array_list_implementation): Update.
25186         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
25187         (gl_carray_list_implementation): Update.
25188         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
25189         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
25190         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
25191         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
25192         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
25193         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
25194         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
25195         Update.
25196         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
25197         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
25198         (gl_sublist_list_implementation): Update.
25199
25200 2008-02-10  Bruno Haible  <bruno@clisp.org>
25201
25202         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
25203         Needed when ELEMENT is #defined to 'some_type *'.
25204
25205 2008-02-10  Jim Meyering  <meyering@redhat.com>
25206
25207         New script and module: useless-if-before-free
25208         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
25209         * build-aux/useless-if-before-free: New file.
25210         * modules/useless-if-before-free: New file.
25211
25212         * build-aux/gitlog-to-changelog: Use committer date, not author date.
25213
25214         xstrtol_error: Fix typo.
25215         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
25216         s/exit_failure/exit_status/.
25217
25218 2008-02-09  Jim Meyering  <meyering@redhat.com>
25219
25220         New script and module: gitlog-to-changelog
25221         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
25222         * modules/gitlog-to-changelog: New file.
25223         * build-aux/gitlog-to-changelog: New file.
25224
25225 2008-02-08  Jim Meyering  <meyering@redhat.com>
25226
25227         Avoid two "parameter unused" warnings.
25228         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
25229         Mark "st" as used.
25230
25231         Use "git COMMAND", not "git-COMMAND".
25232         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
25233         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
25234         * build-aux/git-version-gen: Use "git status", not "git-status".
25235
25236 2008-02-07  Bruno Haible  <bruno@clisp.org>
25237
25238         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
25239         Avoids a crash on Windows Vista.
25240         Reported by Adam Strzelecki <ono@java.pl> via
25241         Simon Josefsson <simon@josefsson.org>.
25242
25243 2008-02-06  Bruno Haible  <bruno@clisp.org>
25244
25245         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
25246         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
25247         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
25248         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
25249         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
25250         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
25251         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
25252         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
25253         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
25254         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
25255         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
25256         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
25257         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
25258         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25259         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
25260         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
25261         left-adjust flag.
25262         * tests/test-snprintf-posix.h (test_function): Likewise.
25263         * tests/test-sprintf-posix.h (test_function): Likewise.
25264         * tests/test-vasprintf-posix.c (test_function): Likewise.
25265         * doc/posix-functions/fprintf.texi: Update.
25266         * doc/posix-functions/printf.texi: Update.
25267         * doc/posix-functions/snprintf.texi: Update.
25268         * doc/posix-functions/sprintf.texi: Update.
25269         * doc/posix-functions/vfprintf.texi: Update.
25270         * doc/posix-functions/vprintf.texi: Update.
25271         * doc/posix-functions/vsnprintf.texi: Update.
25272         * doc/posix-functions/vsprintf.texi: Update.
25273         Reported by Peter Fales <psfales@alcatel-lucent.com>.
25274
25275 2008-02-06  Bruno Haible  <bruno@clisp.org>
25276
25277         Fix bug introduced on 2008-01-26.
25278         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
25279
25280 2008-02-06  Bruno Haible  <bruno@clisp.org>
25281
25282         Fix bug introduced on 2007-06-10.
25283         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
25284         !NEED_PRINTF_FLAG_ZERO.
25285
25286 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
25287
25288         getloadavg: use libperfstat on AIX5
25289         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
25290
25291 2008-02-03  Bruno Haible  <bruno@clisp.org>
25292
25293         * lib/diffseq.h: Add comments about required #includes.
25294         Reported by Michael Biggs <gnulib@doubleplum.net>.
25295
25296 2008-02-01  Bruno Haible  <bruno@clisp.org>
25297
25298         * users.txt: Add gnuit.
25299
25300 2008-01-31  Bruno Haible  <bruno@clisp.org>
25301
25302         * lib/md4.c (set_uint32): Mark as inline.
25303         * lib/md5.c (set_uint32): Likewise.
25304         * lib/sha1.c (set_uint32): Likewise.
25305         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
25306         * m4/md5.m4 (gl_MD5): Likewise.
25307         * m4/sha1.m4 (gl_SHA1): Likewise.
25308
25309 2008-01-31  Jim Meyering  <meyering@redhat.com>
25310
25311         Use "sizeof VAR", rather than a literal "4".
25312         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
25313         * lib/md4.c (md4_read_ctx): Likewise.
25314         * lib/sha1.c (sha1_read_ctx): Likewise.
25315
25316 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25317
25318         * tests/test-sha1.c: New file, based on test-md5.c.
25319
25320         * modules/crypto/sha1-tests: New file.
25321
25322 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25323
25324         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
25325
25326 2008-01-31  Jim Meyering  <meyering@redhat.com>
25327
25328         Prefer "sizeof v" over the equivalent "4".
25329         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
25330         * lib/md5.c (set_uint32): Likewise.
25331         * lib/sha1.c (set_uint32): Likewise.
25332
25333 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25334
25335         * lib/sha1.c (set_uint32): Mark function as static.
25336
25337 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25338
25339         md2: clarify comments to say that alignment is not required.
25340         * lib/md2.h: Remove warning about alignment in comment.
25341         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
25342         never been required.
25343
25344 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25345
25346         md4: adapt alignment constraint fix from sha1.
25347         * lib/md4.c (set_uint32): New function, from sha1.c
25348         (md4_read_ctx): Use it.
25349         (md4_finish_ctx): Doc fix.
25350         * lib/md4.h: Doc fix.
25351
25352 2008-01-31  Simon Josefsson  <simon@josefsson.org>
25353
25354         md5: adapt alignment constraint fix from sha1.
25355         * lib/md5.c (set_uint32): New function, from sha1.c
25356         (md5_read_ctx): Use it.
25357         (md5_finish_ctx): Doc fix.
25358         * lib/md5.h: Doc fix.
25359
25360 2008-01-30  Peter Palfrader  <weasel@debian.org>
25361
25362         sha1: remove the result buffer alignment constraint
25363         * lib/sha1.c (set_uint32): New function.
25364         (sha1_read_ctx): Rewrite to remove the result buffer alignment
25365         constraint.
25366         (sha1_finish_ctx): Remove comment warning about alignment constraint.
25367         * lib/sha1.h: Likewise.
25368
25369 2008-01-30  Andreas Schwab  <schwab@suse.de>
25370             Bruno Haible  <bruno@clisp.org>
25371
25372         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
25373         correct definition of LDBL_MIN_EXP.
25374
25375 2008-01-30  Karl Berry  <karl@gnu.org>
25376
25377         * config/srclist-update: try to preserve x bit on updates.
25378         * config/srclistvars.sh: update for karl.
25379
25380 2008-01-29  Jim Meyering  <meyering@redhat.com>
25381
25382         vasnprintf.c: Avoid warning about unused label
25383         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
25384         "overflow" label definition and associated code with the
25385         same cpp condition that guards the sole use of that label.
25386
25387 2008-01-26  Bruno Haible  <bruno@clisp.org>
25388
25389         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
25390         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
25391         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
25392         * lib/isnanl-nolibm.h (isnanl): Likewise.
25393         Reported by Paul Eggert <eggert@cs.ucla.edu>.
25394
25395 2008-01-26  Bruno Haible  <bruno@clisp.org>
25396
25397         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
25398         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
25399
25400 2008-01-26  Bruno Haible  <bruno@clisp.org>
25401
25402         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
25403         GCC >= 4.0 built-in.
25404         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
25405
25406 2008-01-26  Bruno Haible  <bruno@clisp.org>
25407
25408         Rename isnan, applicable to 'double' only, to isnand.
25409         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
25410         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
25411         (configure.ac): Update.
25412         (Include): Replace "isnan.h" with "isnand.h".
25413         * m4/isnand.m4: Renamed from m4/isnan.m4.
25414         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
25415         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
25416         instead of isnan.c.
25417         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
25418         instead of HAVE_ISNAN_IN_LIBC.
25419         (isnand): Renamed from isnan.
25420         * lib/isnand.c: New file.
25421         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
25422         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
25423         (Makefile.am): Update.
25424         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
25425         Include isnand.h instead of isnan.h.
25426         (main): Test isnand instead of isnan.
25427         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
25428         isnan-nolibm.
25429         * modules/frexp (Depends-on): Likewise.
25430         * modules/frexp-tests (Depends-on): Likewise.
25431         * modules/frexp-nolibm (Depends-on): Likewise.
25432         * modules/frexp-nolibm-tests (Depends-on): Likewise.
25433         * modules/isfinite (Depends-on): Likewise.
25434         * modules/round-tests (Depends-on): Likewise.
25435         * modules/signbit (Depends-on): Likewise.
25436         * modules/signbit-tests (Depends-on): Likewise.
25437         * modules/snprintf-posix (Depends-on): Likewise.
25438         * modules/sprintf-posix (Depends-on): Likewise.
25439         * modules/trunc-tests (Depends-on): Likewise.
25440         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
25441         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25442         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25443         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25444         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25445         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25446         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25447         * modules/vasnprintf-posix (Depends-on): Likewise.
25448         * modules/vasprintf-posix (Depends-on): Likewise.
25449         * modules/vfprintf-posix (Depends-on): Likewise.
25450         * modules/vsnprintf-posix (Depends-on): Likewise.
25451         * modules/vsprintf-posix (Depends-on): Likewise.
25452         * lib/frexp.c: Include isnand.h instead of isnan.h.
25453         (ISNAN): Set to isnand instead of isnan.
25454         * lib/isfinite.c: Include isnand.h instead of isnan.h.
25455         (gl_isfinited): Use isnand instead of isnan.
25456         * lib/signbitd.c: Include isnand.h instead of isnan.h.
25457         (gl_signbitd): Use isnand instead of isnan.
25458         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
25459         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
25460         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
25461         (main): Use isnand instead of isnan.
25462         * tests/test-round1.c: Include isnand.h.
25463         (main): Use isnand instead of isnan.
25464         * tests/test-round2.c: Include isnand.h instead of isnan.h.
25465         (ISNAN): Set to isnand instead of isnan.
25466         * tests/test-trunc1.c: Include isnand.h.
25467         (main): Use isnand instead of isnan.
25468         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
25469         (equal): Use isnand instead of isnan.
25470         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
25471         isnand-nolibm.
25472         * NEWS: Mention the change.
25473
25474 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
25475             Bruno Haible  <bruno@clisp.org>
25476
25477         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
25478         the GCC builtins for signbits are present and set
25479         REPLACE_SIGNBIT_USING_GCC if so.
25480         * lib/math.in.h (signbit): Define using GCC builtins if
25481         REPLACE_SIGNBIT_USING_GCC is set.
25482         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
25483         REPLACE_SIGNBIT_USING_GCC.
25484         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
25485
25486 2008-01-25  Jim Meyering  <meyering@redhat.com>
25487
25488         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
25489         * lib/poll.c: Include <config.h>, not "config.h".
25490         * tests/test-getaddrinfo.c: Likewise.
25491
25492 2008-01-25  Simon Josefsson  <simon@josefsson.org>
25493
25494         * modules/sockets-tests: New file.
25495
25496 2008-01-24  Simon Josefsson  <simon@josefsson.org>
25497
25498         * modules/sockets: New module, can be used to call WSA_Startup and
25499         WSA_Cleanup when needed.
25500
25501         * lib/sockets.h, lib/sockets.c: New files.
25502
25503         * m4/sockets.m4: New file.
25504
25505         * tests/test-sockets.c: New file.
25506
25507 2008-01-19  Bruno Haible  <bruno@clisp.org>
25508
25509         * doc/posix-headers: Renamed from doc/headers.
25510         * doc/posix-functions: Renamed from doc/functions.
25511         * doc/gnulib.texi: Update.
25512
25513 2008-01-19  Bruno Haible  <bruno@clisp.org>
25514
25515         * doc/glibc-functions/strcasestr.texi: Include contents of
25516         doc/functions/strcasestr.texi, fixing the list of platforms.
25517         * doc/functions/strcasestr.texi: Remove file.
25518
25519 2008-01-19  Bruno Haible  <bruno@clisp.org>
25520
25521         * doc/glibc-functions/memmem.texi: Include contents of
25522         doc/functions/memmem.texi.
25523         * doc/functions/memmem.texi: Remove file.
25524
25525 2008-01-18  Bruno Haible  <bruno@clisp.org>
25526
25527         * doc/glibc-functions/*.texi: New files.
25528         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
25529         to use the new files.
25530
25531 2008-01-17  Bruno Haible  <bruno@clisp.org>
25532
25533         * tests/test-gethostname.c (main): Fix printf statement.
25534
25535 2008-01-17  Simon Josefsson  <simon@josefsson.org>
25536
25537         * modules/gethostname-tests: New file.
25538
25539         * tests/test-gethostname.c: New file.
25540
25541 2008-01-17  Simon Josefsson  <simon@josefsson.org>
25542
25543         * lib/gethostname.c: Include string.h unconditionally, strncpy is
25544         used by the UNAME case.  Reported by Bruno Haible
25545         <bruno@clisp.org>.
25546
25547 2008-01-17  Eric Blake  <ebb9@byu.net>
25548
25549         Convert c-strcasestr to be more efficient.
25550         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
25551         (Depends-on): Add c-strcase, remove malloca, strnlen.
25552         * tests/test-c-strcasestr.c (main): Enhance test.
25553         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
25554
25555 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
25556
25557         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
25558         Use it in creating po/Makevars.
25559
25560 2008-01-15  Simon Josefsson  <simon@josefsson.org>
25561
25562         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
25563         Applications that requires it should initialize libgcrypt
25564         manually.
25565
25566 2008-01-16  Simon Josefsson  <simon@josefsson.org>
25567
25568         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
25569
25570 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
25571
25572         Fix problem with getdate on mingw32 reported by Simon Josefsson
25573         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
25574         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
25575         tzname", when deciding whether to declare tzname.
25576         * lib/strftime.c (tzname): Likewise.
25577
25578 2008-01-15  Bruno Haible  <bruno@clisp.org>
25579
25580         Work around a MacOS X 10.5 bug in frexpl().
25581         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
25582         * doc/functions/frexpl.texi: Document the bug.
25583         Reported by Elias Pipping <pipping@gentoo.org>.
25584
25585 2008-01-14  Eric Blake  <ebb9@byu.net>
25586
25587         Touch up previous patch.
25588         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
25589         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
25590
25591         Convert strcasestr module to use Two-Way algorithm.
25592         * modules/strcasestr-simple: New module, based on the old
25593         strcasestr, but with Two-Way rather than KMP.
25594         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
25595         * lib/string.in.h (rpl_strcasestr): Declare.
25596         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
25597         performance.
25598         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
25599         * modules/string (Makefile.am): Support strcasestr.
25600         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
25601         * modules/strcasestr-tests (Depends-on): Check for alarm.
25602         * tests/test-strcasestr.c: Augment test.
25603         * lib/str-two-way.h: Clean up stray macro.
25604         * NEWS: Document new module.
25605         * MODULES.html.sh (string handling): Likewise.
25606         * doc/functions/strcasestr.texi: New file.
25607         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
25608         here, since it is not a POSIX function.
25609
25610 2008-01-14  Colin Watson  <cjwatson@debian.org>
25611             Bruno Haible  <bruno@clisp.org>
25612
25613         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
25614         works fine; if not, set REPLACE_STRSIGNAL.
25615         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
25616         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25617         REPLACE_STRSIGNAL.
25618         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
25619         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
25620         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
25621
25622 2008-01-14  Bruno Haible  <bruno@clisp.org>
25623
25624         * modules/strsignal (Include): Change to <string.h>.
25625
25626 2008-01-14  Colin Watson  <cjwatson@debian.org>
25627
25628         * modules/argp (Notice): Add a notice recommending to change
25629         XGETTEXT_OPTIONS.
25630         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
25631
25632 2008-01-13  Colin Watson  <cjwatson@debian.org>
25633
25634         * modules/strsignal-tests: New file.
25635         * tests/test-strsignal.c: New file.
25636
25637         * lib/strsignal.c: New file, from glibc with modifications.
25638         * lib/siglist.h: New file, from glibc with modifications.
25639         * lib/string.in.h (strsignal): New declaration.
25640         * m4/strsignal.m4: New file.
25641         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25642         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
25643         * modules/strsignal: New file.
25644         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
25645         HAVE_DECL_STRSIGNAL.
25646
25647 2008-01-13  Bruno Haible  <bruno@clisp.org>
25648
25649         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
25650         locale encoding is not ASCII. Needed for OpenBSD 4.0.
25651         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
25652         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25653
25654 2008-01-13  Bruno Haible  <bruno@clisp.org>
25655
25656         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
25657         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
25658         * lib/argp.h (__attribute__): Likewise.
25659         * lib/c-stack.c (__attribute__): Likewise.
25660         * lib/error.h (__attribute__): Likewise.
25661         * lib/fts.c (__attribute__): Likewise.
25662         * lib/openat.h (__attribute__): Likewise.
25663         * lib/stdio.in.h (__attribute__): Likewise.
25664         * lib/string.in.h (__attribute__): Likewise.
25665         * lib/utimens.c (__attribute__): Likewise.
25666         * lib/vasnprintf.h (__attribute__): Likewise.
25667         * lib/xalloc.h (__attribute__): Likewise.
25668         * lib/xprintf.h (__attribute__): Likewise.
25669         * lib/xstrtol.h (__attribute__): Likewise.
25670         * lib/xvasprintf.h (__attribute__): Likewise.
25671
25672 2008-01-12  Bruno Haible  <bruno@clisp.org>
25673
25674         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
25675         * doc/glibc-headers/a.out.texi: New file.
25676         * doc/glibc-headers/aliases.texi: New file.
25677         * doc/glibc-headers/alloca.texi: New file.
25678         * doc/glibc-headers/ar.texi: New file.
25679         * doc/glibc-headers/argp.texi: New file.
25680         * doc/glibc-headers/argz.texi: New file.
25681         * doc/glibc-headers/byteswap.texi: New file.
25682         * doc/glibc-headers/crypt.texi: New file.
25683         * doc/glibc-headers/endian.texi: New file.
25684         * doc/glibc-headers/envz.texi: New file.
25685         * doc/glibc-headers/err.texi: New file.
25686         * doc/glibc-headers/error.texi: New file.
25687         * doc/glibc-headers/execinfo.texi: New file.
25688         * doc/glibc-headers/fpu_control.texi: New file.
25689         * doc/glibc-headers/fstab.texi: New file.
25690         * doc/glibc-headers/fts.texi: New file.
25691         * doc/glibc-headers/getopt.texi: New file.
25692         * doc/glibc-headers/ieee754.texi: New file.
25693         * doc/glibc-headers/ifaddrs.texi: New file.
25694         * doc/glibc-headers/libintl.texi: New file.
25695         * doc/glibc-headers/mcheck.texi: New file.
25696         * doc/glibc-headers/mntent.texi: New file.
25697         * doc/glibc-headers/obstack.texi: New file.
25698         * doc/glibc-headers/paths.texi: New file.
25699         * doc/glibc-headers/printf.texi: New file.
25700         * doc/glibc-headers/pty.texi: New file.
25701         * doc/glibc-headers/resolv.texi: New file.
25702         * doc/glibc-headers/shadow.texi: New file.
25703         * doc/glibc-headers/sysexits.texi: New file.
25704         * doc/glibc-headers/ttyent.texi: New file.
25705
25706 2008-01-12  Jim Meyering  <meyering@redhat.com>
25707
25708         announce-gen: emit Gnulib's git-based version string.
25709         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
25710         New option --gnulib-version=V, where V is expected to be
25711         the output of running git describe in the gnulib directory.
25712         (get_tool_versions): Request feedback on xdelta.  I suspect it's
25713         not useful, and plan to stop publishing an xdelta file with each
25714         coreutils release.
25715
25716         * build-aux/announce-gen: Also check for lzma-compressed files.
25717
25718 2008-01-11  Bruno Haible  <bruno@clisp.org>
25719
25720         * tests/test-memmem.c (main): Increase maximum allowed time.
25721         * tests/test-strstr.c (main): Likewise.
25722
25723 2008-01-11  Bruno Haible  <bruno@clisp.org>
25724
25725         * doc/functions/memmem.texi: Add more precisions about platforms.
25726         * doc/functions/strstr.texi: Likewise.
25727
25728 2008-01-10  Eric Blake  <ebb9@byu.net>
25729
25730         * m4/strstr.m4: Delete cruft from copy-n-paste.
25731         Reported by Bruno Haible.
25732
25733 2008-01-10  Bruno Haible  <bruno@clisp.org>
25734
25735         Make c-strstr rely on strstr.
25736         * lib/c-strstr.c: Don't include str-kmp.h.
25737         (c_strstr): Define in terms of strstr.
25738         * modules/c-strstr (Files): Remove lib/str-kmp.h.
25739         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
25740
25741 2008-01-10  Bruno Haible  <bruno@clisp.org>
25742
25743         * doc/gnulib.texi (String Functions in C Locale): New section.
25744         * doc/c-ctype.texi: New file.
25745         * doc/c-strcase.texi: New file.
25746         * doc/c-strcaseeq.texi: New file.
25747         * doc/c-strcasestr.texi: New file.
25748         * doc/c-strstr.texi: New file.
25749         * doc/c-strtod.texi: New file.
25750         * doc/c-strtold.texi: New file.
25751
25752 2008-01-10  Eric Blake  <ebb9@byu.net>
25753
25754         * lib/relocatable.h: Fix a comment.
25755
25756 2008-01-10  Eric Blake  <ebb9@byu.net>
25757
25758         Share two-way algorithm.
25759         * lib/str-two-way.h: New file, merged from...
25760         * lib/memmem.c: ...here...
25761         * lib/strstr.c: ...and here.
25762         * modules/memmem (Files): Use it.
25763         * modules/strstr (Files): Likewise.
25764
25765         Avoid quadratic strstr implementations.
25766         * lib/strstr.c: New file.
25767         * m4/strstr.m4: Likewise.
25768         * modules/strstr: Likewise.
25769         * modules/strstr-tests: Likewise.
25770         * tests/test-strstr.c: Likewise.
25771         * lib/string.in.h (rpl_strstr): Declare.
25772         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
25773         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
25774         * modules/string (Makefile.am): Likewise.
25775         * MODULES.html.sh (string handling): Mention new module.
25776         * doc/functions/strstr.texi (strstr): Document the bug.
25777
25778 2008-01-10  Bruno Haible  <bruno@clisp.org>
25779
25780         * lib/relocatable.h (relocate): State whether result is freshly
25781         allocated or not.
25782         * lib/relocatable.c (relocate): Return a freshly allocated string
25783         instead of a pointer to a privately held string.
25784         Reported by Sylvain Beucler <beuc@gnu.org>.
25785
25786 2008-01-10  Colin Watson  <cjwatson@debian.org>
25787
25788         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
25789         s/S_ISNLK/S_ISLNK/.
25790
25791 2008-01-09  Bruno Haible  <bruno@clisp.org>
25792
25793         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
25794         and other files.
25795         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
25796         if it's only a guess.
25797         * modules/memmem: Simplify by depending on memmem-simple.
25798
25799 2008-01-09  Bruno Haible  <bruno@clisp.org>
25800
25801         Work around OpenBSD 4.0 tdelete() bug.
25802         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
25803         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
25804         macros and don't redefine the enum values.
25805         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
25806         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
25807         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
25808
25809 2008-01-09  Bruno Haible  <bruno@clisp.org>
25810
25811         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
25812         (main): Don't perform the tests if setlocale did not install a UTF-8
25813         locale. Needed on OpenBSD 4.0.
25814         * modules/wcwidth-tests (Depends-on): Add localcharset.
25815
25816 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
25817
25818         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
25819         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
25820         * NEWS: announce this.
25821         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
25822
25823 2008-01-09  Simon Josefsson  <simon@josefsson.org>
25824         and Eric Blake  <ebb9@byu.net>
25825
25826         Add memmem-simple module.
25827         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
25828         (gl_FUNC_MEMMEM): Separate performance from presence checks.
25829         * modules/memmem-simple: New file.
25830         * modules/memmem (Description): Tweak.
25831         * MODULES.html.sh (string handling): Mention new module.
25832         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
25833         addressed by memmem-simple.
25834         * NEWS: Document the difference.
25835
25836 2008-01-09  Eric Blake  <ebb9@byu.net>
25837
25838         Give gcc some memmem optimization hints.
25839         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
25840         (strcasestr): Declare as pure.
25841         * modules/memmem (Maintainer): Claim my implementation.
25842
25843 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25844
25845         Support AIX 6.1 and higher.
25846         * build-aux/config.libpath: Likewise.
25847         * build-aux/config.rpath: Likewise.
25848
25849 2008-01-08  Jim Meyering  <meyering@redhat.com>
25850             Bruno Haible  <bruno@clisp.org>
25851
25852         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
25853         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
25854         Reported by Peter Fales in
25855         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
25856
25857 2008-01-08  Bruno Haible  <bruno@clisp.org>
25858
25859         * modules/unictype/category-of (Depends-on): Add
25860         unictype/category-none.
25861         * modules/unictype/category-and-tests (Depends-on): Add
25862         unictype/category-{L,N,Lu,Nd}.
25863         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
25864         * modules/unictype/category-or-tests (Depends-on): Add
25865         unictype/category-{L,N}.
25866         * modules/unictype/category-name-tests (Depends-on): Add
25867         unictype/category-{Z,Nl}.
25868         Reported by Simon Josefsson.
25869
25870 2008-01-08  Bruno Haible  <bruno@clisp.org>
25871
25872         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
25873         convention better.
25874         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
25875         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
25876         Reported by Peter Miller <millerp@canb.auug.org.au>.
25877
25878 2008-01-08  Eric Blake  <ebb9@byu.net>
25879
25880         Rewrite memmem to guarantee linear complexity without malloc.
25881         * lib/memmem.c (memmem): Use Two-Way rather than
25882         Knuth-Morris-Pratt, to allow O(1) space usage.
25883         (critical_factorization, two_way_short_needle)
25884         (two_way_long_needle): New functions.
25885         (knuth_morris_pratt): Delete.
25886         * modules/memmem (Depends-on): No longer need malloca or stdbool.
25887         Add stdint.
25888         * tests/test-memmem.c (main): Add tests for periodic needle and
25889         sublinear performance.
25890         * doc/functions/memmem.texi (memmem): Document other deficiencies
25891         in cygwin and older glibc.
25892
25893 2008-01-08  Bruno Haible  <bruno@clisp.org>
25894
25895         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
25896         augmentation.
25897
25898 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
25899
25900         Add a configure time option: --disable-acl.
25901         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
25902         AC_ARG_ENABLE(acl).
25903
25904 2008-01-06  Simon Josefsson  <simon@josefsson.org>
25905
25906         * tests/test-localename.c: Don't include obsolete "setenv.h".
25907
25908         * modules/localename-tests (Depends-on): Need unsetenv.
25909
25910 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25911
25912         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
25913
25914 2008-01-06  Colin Watson  <cjwatson@debian.org>
25915
25916         * users.txt: Add man-db.
25917
25918 2008-01-07  Bruno Haible  <bruno@clisp.org>
25919
25920         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
25921         previous section name.
25922
25923 2008-01-07  Bruno Haible  <bruno@clisp.org>
25924
25925         * lib/progname.c (set_program_name): Don't strip off a leading
25926         "lt-" prefix outside a .libs directory.
25927         Suggested by Paul Eggert.
25928
25929 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
25930             Bruno Haible  <bruno@clisp.org>
25931
25932         Improve memory cleanup in 'relocatable' module.
25933         * lib/relocatable.h (compute_curr_prefix): Change return type to
25934         'char *'.
25935         * lib/relocatable.c (compute_curr_prefix): Change return type to
25936         'char *'. Free curr_installdir after use.
25937         (relocate): Free curr_prefix_better after use.
25938         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
25939
25940 2008-01-01  Bruno Haible  <bruno@clisp.org>
25941
25942         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
25943         failure on older glibc systems.
25944         Reported by Peter Fales <psfales@alcatel-lucent.com>.
25945
25946 2008-01-05  Eric Blake  <ebb9@byu.net>
25947
25948         Avoid quadratic system memmem.
25949         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
25950         Reported by Ralf Wildenhues.
25951
25952         Fix memmem test for mingw.
25953         * modules/memmem-tests (configure.ac): Check for alarm.
25954         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
25955         it.
25956         * doc/functions/memmem.texi: New file.
25957         * doc/gnulib.texi (Function Substitutes): Add memmem.
25958         Reported by Bruno Haible.
25959
25960 2008-01-04  Bruno Haible  <bruno@clisp.org>
25961
25962         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
25963         Require gl_HEADER_STRINGS_H_DEFAULTS, not
25964         gl_HEADER_STRING_H_DEFAULTS.
25965
25966 2008-01-04  Eric Blake  <ebb9@byu.net>
25967
25968         Shorten duration of memmem test.
25969         * tests/test-memmem.c (main): Use alarm to declare failure if test
25970         is taking too long.
25971         Reported by Ralf Wildenhues.
25972
25973 2007-12-21  Simon Josefsson  <simon@josefsson.org>
25974
25975         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
25976         string, needed by strerror.
25977
25978 2008-01-03  Colin Watson  <cjwatson@debian.org>
25979             Bruno Haible  <bruno@clisp.org>
25980
25981         * doc/gnulib-tool.texi (Localization): New section.
25982
25983 2008-01-02  Bruno Haible  <bruno@clisp.org>
25984
25985         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
25986         variables to 'unsigned char *' type.
25987         Reported by Paul Eggert.
25988
25989 2008-01-02  Jim Meyering  <jim@meyering.net>
25990
25991         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
25992
25993 2007-12-31  Jim Meyering  <jim@meyering.net>
25994
25995         Avoid use of private FTS type name.
25996         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
25997
25998 2007-12-30  Karl Berry  <karl@gnu.org>
25999
26000         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
26001         work around defect in Texinfo and/or the standalone Info browser.
26002
26003 2007-12-30  Bruno Haible  <bruno@clisp.org>
26004
26005         Unify 5 copies of the KMP code.
26006         * lib/str-kmp.h: New file.
26007         * lib/c-strcasestr.c: Include str-kmp.h.
26008         (knuth_morris_pratt): Remove function.
26009         (c_strcasestr): Update.
26010         * lib/c-strstr.c: Include str-kmp.h.
26011         (knuth_morris_pratt): Remove function.
26012         (c_strcasestr): Update.
26013         * lib/mbscasestr.c: Include str-kmp.h.
26014         (knuth_morris_pratt_unibyte): Remove function.
26015         * lib/mbsstr.c: Include str-kmp.h.
26016         (knuth_morris_pratt_unibyte): Remove function.
26017         * lib/strcasestr.c: Include str-kmp.h.
26018         (knuth_morris_pratt): Remove function.
26019         (strcasestr): Update.
26020         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
26021         * modules/c-strstr (Files): Likewise.
26022         * modules/mbscasestr (Files): Likewise.
26023         * modules/mbsstr (Files): Likewise.
26024         * modules/strcasestr (Files): Likewise.
26025         Suggested by Paul Eggert.
26026
26027 2007-12-30  Bruno Haible  <bruno@clisp.org>
26028
26029         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
26030         defined.
26031
26032 2007-12-30  Bruno Haible  <bruno@clisp.org>
26033
26034         * lib/xmalloca.h: Include xalloc.h.
26035         (xnmalloca): New macro.
26036
26037 2007-12-30  Bruno Haible  <bruno@clisp.org>
26038
26039         * lib/malloca.h (nmalloca): New macro.
26040         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
26041         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
26042         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
26043         knuth_morris_pratt_multibyte): Likewise.
26044         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
26045         knuth_morris_pratt_multibyte): Likewise.
26046         * lib/memmem.c (knuth_morris_pratt): Likewise.
26047         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
26048
26049 2007-12-25  Bruno Haible  <bruno@clisp.org>
26050
26051         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
26052         * lib/glob.c: Don't include openat.h.
26053         (link_exists2_p): Add back the code that deals with the
26054         !GLOB_ALTDIRFUNC case.
26055         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
26056         let it do the filename concatenation.
26057         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
26058         * modules/glob (Depends-on): Remove openat.
26059
26060 2007-12-31  Bruno Haible  <bruno@clisp.org>
26061
26062         * modules/dirfd (License): Change to LGPLv2+.
26063         Approved by Jim Meyering.
26064
26065 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26066
26067         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
26068         when multiplying M by sizeof (size_t).
26069
26070 2007-12-10  Martin Lambers  <marlam@marlam.de>
26071
26072         Override getpagesize on mingw.
26073         * lib/getpagesize.c: New file.
26074         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
26075         * modules/getpagesize (Files): Add lib/getpagesize.c.
26076         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
26077         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26078         REPLACE_GETPAGESIZE.
26079         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
26080
26081 2007-12-25  Bruno Haible  <bruno@clisp.org>
26082
26083         * modules/localcharset (Notice): New field.
26084         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
26085         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
26086
26087 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26088             Bruno Haible  <bruno@clisp.org>
26089
26090         Avoid using the syntax symbol() in formatted documentation.
26091         * MODULES.html.sh (func_module): When replacing symbol() with a
26092         hyperlink, remove the parentheses. Show an error if some remain.
26093         Recognize and render the '...' syntax.
26094         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
26095         Rework. Add paragraph about GCC's inlining.
26096         * doc/alloca.texi: Likewise.
26097         * doc/error.texi: Remove parentheses from symbol reference.
26098         * doc/gnulib-intro.texi: Likewise.
26099         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
26100         * modules/fnmatch (Description): Reword to say "the ... function".
26101         * modules/full-read (Description): Likewise.
26102         * modules/full-write (Description): Likewise.
26103         * modules/safe-read (Description): Likewise.
26104         * modules/safe-write (Description): Likewise.
26105         * modules/strchrnul (Description): Likewise.
26106         * modules/trim (Description): Likewise.
26107         * modules/error (Description): Remove parentheses from symbol
26108         references.
26109         * modules/verror (Description): Likewise.
26110         Reported by Karl Berry.
26111
26112 2007-12-25  Bruno Haible  <bruno@clisp.org>
26113
26114         Fixup after 2007-10-16 commit.
26115         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
26116
26117 2007-12-24  Bruno Haible  <bruno@clisp.org>
26118
26119         Make --enable-relocatable work with DESTDIR.
26120         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
26121         to compute installdir from destprog.
26122         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
26123         also set the RELOC_DESTDIR variable.
26124         Reported by Левашев Иван <octagram@bluebottle.com>.
26125
26126 2007-12-24  Bruno Haible  <bruno@clisp.org>
26127
26128         Fix link error due to xalloc_die().
26129         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
26130         of xreadlink.
26131         * lib/relocwrapper.c: Update comments.
26132         * build-aux/install-reloc: Remove xreadlink.c from file list.
26133         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
26134         xreadlink.c.
26135         Reported by Левашев Иван <octagram@bluebottle.com>.
26136
26137 2007-12-24  Bruno Haible  <bruno@clisp.org>
26138
26139         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
26140         * lib/setenv.h: Remove file.
26141         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
26142         lib/setenv.h.
26143         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
26144         (Depends-on): Add stdlib.
26145         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
26146         gl_FUNC_UNSETENV.
26147         (Include): Replace setenv.h with <stdlib.h>.
26148         * modules/unsetenv: New file.
26149         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
26150         * lib/unsetenv.c: Include <stdlib.h> first.
26151         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
26152         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
26153         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
26154         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
26155         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
26156         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
26157         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
26158         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
26159         * doc/functions/unsetenv.texi: Update.
26160         * modules/xsetenv (Depends-on): Add unsetenv.
26161         * modules/getdate (Depends-on): Likewise.
26162         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
26163         * lib/xsetenv.c: Don't include setenv.h.
26164         * lib/getdate.y: Likewise.
26165         * lib/relocwrapper.c: Likewise.
26166         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
26167         (Depends-on): Add stdlib.
26168         * NEWS: Mention the changes.
26169         Reported by Левашев Иван <octagram@bluebottle.com>.
26170
26171 2007-12-23  Bruno Haible  <bruno@clisp.org>
26172
26173         * lib/memmem.c (memmem): Use lowercase variable names. Tab
26174         indentation.
26175
26176 2007-12-23  Bruno Haible  <bruno@clisp.org>
26177
26178         * lib/c-strcasestr.c: Add more comments.
26179         * lib/c-strstr.c: Likewise.
26180         * lib/mbscasestr.c: Likewise.
26181         * lib/mbsstr.c: Likewise.
26182         * lib/strcasestr.c: Likewise.
26183         * lib/memmem.c: Likewise.
26184
26185 2007-12-23  Bruno Haible  <bruno@clisp.org>
26186
26187         * tests/test-memmem.c: Include <string.h> first.
26188
26189 2007-12-22  Bruno Haible  <bruno@clisp.org>
26190
26191         * gnulib-tool (func_create_testdir): Change $auxdir while generating
26192         the contents of $testsbase.
26193         Reported by Ralf Wildenhues.
26194
26195 2007-12-22  Bruno Haible  <bruno@clisp.org>
26196
26197         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
26198         two variables local_ldadd_before, local_ldadd_last.
26199
26200 2007-12-20  Eric Blake  <ebb9@byu.net>
26201
26202         Work around circular library issue when cross-compiling.
26203         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
26204         that progname.o does not need to pull in rpl_memcmp.
26205
26206 2007-12-19  Eric Blake  <ebb9@byu.net>
26207
26208         Fix memmem to avoid O(n^2) worst-case complexity.
26209         * lib/memmem.c (knuth_morris_pratt): New function.
26210         (memmem): Use it if first few naive iterations fail.
26211         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
26212         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
26213         * modules/memchr (License): Likewise.
26214         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
26215         malloca.
26216         * tests/test-memmem.c: Rewrite, borrowing ideas from
26217         test-mbsstr1.c; the old version wouldn't even compile!
26218         * modules/memmem-tests: New file.
26219         * lib/string.in.h (rpl_memmem): Add declaration.
26220         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
26221         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
26222         REPLACE_MEMMEM.
26223
26224 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26225
26226         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
26227         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
26228         before any system include files, and undef after them all.  This
26229         should fix a problem on VMS reported by John E. Malmberg in
26230         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
26231
26232 2007-12-17  Eric Blake  <ebb9@byu.net>
26233
26234         Revert addition of verify, for BSD/OS.
26235         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
26236         can't handle large files, for the sake of obsolete platforms.
26237         * modules/fseeko (Depends-on): Remove verify.
26238         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
26239         * doc/functions/ftello.texi (ftello): Likewise.
26240         * doc/functions/fgetpos.texi (fgetpos): Likewise.
26241         Reported by Larry Jones.
26242
26243 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
26244
26245         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
26246         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
26247
26248 2007-12-17  Jim Meyering  <meyering@redhat.com>
26249
26250         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
26251         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
26252         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
26253         * modules/getcwd (Depends-on): Add openat.
26254         Reported by Petr Salinger.
26255
26256 2007-12-17  Bruno Haible  <bruno@clisp.org>
26257
26258         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
26259         avoid a segmentation fault of the configure test on x86_64 systems.
26260
26261 2007-12-15  Jim Meyering  <meyering@redhat.com>
26262
26263         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
26264
26265 2007-12-13  Eric Blake  <ebb9@byu.net>
26266
26267         Another fseek test.
26268         * tests/test-fseek.c (main): Also test ungetc handling.
26269         * tests/test-fseeko.c (main): Likewise.
26270         * modules/fseeko (Depends-on): Add verify.
26271         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
26272         large.
26273         Reported by Larry Jones.
26274
26275         Fix fseeko on mingw.
26276         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
26277         seek.
26278
26279         Beef up fseek tests.
26280         * tests/test-fseek.c (main): Also test eof handling.
26281         * tests/test-fseeko.c (main): Likewise.
26282         Reported by Larry Jones.
26283
26284 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
26285
26286         Fix fseeko on BSD-based platforms.
26287         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
26288         successful seek.
26289
26290 2007-12-12  Eric Blake  <ebb9@byu.net>
26291
26292         Allow circular dependency of separate libtests.a
26293         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
26294         when use_libtests.
26295
26296 2007-12-11  Eric Blake  <ebb9@byu.net>
26297
26298         Fix bug with -0.0L in previous patch.
26299         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
26300         * tests/test-isnan.c (main): Also test on zeroes.
26301         * tests/test-isnanf.c (main): Likewise.
26302         * tests/test-isnanl.h (main): Likewise.
26303
26304         Detect pseudo-denormals on x86 even when cross-compiling.
26305         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
26306         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
26307         invalid bit patterns that happen to satisfy ==.
26308
26309         Avoid link failures with separate libtests.a.
26310         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
26311         last, to satisfy circular dependencies.
26312
26313 2007-12-11  Eric Blake  <ebb9@byu.net>
26314         and Bruno Haible  <bruno@clisp.org>
26315
26316         Fix OpenBSD 4.0 <float.h> handling of long double.
26317         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
26318         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
26319         * doc/headers/float.texi (float.h): Document OpenBSD bug.
26320
26321 2007-12-11  Jim Meyering  <meyering@redhat.com>
26322
26323         * users.txt: Add libvirt.
26324
26325         Support versions of autoconf prior to 2.59c.
26326         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
26327         if it is not already defined.
26328
26329 2007-12-09  Bruno Haible  <bruno@clisp.org>
26330
26331         Let 'gnulib-tool --import' collect sources needed for the tests in
26332         tests/ rather than in lib/.
26333         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
26334         argument. If true, add rules to generate libtests.a, and put libtests.a
26335         into $(LDADD). Consider source files in subdirectories and set
26336         uses_subdirs.
26337         (func_emit_initmacro_start, func_emit_initmacro_end,
26338         func_emit_initmacro_done): Pass all arguments explicitly.
26339         (func_import): Determine two module lists main_modules,
26340         testsrelated_modules. Determine use_libtests. Determine two variables
26341         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
26342         instead of just sed_transform_lib_file. Determine two variables
26343         main_files and testsrelated_files. Compute 'files' as the union of
26344         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
26345         func_add_or_update. In the generated gnulib-comp.m4, collect the
26346         object files for tests/ in different variables than those for lib/.
26347         Substitute LIBTESTS_LIBDEPS.
26348         (func_create_testdir): Combine the uses_subdirs results from
26349         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
26350
26351 2007-12-09  Bruno Haible  <bruno@clisp.org>
26352
26353         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
26354         the build-aux directory.
26355
26356 2007-12-09  Bruno Haible  <bruno@clisp.org>
26357
26358         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
26359         introduced on 2006-09-09.
26360
26361 2007-12-07  Jim Meyering  <meyering@redhat.com>
26362
26363         Let these macros work also with autoconf-2.59.
26364         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
26365         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
26366         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
26367
26368 2007-12-06  Jim Meyering  <meyering@redhat.com>
26369
26370         Avoid a configure-time syntax error in gl_FUNC_ACL.
26371         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
26372         function in each branch, before testing the cache variable.
26373
26374 2007-12-04  Eric Blake  <ebb9@byu.net>
26375
26376         Make scripts executable.
26377         * build-aux/config.guess: Add execute permissions.
26378         * build-aux/config.sub: Likewise.
26379         * build-aux/gendocs.sh: Likewise.
26380
26381         Fix frexp on mingw.
26382         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
26383         cross-compiling.
26384         * doc/functions/frexp.texi (frexp): Document the bug.
26385
26386         Make cygwin fseeko check more reliable.
26387         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
26388         version numbers, rather than unrelated feature check.
26389         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
26390         * doc/functions/ftello.texi (ftello): Likewise.
26391         Reported by Bruno Haible.
26392
26393         * m4/strerror.m4: Bump version number.
26394
26395 2007-12-03  Bruno Haible  <bruno@clisp.org>
26396
26397         * doc/functions/mprotect.texi: Mention the mingw problem.
26398
26399 2007-12-03  Eric Blake  <ebb9@byu.net>
26400
26401         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
26402         REPLACE_STRERROR is initialized before this macro.
26403
26404 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
26405
26406         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
26407         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
26408         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
26409         put -lsec in even for programs other than 'ls'.  This fixes a problem
26410         for gettext reported by Bruno Haible in
26411         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
26412         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
26413         Add support for Solaris 10.  This isn't efficient, but should get the
26414         job done for now.
26415
26416 2007-12-03  James Youngman  <jay@gnu.org>
26417
26418         * doc/regexprops-generic.texi: change "an close-group" to "a
26419         close-group" and "illegal" to "not allowed".
26420
26421 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26422
26423         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
26424         pr_byname.h. Needed for the rare case when the maintainer has done
26425         "make maintainer-clean" in the source directory and then attempts a
26426         build outside the source directory.
26427         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
26428         scripts_byname.h.
26429
26430 2007-12-02  Martin Lambers <marlam@marlam.de>
26431             Bruno Haible  <bruno@clisp.org>
26432
26433         * lib/getpagesize.h: Remove file.
26434         * lib/unistd.in.h: Include declaration of getpagesize here.
26435         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
26436         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
26437         HAVE_SYS_PARAM_H.
26438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
26439         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
26440         * modules/getpagesize (Files): Remove lib/getpagesize.h.
26441         (Depends-on): Add unistd.
26442         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26443         (Include): Use <unistd.h> instead of getpagesize.h.
26444         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
26445         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
26446         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
26447         gl_GETPAGESIZE invocation, already handled by module dependency.
26448         * lib/pagealign_alloc.c: Don't include getpagesize.h.
26449
26450 2007-12-02  Bruno Haible  <bruno@clisp.org>
26451
26452         * modules/strings-tests: New file.
26453         * tests/test-strings.c: New file.
26454
26455         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
26456         * lib/strings.in.h: New file.
26457         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
26458         * m4/strings_h.m4: New file.
26459         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
26460         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
26461         * modules/strings: New file.
26462         * modules/string (Makefile.am): Update.
26463         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
26464         Reported by Karl Berry.
26465
26466 2007-12-01  Eric Blake  <ebb9@byu.net>
26467
26468         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
26469         accomodate fix in cygwin 1.5.25.
26470
26471 2007-12-01  Jim Meyering  <meyering@redhat.com>
26472
26473         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
26474         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
26475         that would inhibit utf8-optimization of a regexp containing line-
26476         or buffer-anchors, e.g., `^', `$'.
26477
26478 2007-11-30  Bruno Haible  <bruno@clisp.org>
26479
26480         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
26481         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
26482         glthread_recursive_lock_init.
26483         * lib/lock.c (glthread_recursive_lock_init)
26484         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
26485         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
26486
26487 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
26488
26489         New function qset_acl, like set_acl but with syscall semantics.
26490         * lib/acl.h (qset_acl): New decl.
26491         * lib/acl.c (qset_acl): New function.
26492         (set_acl): Use new function.  Use more-consistent diagnostics.
26493
26494 2007-11-28  Jim Meyering  <meyering@redhat.com>
26495
26496         * modules/physmem (License): Change from GPL to LGPLv2+.
26497
26498 2007-11-26  Bruno Haible  <bruno@clisp.org>
26499
26500         * lib/vasnprintf.c (decode_long_double): Don't abort if the
26501         'long double' type has excess precision.
26502         Reported by Jim Meyering in
26503         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
26504
26505 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26506
26507         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
26508         Sync from <http://gnu.org/licenses>.
26509         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
26510         with license text from same location.
26511         * doc/maintain.texi, doc/standards.texi:  Sync from
26512         <http://savannah.gnu.org/projects/gnustandards>.
26513
26514 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
26515         and Jim Meyering  <meyering@redhat.com>
26516
26517         Adjust getdate' grammar to accept a slightly more regular language.
26518         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
26519         Before, the former was rejected.
26520         * lib/getdate.y (digits_to_date_time): New function, factored
26521         out of ...
26522         (number): ...here.  Just call digits_to_date_time.
26523         (hybrid): New non-terminal to handle an <unsigned number,
26524         signed relative offset> sequence consistently.
26525
26526 2007-11-18  Jim Meyering  <meyering@redhat.com>
26527
26528         Pull my changes from coreutils:
26529         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
26530         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
26531         use of $gnulib_tool_option_extras, so that it's separated from the
26532         preceding argument.
26533
26534         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
26535         * build-aux/bootstrap (cp_mark_as_generated): Create any required
26536         parent destination directories before copying a file into place.
26537
26538 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
26539
26540         bootstrap: work also with 4-argument variant of AC_INIT
26541         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
26542
26543 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26544
26545         Port test-getaddrinfo to Solaris.
26546         Problem reported by Bruno Haible in
26547         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
26548         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
26549         explanation of setting 'hints'.
26550         Don't reject an implementation merely because it returns EAI_SERVICE.
26551         (EAI_SERVICE): Define to 0 if not defined.
26552
26553 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
26554
26555         The license of gnu-make and posix-shell is now "GPLed build tool".
26556         * modules/gnu-make (License): Likewise.
26557         * modules/posix-shell (License): Likewise.
26558
26559         New module posix-shell, for determining a POSIX shell
26560         or perhaps something that is close enough to a POSIX shell.
26561         * m4/posix-shell.m4: New file.
26562         * modules/posix-shell: New file.
26563
26564         * MODULES.html.sh: Mention new module.
26565
26566         New module gnu-make, for determining whether we're using GNU Make.
26567         * m4/gnu-make.m4: New file.
26568         * modules/gnu-make: New file.
26569         * MODULES.html.sh: Mention new module.
26570
26571 2007-11-14  Jim Meyering  <meyering@redhat.com>
26572
26573         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
26574         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
26575         use this macro to create a function _definition_.
26576         Remove useless "#undef ARGMATCH_DIE".
26577
26578 2007-11-14  Bruno Haible  <bruno@clisp.org>
26579
26580         * lib/config.charset: Update for OpenBSD 4.1.
26581         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
26582
26583 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
26584
26585         Document 64-bit #if problems in stdint.texi.
26586         * doc/headers/stdint.texi (stdint.h): Mention problems with
26587         64-bit-#if, and how to work around them.
26588
26589         Don't insist on 'long long int' support in the preprocessor.  It
26590         breaks too many things.  For example, PRIdMAX still uses a 'long
26591         long int' format with the latest Sun compiler, even though
26592         HAVE_LONG_LONG_INT isn't defined due to that compiler's
26593         preprocessor problem.  This causes the latest coreutils to dump
26594         core on Solaris 10 sparc with the Sun C compiler.
26595         Instead, fix the 2007-10-16 problem in a different way, by evaluating
26596         the troublesome expressions at configure-time, not at #if-time.
26597         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
26598         preprocessor.
26599         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
26600         compile-time C checks, done at 'configure'-time.
26601         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
26602         * modules/inttypes (Makefile): Substitute the new symbols that
26603         gl_INTTYPES_H now generates.
26604         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
26605
26606 2007-11-12  Bruno Haible  <bruno@clisp.org>
26607
26608         Tests for Unicode character classification functions.
26609
26610         * modules/unictype/bidicategory-byname-tests: New file.
26611         * modules/unictype/bidicategory-name-tests: New file.
26612         * modules/unictype/bidicategory-of-tests: New file.
26613         * modules/unictype/bidicategory-test-tests: New file.
26614         * modules/unictype/block-list-tests: New file.
26615         * modules/unictype/block-of-tests: New file.
26616         * modules/unictype/block-test-tests: New file.
26617         * modules/unictype/category-C-tests: New file.
26618         * modules/unictype/category-Cc-tests: New file.
26619         * modules/unictype/category-Cf-tests: New file.
26620         * modules/unictype/category-Cn-tests: New file.
26621         * modules/unictype/category-Co-tests: New file.
26622         * modules/unictype/category-Cs-tests: New file.
26623         * modules/unictype/category-L-tests: New file.
26624         * modules/unictype/category-Ll-tests: New file.
26625         * modules/unictype/category-Lm-tests: New file.
26626         * modules/unictype/category-Lo-tests: New file.
26627         * modules/unictype/category-Lt-tests: New file.
26628         * modules/unictype/category-Lu-tests: New file.
26629         * modules/unictype/category-M-tests: New file.
26630         * modules/unictype/category-Mc-tests: New file.
26631         * modules/unictype/category-Me-tests: New file.
26632         * modules/unictype/category-Mn-tests: New file.
26633         * modules/unictype/category-N-tests: New file.
26634         * modules/unictype/category-Nd-tests: New file.
26635         * modules/unictype/category-Nl-tests: New file.
26636         * modules/unictype/category-No-tests: New file.
26637         * modules/unictype/category-P-tests: New file.
26638         * modules/unictype/category-Pc-tests: New file.
26639         * modules/unictype/category-Pd-tests: New file.
26640         * modules/unictype/category-Pe-tests: New file.
26641         * modules/unictype/category-Pf-tests: New file.
26642         * modules/unictype/category-Pi-tests: New file.
26643         * modules/unictype/category-Po-tests: New file.
26644         * modules/unictype/category-Ps-tests: New file.
26645         * modules/unictype/category-S-tests: New file.
26646         * modules/unictype/category-Sc-tests: New file.
26647         * modules/unictype/category-Sk-tests: New file.
26648         * modules/unictype/category-Sm-tests: New file.
26649         * modules/unictype/category-So-tests: New file.
26650         * modules/unictype/category-Z-tests: New file.
26651         * modules/unictype/category-Zl-tests: New file.
26652         * modules/unictype/category-Zp-tests: New file.
26653         * modules/unictype/category-Zs-tests: New file.
26654         * modules/unictype/category-and-not-tests: New file.
26655         * modules/unictype/category-and-tests: New file.
26656         * modules/unictype/category-byname-tests: New file.
26657         * modules/unictype/category-name-tests: New file.
26658         * modules/unictype/category-none-tests: New file.
26659         * modules/unictype/category-of-tests: New file.
26660         * modules/unictype/category-or-tests: New file.
26661         * modules/unictype/category-test-withtable-tests: New file.
26662         * modules/unictype/combining-class-tests: New file.
26663         * modules/unictype/ctype-alnum-tests: New file.
26664         * modules/unictype/ctype-alpha-tests: New file.
26665         * modules/unictype/ctype-blank-tests: New file.
26666         * modules/unictype/ctype-cntrl-tests: New file.
26667         * modules/unictype/ctype-digit-tests: New file.
26668         * modules/unictype/ctype-graph-tests: New file.
26669         * modules/unictype/ctype-lower-tests: New file.
26670         * modules/unictype/ctype-print-tests: New file.
26671         * modules/unictype/ctype-punct-tests: New file.
26672         * modules/unictype/ctype-space-tests: New file.
26673         * modules/unictype/ctype-upper-tests: New file.
26674         * modules/unictype/ctype-xdigit-tests: New file.
26675         * modules/unictype/decimal-digit-tests: New file.
26676         * modules/unictype/digit-tests: New file.
26677         * modules/unictype/mirror-tests: New file.
26678         * modules/unictype/numeric-tests: New file.
26679         * modules/unictype/property-alphabetic-tests: New file.
26680         * modules/unictype/property-ascii-hex-digit-tests: New file.
26681         * modules/unictype/property-bidi-arabic-digit-tests: New file.
26682         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
26683         * modules/unictype/property-bidi-block-separator-tests: New file.
26684         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
26685         * modules/unictype/property-bidi-common-separator-tests: New file.
26686         * modules/unictype/property-bidi-control-tests: New file.
26687         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
26688         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
26689         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
26690         * modules/unictype/property-bidi-european-digit-tests: New file.
26691         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
26692         * modules/unictype/property-bidi-left-to-right-tests: New file.
26693         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
26694         * modules/unictype/property-bidi-other-neutral-tests: New file.
26695         * modules/unictype/property-bidi-pdf-tests: New file.
26696         * modules/unictype/property-bidi-segment-separator-tests: New file.
26697         * modules/unictype/property-bidi-whitespace-tests: New file.
26698         * modules/unictype/property-byname-tests: New file.
26699         * modules/unictype/property-combining-tests: New file.
26700         * modules/unictype/property-composite-tests: New file.
26701         * modules/unictype/property-currency-symbol-tests: New file.
26702         * modules/unictype/property-dash-tests: New file.
26703         * modules/unictype/property-decimal-digit-tests: New file.
26704         * modules/unictype/property-default-ignorable-code-point-tests: New file.
26705         * modules/unictype/property-deprecated-tests: New file.
26706         * modules/unictype/property-diacritic-tests: New file.
26707         * modules/unictype/property-extender-tests: New file.
26708         * modules/unictype/property-format-control-tests: New file.
26709         * modules/unictype/property-grapheme-base-tests: New file.
26710         * modules/unictype/property-grapheme-extend-tests: New file.
26711         * modules/unictype/property-grapheme-link-tests: New file.
26712         * modules/unictype/property-hex-digit-tests: New file.
26713         * modules/unictype/property-hyphen-tests: New file.
26714         * modules/unictype/property-id-continue-tests: New file.
26715         * modules/unictype/property-id-start-tests: New file.
26716         * modules/unictype/property-ideographic-tests: New file.
26717         * modules/unictype/property-ids-binary-operator-tests: New file.
26718         * modules/unictype/property-ids-trinary-operator-tests: New file.
26719         * modules/unictype/property-ignorable-control-tests: New file.
26720         * modules/unictype/property-iso-control-tests: New file.
26721         * modules/unictype/property-join-control-tests: New file.
26722         * modules/unictype/property-left-of-pair-tests: New file.
26723         * modules/unictype/property-line-separator-tests: New file.
26724         * modules/unictype/property-logical-order-exception-tests: New file.
26725         * modules/unictype/property-lowercase-tests: New file.
26726         * modules/unictype/property-math-tests: New file.
26727         * modules/unictype/property-non-break-tests: New file.
26728         * modules/unictype/property-not-a-character-tests: New file.
26729         * modules/unictype/property-numeric-tests: New file.
26730         * modules/unictype/property-other-alphabetic-tests: New file.
26731         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
26732         * modules/unictype/property-other-grapheme-extend-tests: New file.
26733         * modules/unictype/property-other-id-continue-tests: New file.
26734         * modules/unictype/property-other-id-start-tests: New file.
26735         * modules/unictype/property-other-lowercase-tests: New file.
26736         * modules/unictype/property-other-math-tests: New file.
26737         * modules/unictype/property-other-uppercase-tests: New file.
26738         * modules/unictype/property-paired-punctuation-tests: New file.
26739         * modules/unictype/property-paragraph-separator-tests: New file.
26740         * modules/unictype/property-pattern-syntax-tests: New file.
26741         * modules/unictype/property-pattern-white-space-tests: New file.
26742         * modules/unictype/property-private-use-tests: New file.
26743         * modules/unictype/property-punctuation-tests: New file.
26744         * modules/unictype/property-quotation-mark-tests: New file.
26745         * modules/unictype/property-radical-tests: New file.
26746         * modules/unictype/property-sentence-terminal-tests: New file.
26747         * modules/unictype/property-soft-dotted-tests: New file.
26748         * modules/unictype/property-space-tests: New file.
26749         * modules/unictype/property-terminal-punctuation-tests: New file.
26750         * modules/unictype/property-test-tests: New file.
26751         * modules/unictype/property-titlecase-tests: New file.
26752         * modules/unictype/property-unassigned-code-value-tests: New file.
26753         * modules/unictype/property-unified-ideograph-tests: New file.
26754         * modules/unictype/property-uppercase-tests: New file.
26755         * modules/unictype/property-variation-selector-tests: New file.
26756         * modules/unictype/property-white-space-tests: New file.
26757         * modules/unictype/property-xid-continue-tests: New file.
26758         * modules/unictype/property-xid-start-tests: New file.
26759         * modules/unictype/property-zero-width-tests: New file.
26760         * modules/unictype/scripts-tests: New file.
26761         * modules/unictype/syntax-c-ident-tests: New file.
26762         * modules/unictype/syntax-c-whitespace-tests: New file.
26763         * modules/unictype/syntax-java-ident-tests: New file.
26764         * modules/unictype/syntax-java-whitespace-tests: New file.
26765         * tests/unictype/test-bidi_byname.c: New file.
26766         * tests/unictype/test-bidi_name.c: New file.
26767         * tests/unictype/test-bidi_of.c: New file.
26768         * tests/unictype/test-bidi_test.c: New file.
26769         * tests/unictype/test-block_list.c: New file.
26770         * tests/unictype/test-block_of.c: New file.
26771         * tests/unictype/test-block_test.c: New file.
26772         * tests/unictype/test-categ_and.c: New file.
26773         * tests/unictype/test-categ_and_not.c: New file.
26774         * tests/unictype/test-categ_byname.c: New file.
26775         * tests/unictype/test-categ_name.c: New file.
26776         * tests/unictype/test-categ_none.c: New file.
26777         * tests/unictype/test-categ_of.c: New file.
26778         * tests/unictype/test-categ_or.c: New file.
26779         * tests/unictype/test-categ_test_withtable.c: New file.
26780         * tests/unictype/test-combining.c: New file.
26781         * tests/unictype/test-decdigit.c: New file.
26782         * tests/unictype/test-digit.c: New file.
26783         * tests/unictype/test-mirror.c: New file.
26784         * tests/unictype/test-numeric.c: New file.
26785         * tests/unictype/test-pr_byname.c: New file.
26786         * tests/unictype/test-pr_test.c: New file.
26787         * tests/unictype/test-predicate-part1.h: New file.
26788         * tests/unictype/test-predicate-part2.h: New file.
26789         * tests/unictype/test-scripts.c: New file.
26790         * tests/unictype/test-sy_c_ident.c: New file.
26791         * tests/unictype/test-sy_java_ident.c: New file.
26792
26793         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
26794         for Unicode 5.0.0.
26795         * tests/unictype/test-categ_Cc.c: Likewise.
26796         * tests/unictype/test-categ_Cf.c: Likewise.
26797         * tests/unictype/test-categ_Cn.c: Likewise.
26798         * tests/unictype/test-categ_Co.c: Likewise.
26799         * tests/unictype/test-categ_Cs.c: Likewise.
26800         * tests/unictype/test-categ_L.c: Likewise.
26801         * tests/unictype/test-categ_Ll.c: Likewise.
26802         * tests/unictype/test-categ_Lm.c: Likewise.
26803         * tests/unictype/test-categ_Lo.c: Likewise.
26804         * tests/unictype/test-categ_Lt.c: Likewise.
26805         * tests/unictype/test-categ_Lu.c: Likewise.
26806         * tests/unictype/test-categ_M.c: Likewise.
26807         * tests/unictype/test-categ_Mc.c: Likewise.
26808         * tests/unictype/test-categ_Me.c: Likewise.
26809         * tests/unictype/test-categ_Mn.c: Likewise.
26810         * tests/unictype/test-categ_N.c: Likewise.
26811         * tests/unictype/test-categ_Nd.c: Likewise.
26812         * tests/unictype/test-categ_Nl.c: Likewise.
26813         * tests/unictype/test-categ_No.c: Likewise.
26814         * tests/unictype/test-categ_P.c: Likewise.
26815         * tests/unictype/test-categ_Pc.c: Likewise.
26816         * tests/unictype/test-categ_Pd.c: Likewise.
26817         * tests/unictype/test-categ_Pe.c: Likewise.
26818         * tests/unictype/test-categ_Pf.c: Likewise.
26819         * tests/unictype/test-categ_Pi.c: Likewise.
26820         * tests/unictype/test-categ_Po.c: Likewise.
26821         * tests/unictype/test-categ_Ps.c: Likewise.
26822         * tests/unictype/test-categ_S.c: Likewise.
26823         * tests/unictype/test-categ_Sc.c: Likewise.
26824         * tests/unictype/test-categ_Sk.c: Likewise.
26825         * tests/unictype/test-categ_Sm.c: Likewise.
26826         * tests/unictype/test-categ_So.c: Likewise.
26827         * tests/unictype/test-categ_Z.c: Likewise.
26828         * tests/unictype/test-categ_Zl.c: Likewise.
26829         * tests/unictype/test-categ_Zp.c: Likewise.
26830         * tests/unictype/test-categ_Zs.c: Likewise.
26831         * tests/unictype/test-ctype_alnum.c: Likewise.
26832         * tests/unictype/test-ctype_alpha.c: Likewise.
26833         * tests/unictype/test-ctype_blank.c: Likewise.
26834         * tests/unictype/test-ctype_cntrl.c: Likewise.
26835         * tests/unictype/test-ctype_digit.c: Likewise.
26836         * tests/unictype/test-ctype_graph.c: Likewise.
26837         * tests/unictype/test-ctype_lower.c: Likewise.
26838         * tests/unictype/test-ctype_print.c: Likewise.
26839         * tests/unictype/test-ctype_punct.c: Likewise.
26840         * tests/unictype/test-ctype_space.c: Likewise.
26841         * tests/unictype/test-ctype_upper.c: Likewise.
26842         * tests/unictype/test-ctype_xdigit.c: Likewise.
26843         * tests/unictype/test-decdigit.h: Likewise.
26844         * tests/unictype/test-digit.h: Likewise.
26845         * tests/unictype/test-numeric.h: Likewise.
26846         * tests/unictype/test-pr_alphabetic.c: Likewise.
26847         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
26848         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26849         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
26850         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
26851         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
26852         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
26853         * tests/unictype/test-pr_bidi_control.c: Likewise.
26854         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
26855         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
26856         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26857         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26858         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26859         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26860         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26861         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26862         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
26863         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
26864         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
26865         * tests/unictype/test-pr_combining.c: Likewise.
26866         * tests/unictype/test-pr_composite.c: Likewise.
26867         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26868         * tests/unictype/test-pr_dash.c: Likewise.
26869         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26870         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
26871         * tests/unictype/test-pr_deprecated.c: Likewise.
26872         * tests/unictype/test-pr_diacritic.c: Likewise.
26873         * tests/unictype/test-pr_extender.c: Likewise.
26874         * tests/unictype/test-pr_format_control.c: Likewise.
26875         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26876         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26877         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26878         * tests/unictype/test-pr_hex_digit.c: Likewise.
26879         * tests/unictype/test-pr_hyphen.c: Likewise.
26880         * tests/unictype/test-pr_id_continue.c: Likewise.
26881         * tests/unictype/test-pr_id_start.c: Likewise.
26882         * tests/unictype/test-pr_ideographic.c: Likewise.
26883         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
26884         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
26885         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26886         * tests/unictype/test-pr_iso_control.c: Likewise.
26887         * tests/unictype/test-pr_join_control.c: Likewise.
26888         * tests/unictype/test-pr_left_of_pair.c: Likewise.
26889         * tests/unictype/test-pr_line_separator.c: Likewise.
26890         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26891         * tests/unictype/test-pr_lowercase.c: Likewise.
26892         * tests/unictype/test-pr_math.c: Likewise.
26893         * tests/unictype/test-pr_non_break.c: Likewise.
26894         * tests/unictype/test-pr_not_a_character.c: Likewise.
26895         * tests/unictype/test-pr_numeric.c: Likewise.
26896         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26897         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
26898         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
26899         * tests/unictype/test-pr_other_id_continue.c: Likewise.
26900         * tests/unictype/test-pr_other_id_start.c: Likewise.
26901         * tests/unictype/test-pr_other_lowercase.c: Likewise.
26902         * tests/unictype/test-pr_other_math.c: Likewise.
26903         * tests/unictype/test-pr_other_uppercase.c: Likewise.
26904         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
26905         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
26906         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
26907         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
26908         * tests/unictype/test-pr_private_use.c: Likewise.
26909         * tests/unictype/test-pr_punctuation.c: Likewise.
26910         * tests/unictype/test-pr_quotation_mark.c: Likewise.
26911         * tests/unictype/test-pr_radical.c: Likewise.
26912         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26913         * tests/unictype/test-pr_soft_dotted.c: Likewise.
26914         * tests/unictype/test-pr_space.c: Likewise.
26915         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26916         * tests/unictype/test-pr_titlecase.c: Likewise.
26917         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26918         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26919         * tests/unictype/test-pr_uppercase.c: Likewise.
26920         * tests/unictype/test-pr_variation_selector.c: Likewise.
26921         * tests/unictype/test-pr_white_space.c: Likewise.
26922         * tests/unictype/test-pr_xid_continue.c: Likewise.
26923         * tests/unictype/test-pr_xid_start.c: Likewise.
26924         * tests/unictype/test-pr_zero_width.c: Likewise.
26925         * tests/unictype/test-sy_c_whitespace.c: Likewise.
26926         * tests/unictype/test-sy_java_whitespace.c: Likewise.
26927
26928 2007-11-12  Bruno Haible  <bruno@clisp.org>
26929
26930         Unicode character classification functions.
26931         * lib/unictype.h: New file.
26932         * modules/unictype/base: New file.
26933         * modules/unictype/category-L: New file.
26934         * modules/unictype/category-Lu: New file.
26935         * modules/unictype/category-Ll: New file.
26936         * modules/unictype/category-Lt: New file.
26937         * modules/unictype/category-Lm: New file.
26938         * modules/unictype/category-Lo: New file.
26939         * modules/unictype/category-M: New file.
26940         * modules/unictype/category-Mn: New file.
26941         * modules/unictype/category-Mc: New file.
26942         * modules/unictype/category-Me: New file.
26943         * modules/unictype/category-N: New file.
26944         * modules/unictype/category-Nd: New file.
26945         * modules/unictype/category-Nl: New file.
26946         * modules/unictype/category-No: New file.
26947         * modules/unictype/category-P: New file.
26948         * modules/unictype/category-Pc: New file.
26949         * modules/unictype/category-Pd: New file.
26950         * modules/unictype/category-Ps: New file.
26951         * modules/unictype/category-Pe: New file.
26952         * modules/unictype/category-Pi: New file.
26953         * modules/unictype/category-Pf: New file.
26954         * modules/unictype/category-Po: New file.
26955         * modules/unictype/category-S: New file.
26956         * modules/unictype/category-Sm: New file.
26957         * modules/unictype/category-Sc: New file.
26958         * modules/unictype/category-Sk: New file.
26959         * modules/unictype/category-So: New file.
26960         * modules/unictype/category-Z: New file.
26961         * modules/unictype/category-Zs: New file.
26962         * modules/unictype/category-Zl: New file.
26963         * modules/unictype/category-Zp: New file.
26964         * modules/unictype/category-C: New file.
26965         * modules/unictype/category-Cc: New file.
26966         * modules/unictype/category-Cf: New file.
26967         * modules/unictype/category-Cs: New file.
26968         * modules/unictype/category-Co: New file.
26969         * modules/unictype/category-Cn: New file.
26970         * modules/unictype/category-or: New file.
26971         * modules/unictype/category-of: New file.
26972         * modules/unictype/category-test: New file.
26973         * modules/unictype/category-test-withtable: New file.
26974         * modules/unictype/category-byname: New file.
26975         * modules/unictype/category-none: New file.
26976         * modules/unictype/category-and: New file.
26977         * modules/unictype/category-and-not: New file.
26978         * modules/unictype/category-name: New file.
26979         * modules/unictype/combining-class: New file.
26980         * modules/unictype/category-all: New file.
26981         * modules/unictype/bidicategory-all: New file.
26982         * modules/unictype/bidicategory-byname: New file.
26983         * modules/unictype/bidicategory-name: New file.
26984         * modules/unictype/bidicategory-of: New file.
26985         * modules/unictype/bidicategory-test: New file.
26986         * modules/unictype/decimal-digit: New file.
26987         * modules/unictype/digit: New file.
26988         * modules/unictype/numeric: New file.
26989         * modules/unictype/mirror: New file.
26990         * modules/unictype/property-white-space: New file.
26991         * modules/unictype/property-alphabetic: New file.
26992         * modules/unictype/property-other-alphabetic: New file.
26993         * modules/unictype/property-not-a-character: New file.
26994         * modules/unictype/property-default-ignorable-code-point: New file.
26995         * modules/unictype/property-other-default-ignorable-code-point: New
26996         file.
26997         * modules/unictype/property-deprecated: New file.
26998         * modules/unictype/property-logical-order-exception: New file.
26999         * modules/unictype/property-variation-selector: New file.
27000         * modules/unictype/property-private-use: New file.
27001         * modules/unictype/property-unassigned-code-value: New file.
27002         * modules/unictype/property-uppercase: New file.
27003         * modules/unictype/property-other-uppercase: New file.
27004         * modules/unictype/property-lowercase: New file.
27005         * modules/unictype/property-other-lowercase: New file.
27006         * modules/unictype/property-titlecase: New file.
27007         * modules/unictype/property-soft-dotted: New file.
27008         * modules/unictype/property-id-start: New file.
27009         * modules/unictype/property-other-id-start: New file.
27010         * modules/unictype/property-id-continue: New file.
27011         * modules/unictype/property-other-id-continue: New file.
27012         * modules/unictype/property-xid-start: New file.
27013         * modules/unictype/property-xid-continue: New file.
27014         * modules/unictype/property-pattern-white-space: New file.
27015         * modules/unictype/property-pattern-syntax: New file.
27016         * modules/unictype/property-join-control: New file.
27017         * modules/unictype/property-grapheme-base: New file.
27018         * modules/unictype/property-grapheme-extend: New file.
27019         * modules/unictype/property-other-grapheme-extend: New file.
27020         * modules/unictype/property-grapheme-link: New file.
27021         * modules/unictype/property-bidi-control: New file.
27022         * modules/unictype/property-bidi-left-to-right: New file.
27023         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
27024         * modules/unictype/property-bidi-arabic-right-to-left: New file.
27025         * modules/unictype/property-bidi-european-digit: New file.
27026         * modules/unictype/property-bidi-eur-num-separator: New file.
27027         * modules/unictype/property-bidi-eur-num-terminator: New file.
27028         * modules/unictype/property-bidi-arabic-digit: New file.
27029         * modules/unictype/property-bidi-common-separator: New file.
27030         * modules/unictype/property-bidi-block-separator: New file.
27031         * modules/unictype/property-bidi-segment-separator: New file.
27032         * modules/unictype/property-bidi-whitespace: New file.
27033         * modules/unictype/property-bidi-non-spacing-mark: New file.
27034         * modules/unictype/property-bidi-boundary-neutral: New file.
27035         * modules/unictype/property-bidi-pdf: New file.
27036         * modules/unictype/property-bidi-embedding-or-override: New file.
27037         * modules/unictype/property-bidi-other-neutral: New file.
27038         * modules/unictype/property-hex-digit: New file.
27039         * modules/unictype/property-ascii-hex-digit: New file.
27040         * modules/unictype/property-ideographic: New file.
27041         * modules/unictype/property-unified-ideograph: New file.
27042         * modules/unictype/property-radical: New file.
27043         * modules/unictype/property-ids-binary-operator: New file.
27044         * modules/unictype/property-ids-trinary-operator: New file.
27045         * modules/unictype/property-zero-width: New file.
27046         * modules/unictype/property-space: New file.
27047         * modules/unictype/property-non-break: New file.
27048         * modules/unictype/property-iso-control: New file.
27049         * modules/unictype/property-format-control: New file.
27050         * modules/unictype/property-dash: New file.
27051         * modules/unictype/property-hyphen: New file.
27052         * modules/unictype/property-punctuation: New file.
27053         * modules/unictype/property-line-separator: New file.
27054         * modules/unictype/property-paragraph-separator: New file.
27055         * modules/unictype/property-quotation-mark: New file.
27056         * modules/unictype/property-sentence-terminal: New file.
27057         * modules/unictype/property-terminal-punctuation: New file.
27058         * modules/unictype/property-currency-symbol: New file.
27059         * modules/unictype/property-math: New file.
27060         * modules/unictype/property-other-math: New file.
27061         * modules/unictype/property-paired-punctuation: New file.
27062         * modules/unictype/property-left-of-pair: New file.
27063         * modules/unictype/property-combining: New file.
27064         * modules/unictype/property-composite: New file.
27065         * modules/unictype/property-decimal-digit: New file.
27066         * modules/unictype/property-numeric: New file.
27067         * modules/unictype/property-diacritic: New file.
27068         * modules/unictype/property-extender: New file.
27069         * modules/unictype/property-ignorable-control: New file.
27070         * modules/unictype/property-test: New file.
27071         * modules/unictype/property-byname: New file.
27072         * modules/unictype/property-all: New file.
27073         * modules/unictype/scripts: New file.
27074         * modules/unictype/scripts-all: New file.
27075         * modules/unictype/block-of: New file.
27076         * modules/unictype/block-test: New file.
27077         * modules/unictype/block-list: New file.
27078         * modules/unictype/block-all: New file.
27079         * modules/unictype/syntax-c-whitespace: New file.
27080         * modules/unictype/syntax-java-whitespace: New file.
27081         * modules/unictype/syntax-c-ident: New file.
27082         * modules/unictype/syntax-java-ident: New file.
27083         * modules/unictype/ctype-alnum: New file.
27084         * modules/unictype/ctype-alpha: New file.
27085         * modules/unictype/ctype-cntrl: New file.
27086         * modules/unictype/ctype-digit: New file.
27087         * modules/unictype/ctype-graph: New file.
27088         * modules/unictype/ctype-lower: New file.
27089         * modules/unictype/ctype-print: New file.
27090         * modules/unictype/ctype-punct: New file.
27091         * modules/unictype/ctype-space: New file.
27092         * modules/unictype/ctype-upper: New file.
27093         * modules/unictype/ctype-xdigit: New file.
27094         * modules/unictype/ctype-blank: New file.
27095         * lib/unictype/bidi_byname.c: New file.
27096         * lib/unictype/bidi_name.c: New file.
27097         * lib/unictype/bidi_of.c: New file.
27098         * lib/unictype/bidi_test.c: New file.
27099         * lib/unictype/bitmap.h: New file.
27100         * lib/unictype/block_test.c: New file.
27101         * lib/unictype/blocks.c: New file.
27102         * lib/unictype/categ_C.c: New file.
27103         * lib/unictype/categ_Cc.c: New file.
27104         * lib/unictype/categ_Cf.c: New file.
27105         * lib/unictype/categ_Cn.c: New file.
27106         * lib/unictype/categ_Co.c: New file.
27107         * lib/unictype/categ_Cs.c: New file.
27108         * lib/unictype/categ_L.c: New file.
27109         * lib/unictype/categ_Ll.c: New file.
27110         * lib/unictype/categ_Lm.c: New file.
27111         * lib/unictype/categ_Lo.c: New file.
27112         * lib/unictype/categ_Lt.c: New file.
27113         * lib/unictype/categ_Lu.c: New file.
27114         * lib/unictype/categ_M.c: New file.
27115         * lib/unictype/categ_Mc.c: New file.
27116         * lib/unictype/categ_Me.c: New file.
27117         * lib/unictype/categ_Mn.c: New file.
27118         * lib/unictype/categ_N.c: New file.
27119         * lib/unictype/categ_Nd.c: New file.
27120         * lib/unictype/categ_Nl.c: New file.
27121         * lib/unictype/categ_No.c: New file.
27122         * lib/unictype/categ_P.c: New file.
27123         * lib/unictype/categ_Pc.c: New file.
27124         * lib/unictype/categ_Pd.c: New file.
27125         * lib/unictype/categ_Pe.c: New file.
27126         * lib/unictype/categ_Pf.c: New file.
27127         * lib/unictype/categ_Pi.c: New file.
27128         * lib/unictype/categ_Po.c: New file.
27129         * lib/unictype/categ_Ps.c: New file.
27130         * lib/unictype/categ_S.c: New file.
27131         * lib/unictype/categ_Sc.c: New file.
27132         * lib/unictype/categ_Sk.c: New file.
27133         * lib/unictype/categ_Sm.c: New file.
27134         * lib/unictype/categ_So.c: New file.
27135         * lib/unictype/categ_Z.c: New file.
27136         * lib/unictype/categ_Zl.c: New file.
27137         * lib/unictype/categ_Zp.c: New file.
27138         * lib/unictype/categ_Zs.c: New file.
27139         * lib/unictype/categ_and.c: New file.
27140         * lib/unictype/categ_and_not.c: New file.
27141         * lib/unictype/categ_byname.c: New file.
27142         * lib/unictype/categ_name.c: New file.
27143         * lib/unictype/categ_none.c: New file.
27144         * lib/unictype/categ_of.c: New file.
27145         * lib/unictype/categ_or.c: New file.
27146         * lib/unictype/categ_test.c: New file.
27147         * lib/unictype/combining.c: New file.
27148         * lib/unictype/ctype_alnum.c: New file.
27149         * lib/unictype/ctype_alpha.c: New file.
27150         * lib/unictype/ctype_blank.c: New file.
27151         * lib/unictype/ctype_cntrl.c: New file.
27152         * lib/unictype/ctype_digit.c: New file.
27153         * lib/unictype/ctype_graph.c: New file.
27154         * lib/unictype/ctype_lower.c: New file.
27155         * lib/unictype/ctype_print.c: New file.
27156         * lib/unictype/ctype_punct.c: New file.
27157         * lib/unictype/ctype_space.c: New file.
27158         * lib/unictype/ctype_upper.c: New file.
27159         * lib/unictype/ctype_xdigit.c: New file.
27160         * lib/unictype/decdigit.c: New file.
27161         * lib/unictype/digit.c: New file.
27162         * lib/unictype/identsyntaxmap.h: New file.
27163         * lib/unictype/mirror.c: New file.
27164         * lib/unictype/numeric.c: New file.
27165         * lib/unictype/pr_alphabetic.c: New file.
27166         * lib/unictype/pr_ascii_hex_digit.c: New file.
27167         * lib/unictype/pr_bidi_arabic_digit.c: New file.
27168         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
27169         * lib/unictype/pr_bidi_block_separator.c: New file.
27170         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
27171         * lib/unictype/pr_bidi_common_separator.c: New file.
27172         * lib/unictype/pr_bidi_control.c: New file.
27173         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
27174         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
27175         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
27176         * lib/unictype/pr_bidi_european_digit.c: New file.
27177         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
27178         * lib/unictype/pr_bidi_left_to_right.c: New file.
27179         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
27180         * lib/unictype/pr_bidi_other_neutral.c: New file.
27181         * lib/unictype/pr_bidi_pdf.c: New file.
27182         * lib/unictype/pr_bidi_segment_separator.c: New file.
27183         * lib/unictype/pr_bidi_whitespace.c: New file.
27184         * lib/unictype/pr_byname.c: New file.
27185         * lib/unictype/pr_byname.gperf: New file.
27186         * lib/unictype/pr_combining.c: New file.
27187         * lib/unictype/pr_composite.c: New file.
27188         * lib/unictype/pr_currency_symbol.c: New file.
27189         * lib/unictype/pr_dash.c: New file.
27190         * lib/unictype/pr_decimal_digit.c: New file.
27191         * lib/unictype/pr_default_ignorable_code_point.c: New file.
27192         * lib/unictype/pr_deprecated.c: New file.
27193         * lib/unictype/pr_diacritic.c: New file.
27194         * lib/unictype/pr_extender.c: New file.
27195         * lib/unictype/pr_format_control.c: New file.
27196         * lib/unictype/pr_grapheme_base.c: New file.
27197         * lib/unictype/pr_grapheme_extend.c: New file.
27198         * lib/unictype/pr_grapheme_link.c: New file.
27199         * lib/unictype/pr_hex_digit.c: New file.
27200         * lib/unictype/pr_hyphen.c: New file.
27201         * lib/unictype/pr_id_continue.c: New file.
27202         * lib/unictype/pr_id_start.c: New file.
27203         * lib/unictype/pr_ideographic.c: New file.
27204         * lib/unictype/pr_ids_binary_operator.c: New file.
27205         * lib/unictype/pr_ids_trinary_operator.c: New file.
27206         * lib/unictype/pr_ignorable_control.c: New file.
27207         * lib/unictype/pr_iso_control.c: New file.
27208         * lib/unictype/pr_join_control.c: New file.
27209         * lib/unictype/pr_left_of_pair.c: New file.
27210         * lib/unictype/pr_line_separator.c: New file.
27211         * lib/unictype/pr_logical_order_exception.c: New file.
27212         * lib/unictype/pr_lowercase.c: New file.
27213         * lib/unictype/pr_math.c: New file.
27214         * lib/unictype/pr_non_break.c: New file.
27215         * lib/unictype/pr_not_a_character.c: New file.
27216         * lib/unictype/pr_numeric.c: New file.
27217         * lib/unictype/pr_other_alphabetic.c: New file.
27218         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
27219         * lib/unictype/pr_other_grapheme_extend.c: New file.
27220         * lib/unictype/pr_other_id_continue.c: New file.
27221         * lib/unictype/pr_other_id_start.c: New file.
27222         * lib/unictype/pr_other_lowercase.c: New file.
27223         * lib/unictype/pr_other_math.c: New file.
27224         * lib/unictype/pr_other_uppercase.c: New file.
27225         * lib/unictype/pr_paired_punctuation.c: New file.
27226         * lib/unictype/pr_paragraph_separator.c: New file.
27227         * lib/unictype/pr_pattern_syntax.c: New file.
27228         * lib/unictype/pr_pattern_white_space.c: New file.
27229         * lib/unictype/pr_private_use.c: New file.
27230         * lib/unictype/pr_punctuation.c: New file.
27231         * lib/unictype/pr_quotation_mark.c: New file.
27232         * lib/unictype/pr_radical.c: New file.
27233         * lib/unictype/pr_sentence_terminal.c: New file.
27234         * lib/unictype/pr_soft_dotted.c: New file.
27235         * lib/unictype/pr_space.c: New file.
27236         * lib/unictype/pr_terminal_punctuation.c: New file.
27237         * lib/unictype/pr_test.c: New file.
27238         * lib/unictype/pr_titlecase.c: New file.
27239         * lib/unictype/pr_unassigned_code_value.c: New file.
27240         * lib/unictype/pr_unified_ideograph.c: New file.
27241         * lib/unictype/pr_uppercase.c: New file.
27242         * lib/unictype/pr_variation_selector.c: New file.
27243         * lib/unictype/pr_white_space.c: New file.
27244         * lib/unictype/pr_xid_continue.c: New file.
27245         * lib/unictype/pr_xid_start.c: New file.
27246         * lib/unictype/pr_zero_width.c: New file.
27247         * lib/unictype/scripts.c: New file.
27248         * lib/unictype/sy_c_ident.c: New file.
27249         * lib/unictype/sy_c_whitespace.c: New file.
27250         * lib/unictype/sy_java_ident.c: New file.
27251         * lib/unictype/sy_java_whitespace.c: New file.
27252
27253         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
27254         Unicode 5.0.0.
27255         * lib/unictype/blocks.h: Likewise.
27256         * lib/unictype/categ_C.h: Likewise.
27257         * lib/unictype/categ_Cc.h: Likewise.
27258         * lib/unictype/categ_Cf.h: Likewise.
27259         * lib/unictype/categ_Cn.h: Likewise.
27260         * lib/unictype/categ_Co.h: Likewise.
27261         * lib/unictype/categ_Cs.h: Likewise.
27262         * lib/unictype/categ_L.h: Likewise.
27263         * lib/unictype/categ_Ll.h: Likewise.
27264         * lib/unictype/categ_Lm.h: Likewise.
27265         * lib/unictype/categ_Lo.h: Likewise.
27266         * lib/unictype/categ_Lt.h: Likewise.
27267         * lib/unictype/categ_Lu.h: Likewise.
27268         * lib/unictype/categ_M.h: Likewise.
27269         * lib/unictype/categ_Mc.h: Likewise.
27270         * lib/unictype/categ_Me.h: Likewise.
27271         * lib/unictype/categ_Mn.h: Likewise.
27272         * lib/unictype/categ_N.h: Likewise.
27273         * lib/unictype/categ_Nd.h: Likewise.
27274         * lib/unictype/categ_Nl.h: Likewise.
27275         * lib/unictype/categ_No.h: Likewise.
27276         * lib/unictype/categ_P.h: Likewise.
27277         * lib/unictype/categ_Pc.h: Likewise.
27278         * lib/unictype/categ_Pd.h: Likewise.
27279         * lib/unictype/categ_Pe.h: Likewise.
27280         * lib/unictype/categ_Pf.h: Likewise.
27281         * lib/unictype/categ_Pi.h: Likewise.
27282         * lib/unictype/categ_Po.h: Likewise.
27283         * lib/unictype/categ_Ps.h: Likewise.
27284         * lib/unictype/categ_S.h: Likewise.
27285         * lib/unictype/categ_Sc.h: Likewise.
27286         * lib/unictype/categ_Sk.h: Likewise.
27287         * lib/unictype/categ_Sm.h: Likewise.
27288         * lib/unictype/categ_So.h: Likewise.
27289         * lib/unictype/categ_Z.h: Likewise.
27290         * lib/unictype/categ_Zl.h: Likewise.
27291         * lib/unictype/categ_Zp.h: Likewise.
27292         * lib/unictype/categ_Zs.h: Likewise.
27293         * lib/unictype/categ_of.h: Likewise.
27294         * lib/unictype/combining.h: Likewise.
27295         * lib/unictype/ctype_alnum.h: Likewise.
27296         * lib/unictype/ctype_alpha.h: Likewise.
27297         * lib/unictype/ctype_blank.h: Likewise.
27298         * lib/unictype/ctype_cntrl.h: Likewise.
27299         * lib/unictype/ctype_digit.h: Likewise.
27300         * lib/unictype/ctype_graph.h: Likewise.
27301         * lib/unictype/ctype_lower.h: Likewise.
27302         * lib/unictype/ctype_print.h: Likewise.
27303         * lib/unictype/ctype_punct.h: Likewise.
27304         * lib/unictype/ctype_space.h: Likewise.
27305         * lib/unictype/ctype_upper.h: Likewise.
27306         * lib/unictype/ctype_xdigit.h: Likewise.
27307         * lib/unictype/decdigit.h: Likewise.
27308         * lib/unictype/digit.h: Likewise.
27309         * lib/unictype/mirror.h: Likewise.
27310         * lib/unictype/numeric.h: Likewise.
27311         * lib/unictype/pr_alphabetic.h: Likewise.
27312         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
27313         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
27314         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
27315         * lib/unictype/pr_bidi_block_separator.h: Likewise.
27316         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
27317         * lib/unictype/pr_bidi_common_separator.h: Likewise.
27318         * lib/unictype/pr_bidi_control.h: Likewise.
27319         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
27320         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
27321         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
27322         * lib/unictype/pr_bidi_european_digit.h: Likewise.
27323         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
27324         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
27325         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
27326         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
27327         * lib/unictype/pr_bidi_pdf.h: Likewise.
27328         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
27329         * lib/unictype/pr_bidi_whitespace.h: Likewise.
27330         * lib/unictype/pr_combining.h: Likewise.
27331         * lib/unictype/pr_composite.h: Likewise.
27332         * lib/unictype/pr_currency_symbol.h: Likewise.
27333         * lib/unictype/pr_dash.h: Likewise.
27334         * lib/unictype/pr_decimal_digit.h: Likewise.
27335         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
27336         * lib/unictype/pr_deprecated.h: Likewise.
27337         * lib/unictype/pr_diacritic.h: Likewise.
27338         * lib/unictype/pr_extender.h: Likewise.
27339         * lib/unictype/pr_format_control.h: Likewise.
27340         * lib/unictype/pr_grapheme_base.h: Likewise.
27341         * lib/unictype/pr_grapheme_extend.h: Likewise.
27342         * lib/unictype/pr_grapheme_link.h: Likewise.
27343         * lib/unictype/pr_hex_digit.h: Likewise.
27344         * lib/unictype/pr_hyphen.h: Likewise.
27345         * lib/unictype/pr_id_continue.h: Likewise.
27346         * lib/unictype/pr_id_start.h: Likewise.
27347         * lib/unictype/pr_ideographic.h: Likewise.
27348         * lib/unictype/pr_ids_binary_operator.h: Likewise.
27349         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
27350         * lib/unictype/pr_ignorable_control.h: Likewise.
27351         * lib/unictype/pr_iso_control.h: Likewise.
27352         * lib/unictype/pr_join_control.h: Likewise.
27353         * lib/unictype/pr_left_of_pair.h: Likewise.
27354         * lib/unictype/pr_line_separator.h: Likewise.
27355         * lib/unictype/pr_logical_order_exception.h: Likewise.
27356         * lib/unictype/pr_lowercase.h: Likewise.
27357         * lib/unictype/pr_math.h: Likewise.
27358         * lib/unictype/pr_non_break.h: Likewise.
27359         * lib/unictype/pr_not_a_character.h: Likewise.
27360         * lib/unictype/pr_numeric.h: Likewise.
27361         * lib/unictype/pr_other_alphabetic.h: Likewise.
27362         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
27363         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
27364         * lib/unictype/pr_other_id_continue.h: Likewise.
27365         * lib/unictype/pr_other_id_start.h: Likewise.
27366         * lib/unictype/pr_other_lowercase.h: Likewise.
27367         * lib/unictype/pr_other_math.h: Likewise.
27368         * lib/unictype/pr_other_uppercase.h: Likewise.
27369         * lib/unictype/pr_paired_punctuation.h: Likewise.
27370         * lib/unictype/pr_paragraph_separator.h: Likewise.
27371         * lib/unictype/pr_pattern_syntax.h: Likewise.
27372         * lib/unictype/pr_pattern_white_space.h: Likewise.
27373         * lib/unictype/pr_private_use.h: Likewise.
27374         * lib/unictype/pr_punctuation.h: Likewise.
27375         * lib/unictype/pr_quotation_mark.h: Likewise.
27376         * lib/unictype/pr_radical.h: Likewise.
27377         * lib/unictype/pr_sentence_terminal.h: Likewise.
27378         * lib/unictype/pr_soft_dotted.h: Likewise.
27379         * lib/unictype/pr_space.h: Likewise.
27380         * lib/unictype/pr_terminal_punctuation.h: Likewise.
27381         * lib/unictype/pr_titlecase.h: Likewise.
27382         * lib/unictype/pr_unassigned_code_value.h: Likewise.
27383         * lib/unictype/pr_unified_ideograph.h: Likewise.
27384         * lib/unictype/pr_uppercase.h: Likewise.
27385         * lib/unictype/pr_variation_selector.h: Likewise.
27386         * lib/unictype/pr_white_space.h: Likewise.
27387         * lib/unictype/pr_xid_continue.h: Likewise.
27388         * lib/unictype/pr_xid_start.h: Likewise.
27389         * lib/unictype/pr_zero_width.h: Likewise.
27390         * lib/unictype/scripts.h: Likewise.
27391         * lib/unictype/scripts_byname.gperf: Likewise.
27392         * lib/unictype/sy_c_ident.h: Likewise.
27393         * lib/unictype/sy_c_whitespace.h: Likewise.
27394         * lib/unictype/sy_java_ident.h: Likewise.
27395         * lib/unictype/sy_java_whitespace.h: Likewise.
27396
27397         * lib/unictype/Makefile: New file.
27398         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
27399         glibc.
27400         * lib/unictype/3level.h: New file, copied from glibc.
27401         * lib/unictype/3levelbit.h: New file.
27402
27403 2007-11-11  Bruno Haible  <bruno@clisp.org>
27404
27405         * modules/gperf: New file.
27406         * modules/iconv_open (Depends-on): Add it.
27407         (Makefile.am): Remove the GPERF definition.
27408
27409 2007-11-11  Bruno Haible  <bruno@clisp.org>
27410
27411         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
27412         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
27413
27414 2007-11-11  Bruno Haible  <bruno@clisp.org>
27415
27416         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
27417         (usage): Remove function.
27418
27419 2007-11-11  Bruno Haible  <bruno@clisp.org>
27420
27421         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
27422         gl_FUNC_CEILF_LIBS.
27423         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
27424         gl_FUNC_CEIL_LIBS.
27425         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
27426         gl_FUNC_CEILL_LIBS.
27427         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
27428         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
27429         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
27430
27431 2007-11-11  Bruno Haible  <bruno@clisp.org>
27432
27433         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
27434         roundf were declared but do not exist on functions.
27435         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
27436         roundl were declared but do not exist on functions.
27437         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
27438         HAVE_FLOORL_AND_CEILL, respectively.
27439         Needed for Sun C on Solaris 10.
27440
27441 2007-11-11  Bruno Haible  <bruno@clisp.org>
27442
27443         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
27444         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
27445         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
27446         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
27447         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
27448         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
27449         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
27450         HAVE_DECL_ROUNDF.
27451         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
27452         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
27453         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
27454         of HAVE_DECL_ROUND*.
27455         * modules/math (Makefile.am): Update.
27456
27457 2007-11-10  Bruno Haible  <bruno@clisp.org>
27458
27459         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
27460         ptrdiff_t as m4/intl.m4.
27461
27462 2007-11-10  Jim Meyering  <meyering@redhat.com>
27463
27464         Avoid link failure for the argmatch test.
27465         * tests/test-argmatch.c (usage): Define function to avoid a link
27466         failure: argmatch_die requires a usage function.
27467
27468 2007-11-09  Bruno Haible  <bruno@clisp.org>
27469
27470         * doc/functions/snprintf.texi: Mention BeOS deficiency.
27471         * doc/functions/vsnprintf.texi: Likewise.
27472         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
27473         with a size argument < 2.
27474
27475 2007-11-09  Bruno Haible  <bruno@clisp.org>
27476
27477         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
27478         buffer. Fixes an inefficiency introduced on 2007-11-03.
27479
27480 2007-11-09  Bruno Haible  <bruno@clisp.org>
27481
27482         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
27483         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
27484
27485 2007-11-08  Jim Meyering  <meyering@redhat.com>
27486
27487         Change cache variable name prefix "jm_" to "gl_" everywhere.
27488         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
27489         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
27490         * m4/uptime.m4: s/gl_/jm_/
27491
27492 2007-11-07  Bruno Haible  <bruno@clisp.org>
27493
27494         Update to GNU gettext 0.17.
27495         * m4/intl.m4: Update to GNU gettext 0.17.
27496         * m4/po.m4: Likewise.
27497         * modules/gettext (Files): Remove m4/ulonglong.m4.
27498         (configure.ac): Require gettext infrastructure from version 0.17.
27499
27500 2007-11-06  Bruno Haible  <bruno@clisp.org>
27501
27502         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
27503         symbolic values are not defined in a public header.
27504         * lib/freadable.c (freadable) [QNX]: Likewise.
27505         * lib/freadahead.c (freadahead) [QNX]: Likewise.
27506         * lib/freading.c (freading) [QNX]: Likewise.
27507         * lib/fseterr.c (fseterr) [QNX]: Likewise.
27508         * lib/fwritable.c (fwritable) [QNX]: Likewise.
27509         * lib/fwriting.c (fwriting) [QNX]: Likewise.
27510         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
27511         Reported by Alain Magloire.
27512
27513         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
27514
27515 2007-11-05  Bruno Haible  <bruno@clisp.org>
27516
27517         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
27518         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
27519         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
27520         Reported by Eric Blake.
27521
27522 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27523             Bruno Haible  <bruno@clisp.org>
27524
27525         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
27526         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
27527         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
27528         (malloc): Undefine also before including <stdlib.h>.
27529         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
27530         Needed on OSF/1 4.0.
27531
27532 2007-11-05  Jim Meyering  <meyering@redhat.com>
27533
27534         git-version-gen: sync from coreutils.
27535         * build-aux/git-version-gen: Add comments.
27536         Change the first '-' to '.' in the snapshot version string,
27537         e.g., 6.9-377-08144 -> 6.9.377-08144
27538         Remove first parameter.
27539         Don't declare a version "-dirty" merely because a time
27540         stamp has changed.
27541
27542 2007-11-04  Bruno Haible  <bruno@clisp.org>
27543
27544         * lib/lock.h: Protect all macro definitions containing an 'if'
27545         statement through a "do { ... } while (0)".
27546         * lib/tls.h: Likewise.
27547
27548 2007-11-04  Bruno Haible  <bruno@clisp.org>
27549
27550         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
27551
27552 2007-11-04  Bruno Haible  <bruno@clisp.org>
27553
27554         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
27555         * modules/fprintf-posix (Depends-on): Add nocrash.
27556         * modules/snprintf-posix (Depends-on): Likewise.
27557         * modules/sprintf-posix (Depends-on): Likewise.
27558         * modules/vasnprintf-posix (Depends-on): Likewise.
27559         * modules/vasprintf-posix (Depends-on): Likewise.
27560         * modules/vfprintf-posix (Depends-on): Likewise.
27561         * modules/vsnprintf-posix (Depends-on): Likewise.
27562         * modules/vsprintf-posix (Depends-on): Likewise.
27563         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
27564         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27565         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27566         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27567         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27568         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27569         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27570
27571 2007-11-04  Bruno Haible  <bruno@clisp.org>
27572
27573         * modules/nocrash: New file.
27574         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
27575         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
27576
27577 2007-11-04  Bruno Haible  <bruno@clisp.org>
27578
27579         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
27580         precision handling.
27581         * tests/test-vasprintf-posix.c (test_function): Likewise.
27582         * tests/test-snprintf-posix.h (test_function): Likewise.
27583         * tests/test-sprintf-posix.h (test_function): Likewise.
27584
27585         Fix *printf behaviour for large precisions on mingw and BeOS.
27586         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
27587         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
27588         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
27589         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27590         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27591         gl_PRINTF_PRECISION and test its result. Invoke
27592         gl_PREREQ_VASNPRINTF_PRECISION.
27593         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27594         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27595         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27596         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27597         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27598         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27599         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27600         * doc/functions/fprintf.texi: Update.
27601         * doc/functions/printf.texi: Update.
27602         * doc/functions/snprintf.texi: Update.
27603         * doc/functions/sprintf.texi: Update.
27604         * doc/functions/vfprintf.texi: Update.
27605         * doc/functions/vprintf.texi: Update.
27606         * doc/functions/vsnprintf.texi: Update.
27607         * doc/functions/vsprintf.texi: Update.
27608
27609 2007-11-04  Bruno Haible  <bruno@clisp.org>
27610
27611         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
27612
27613 2007-11-04  Bruno Haible  <bruno@clisp.org>
27614
27615         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
27616         Reported by Sylvain Beucler <beuc@gnu.org>.
27617
27618 2007-11-03  Bruno Haible  <bruno@clisp.org>
27619
27620         * tests/test-fprintf-posix2.sh: New file.
27621         * tests/test-fprintf-posix2.c: New file.
27622         * modules/fprintf-posix-tests (Files): Add them.
27623         (TESTS): Add test-fprintf-posix2.sh.
27624         (configure.ac): Check for getrlimit and setrlimit.
27625         (check_PROGRAMS): Add test-fprintf-posix2.
27626
27627         * tests/test-printf-posix2.sh: New file.
27628         * tests/test-printf-posix2.c: New file.
27629         * modules/printf-posix-tests (Files): Add them.
27630         (TESTS): Add test-printf-posix2.sh.
27631         (configure.ac): Check for getrlimit and setrlimit.
27632         (check_PROGRAMS): Add test-printf-posix2.
27633
27634         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
27635         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
27636         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
27637         (decode_double): New function, copied from decode_long_double.
27638         (scale10_round_decimal_decoded): New function, extracted from
27639         scale10_round_decimal_long_double.
27640         (scale10_round_decimal_long_double): Use it.
27641         (scale10_round_decimal_double): New function.
27642         (floorlog10): New function.
27643         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
27644         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
27645         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27646         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27647         gl_PRINTF_ENOMEM and test its result. Invoke
27648         gl_PREREQ_VASNPRINTF_ENOMEM.
27649         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27650         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27651         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27652         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27653         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27654         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27655         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27656         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
27657         * modules/snprintf-posix (Depends-on): Likewise.
27658         * modules/sprintf-posix (Depends-on): Likewise.
27659         * modules/vasnprintf-posix (Depends-on): Likewise.
27660         * modules/vasprintf-posix (Depends-on): Likewise.
27661         * modules/vfprintf-posix (Depends-on): Likewise.
27662         * modules/vsnprintf-posix (Depends-on): Likewise.
27663         * modules/vsprintf-posix (Depends-on): Likewise.
27664         * doc/functions/fprintf.texi: Update.
27665         * doc/functions/printf.texi: Update.
27666         * doc/functions/snprintf.texi: Update.
27667         * doc/functions/sprintf.texi: Update.
27668         * doc/functions/vfprintf.texi: Update.
27669         * doc/functions/vprintf.texi: Update.
27670         * doc/functions/vsnprintf.texi: Update.
27671         * doc/functions/vsprintf.texi: Update.
27672
27673 2007-11-03  Bruno Haible  <bruno@clisp.org>
27674
27675         * modules/frexp-nolibm-tests: New file.
27676
27677         * modules/frexp-nolibm: New file.
27678         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
27679
27680 2007-11-03  Bruno Haible  <bruno@clisp.org>
27681
27682         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
27683         value is C99 compliant.
27684         Needed for OSF/1 5.1.
27685
27686 2007-11-03  Bruno Haible  <bruno@clisp.org>
27687
27688         Fix out-of-memory handling of vasnprintf.
27689         * lib/printf-parse.c: Include <errno.h>.
27690         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
27691         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
27692         is already set.
27693
27694 2007-11-02  Eric Blake  <ebb9@byu.net>
27695
27696         Fix tests on cygwin.
27697         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
27698
27699 2007-11-01  Bruno Haible  <bruno@clisp.org>
27700
27701         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
27702         warning.
27703         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
27704         needed for POSIX compatibility.
27705
27706 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27707
27708         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
27709         for compatibility with GNU.
27710
27711 2007-11-01  Bruno Haible  <bruno@clisp.org>
27712
27713         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
27714         (putenv): Renamed from rpl_putenv. Change argument type from
27715         'const char *' to 'char *'.
27716         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
27717         of defining putenv in config.h, just set REPLACE_PUTENV.
27718         * modules/putenv (Depends-on): Add stdlib.
27719         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
27720         (Include): Use <stdlib.h>.
27721         * lib/stdlib.in.h (putenv): New declaration.
27722         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
27723         REPLACE_PUTENV.
27724         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
27725         REPLACE_PUTENV.
27726         Needed for MacOS X 10.5.0.
27727         Reported by Peter O'Gorman <peter@pogma.com>.
27728
27729 2007-11-01  Jim Meyering  <meyering@redhat.com>
27730
27731         Treat an empty date string exactly like "0".
27732         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
27733         if the remaining date string (to be parsed) is empty, use "0".
27734         Reported by Mischa Molhoek and discussed in this thread:
27735         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
27736
27737 2007-10-31  Bruno Haible  <bruno@clisp.org>
27738
27739         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
27740         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
27741         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
27742         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
27743         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
27744         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
27745
27746 2007-10-31  Bruno Haible  <bruno@clisp.org>
27747
27748         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
27749         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
27750         (AC_TYPE_LONG_LONG_INT): Use it.
27751         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
27752         it as well.
27753         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
27754         to m4/longlong.m4.
27755         * modules/stdint (Files): Remove m4/ulonglong.m4.
27756         * modules/strtoull (Files): Use m4/longlong.m4 instead of
27757         m4/ulonglong.m4.
27758         * modules/strtoumax (Files): Likewise.
27759
27760 2007-10-30  Bruno Haible  <bruno@clisp.org>
27761
27762         * modules/xvasprintf-posix: New file.
27763         Suggested by Eric Blake.
27764
27765 2007-10-30  Bruno Haible  <bruno@clisp.org>
27766
27767         * modules/xprintf-posix-tests: New file.
27768         * tests/test-xprintf-posix.sh: New file.
27769         * tests/test-xprintf-posix.c: New file.
27770         * tests/test-xfprintf-posix.c: New file.
27771
27772         * modules/xprintf-posix: New file.
27773
27774 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27775
27776         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
27777         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
27778         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
27779
27780 2007-10-29  Bruno Haible  <bruno@clisp.org>
27781
27782         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
27783         contain the special marker '_cv_'.
27784         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
27785         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
27786         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
27787         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
27788         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
27789         Reported by Ralf Wildenhues.
27790
27791 2007-10-29  Bruno Haible  <bruno@clisp.org>
27792
27793         * gnulib-tool (func_import): When --lgpl is not specified, set
27794         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
27795         GPLv3.
27796         Reported by Simon Josefsson.
27797
27798 2007-10-28  Bruno Haible  <bruno@clisp.org>
27799
27800         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
27801         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
27802         HAVE_DECL_ISFINITE.
27803         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
27804         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
27805         HAVE_DECL_ISFINITE.
27806
27807 2007-10-28  Bruno Haible  <bruno@clisp.org>
27808
27809         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
27810         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
27811
27812 2007-10-28  Bruno Haible  <bruno@clisp.org>
27813
27814         Fix link errors with Sun C 5.0 on Solaris 10.
27815         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
27816         function is declared but not present in the compiler's libm.
27817         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
27818         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
27819         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
27820         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
27821         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
27822         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
27823         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
27824         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
27825         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
27826         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
27827         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
27828         HAVE_DECL_FLOORL.
27829
27830 2007-10-28  Bruno Haible  <bruno@clisp.org>
27831
27832         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
27833         gl_FUNC_FLOORL. Cache the result.
27834         (gl_FUNC_FLOORL): Use it.
27835         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
27836         gl_FUNC_CEILL. Cache the result.
27837         (gl_FUNC_CEILL): Use it.
27838
27839         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
27840         gl_FUNC_FLOOR. Cache the result.
27841         (gl_FUNC_FLOOR): Use it.
27842         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
27843         gl_FUNC_CEIL. Cache the result.
27844         (gl_FUNC_CEIL): Use it.
27845
27846         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
27847         gl_FUNC_FLOORF. Cache the result.
27848         (gl_FUNC_FLOORF): Use it.
27849         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
27850         gl_FUNC_CEILF. Cache the result.
27851         (gl_FUNC_CEILF): Use it.
27852
27853 2007-10-28  Bruno Haible  <bruno@clisp.org>
27854
27855         * gnulib-tool: Allow specifying the LGPL version number through
27856         --lgpl=2 or --lgpl=3.
27857         (func_usage): Document --lgpl with argument.
27858         Handle --lgpl=... arguments.
27859         (func_import): Recognize also gl_LGPL calls with an argument. When
27860         --lgpl=2 is used and the module's license is just LGPL, report an
27861         error. Set sed_transform_lib_file according to the lgpl variable. In
27862         the generated files, use --lgpl or gl_LGPL invocations with argument,
27863         if necessary.
27864         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
27865         an LGPv2+ license.
27866         * doc/gnulib-tool.texi (Modified imports): Update explanation of
27867         gl_LGPL macro.
27868
27869 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27870             Bruno Haible  <bruno@clisp.org>
27871
27872         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
27873         (u16_uctomb_aux): Likewise.
27874         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
27875         !HAVE_INLINE.
27876         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
27877
27878 2007-10-28  Bruno Haible  <bruno@clisp.org>
27879
27880         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
27881         Invoke AM_GETTEXT_OPTION if it exists.
27882         * modules/vasprintf: Likewise.
27883         * modules/verror: Likewise.
27884         * modules/xprintf: Likewise.
27885         * modules/xvasprintf: Likewise.
27886
27887 2007-10-27  Ben Pfaff  <blp@gnu.org>
27888
27889         * lib/math.in.h: Define isfinite macro and prototypes for
27890         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
27891         implementations.
27892         * m4/math_h.m4: New substitutions for isfinite module.
27893         * lib/isfinite.c: New file.
27894         * m4/isfinite.m4: New file.
27895         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
27896         * modules/isfinite: New file.
27897         * modules/isfinite-tests: New file.
27898         * tests/tests-isfinite.c: New file.
27899         * doc/functions/isfinite.texi: Mention isfinite module.
27900         * MODULES.html.sh: Mention new module.
27901
27902 2007-10-27  Ben Pfaff  <blp@gnu.org>
27903
27904         Ralf Wildenhues reported that Tru64 4.0D declares the round
27905         functions but does not have definitions.
27906         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
27907         cannot be found in any library, set the output variable to
27908         "missing" instead of "".
27909         * m4/round.m4: Also use our substitute if we cannot find round in
27910         any library, even if it is declared.
27911         * m4/roundf.m4: Likewise for roundf.
27912         * m4/roundl.m4: Likewise for roundl.
27913         * lib/math.in.h: Undefine roundf, round, roundl before defining
27914         their replacements, to allow for hypothetical systems where these
27915         may be defined as macros but not available in libraries.
27916
27917 2007-10-27  Bruno Haible  <bruno@clisp.org>
27918
27919         * doc/gnulib.texi: Invoke @firstparagraphindent.
27920         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
27921         changes in gnulib.
27922         (Source changes): New section.
27923
27924 2007-10-26  Bruno Haible  <bruno@clisp.org>
27925
27926         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
27927         borrowed from autoconf.
27928
27929 2007-10-26  Bruno Haible  <bruno@clisp.org>
27930
27931         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
27932         strerror returned the empty string. Needed on HP-UX 11.00.
27933
27934 2007-10-24  Micah Cowan  <micah@cowan.name>
27935
27936         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
27937         * build-aux/bootstrap: Remove support for now-unnecessary option,
27938         --cvs-user, and envvars CVS_USER, CVS_RSH.
27939
27940 2007-10-24  Jim Meyering  <meyering@redhat.com>
27941
27942         Avoid diagnostics from sha1sum when there is no cached checksum.
27943         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
27944         if the po.s1 file hasn't been created yet.
27945
27946         * build-aux/bootstrap: Sync from coreutils:
27947         2007-10-24  Jim Meyering  <meyering@redhat.com>
27948         Get gnulib from the git repository, not from an obsolete cvs one.
27949         * build-aux/bootstrap: Suggestion from Micah Cowan.
27950         2007-10-04  Jim Meyering  <jim@meyering.net>
27951         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
27952         (update_po_files): Work also when there are no .po files in po/.
27953
27954 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
27955
27956         * README: Append ".git" to git and cg examples.
27957         Problem reported by Benoit Sigoure.
27958
27959 2007-10-23  Micah Cowan  <micah@cowan.name>
27960
27961         * users.txt: Add wget.
27962
27963 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27964
27965         Fix linking of some unistdio tests on FreeBSD.
27966         * modules/unistdio/u16-vsnprintf-tests
27967         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
27968         * modules/unistdio/u16-vsprintf-tests
27969         (test_u16_vsnprintf1_LDADD): Likewise.
27970         * modules/unistdio/u32-vsnprintf-tests
27971         (test_u32_vsnprintf1_LDADD): Likewise.
27972         * modules/unistdio/u32-vsprintf-tests
27973         (test_u32_vsprintf1_LDADD): Likewise.
27974         * modules/unistdio/u8-vsnprintf-tests
27975         (test_u8_vsnprintf1_LDADD): Likewise.
27976         * modules/unistdio/u8-vsprintf-tests
27977         (test_u8_vsprintf1_LDADD): Likewise.
27978         * modules/unistdio/ulc-vsnprintf-tests
27979         (test_ulc_vsnprintf1_LDADD): Likewise.
27980         * modules/unistdio/ulc-vsprintf-tests
27981         (test_ulc_vsprintf1_LDADD): Likewise.
27982
27983         Fix linking of some uniconv tests on FreeBSD.
27984         * modules/uniconv/u16-conv-from-enc-tests
27985         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
27986         * modules/uniconv/u16-conv-to-enc-tests
27987         (test_u16_conv_to_enc_LDADD): Likewise.
27988         * modules/uniconv/u16-strconv-from-enc-tests
27989         (test_u16_strconv_from_enc_LDADD): Likewise.
27990         * modules/uniconv/u16-strconv-to-enc-tests
27991         (test_u16_strconv_to_enc_LDADD): Likewise.
27992         * modules/uniconv/u32-conv-from-enc-tests
27993         (test_u32_conv_from_enc_LDADD): Likewise.
27994         * modules/uniconv/u32-conv-to-enc-tests
27995         (test_u32_conv_to_enc_LDADD): Likewise.
27996         * modules/uniconv/u32-strconv-from-enc-tests
27997         (test_u32_strconv_from_enc_LDADD): Likewise.
27998         * modules/uniconv/u32-strconv-to-enc-tests
27999         (test_u32_strconv_to_enc_LDADD): Likewise.
28000         * modules/uniconv/u8-conv-from-enc-tests
28001         (test_u8_conv_from_enc_LDADD): Likewise.
28002         * modules/uniconv/u8-conv-to-enc-tests
28003         (test_u8_conv_to_enc_LDADD): Likewise.
28004         * modules/uniconv/u8-strconv-from-enc-tests
28005         (test_u8_strconv_from_enc_LDADD): Likewise.
28006         * modules/uniconv/u8-strconv-to-enc-tests
28007         (test_u8_strconv_to_enc_LDADD): Likewise.
28008
28009 2007-10-22  Bruno Haible  <bruno@clisp.org>
28010
28011         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
28012         size.
28013
28014 2007-10-22  Eric Blake  <ebb9@byu.net>
28015
28016         Tweak x*printf documentation.
28017         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
28018         variable name and comments.
28019         Suggested by Bruno Haible.
28020
28021 2007-10-22  Bruno Haible  <bruno@clisp.org>
28022
28023         * lib/acl.c (copy_acl): Fix file name in comment.
28024
28025 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
28026
28027         Fix Tru64 problem with stdbool.h.
28028         * lib/stdbool.in.h (false, true):
28029         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
28030         Don't declare as an enum in this situation; it runs afoul of Tru64.
28031         Problem reported by Steven M. Schweda in
28032         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
28033
28034 2007-10-22  Eric Blake  <ebb9@byu.net>
28035
28036         Also wrap vf?printf.
28037         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
28038         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
28039         (xvprintf, xvfprintf): New functions.
28040
28041 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28042
28043         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
28044         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
28045
28046         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
28047         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
28048
28049 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
28050
28051         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
28052         by Bruno Haible.
28053
28054 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28055
28056         * lib/getloadavg.c
28057         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
28058         Undef `sys' after including sys/table.h, for Tru64 4.0D.
28059
28060         * tests/test-i-ring.c: Work for C89.
28061
28062 2007-10-22  Bruno Haible  <bruno@clisp.org>
28063
28064         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
28065         -1u, in preprocessor expression, so that we don't test for the bug
28066         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
28067         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
28068
28069 2007-10-22  Eric Blake  <ebb9@byu.net>
28070
28071         * tests/test-yesno.sh: Silence stderr during test.
28072
28073 2007-10-22  Simon Josefsson  <simon@josefsson.org>
28074
28075         * modules/crypto/gc-camellia: New file.
28076
28077         * m4/gc-camellia.m4: New file.
28078
28079         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
28080
28081         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
28082
28083 2007-10-22  Simon Josefsson  <simon@josefsson.org>
28084
28085         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
28086         --help to stdout.  Reported by sms@antinode.org (Steven
28087         M. Schweda).
28088
28089 2007-10-22  Simon Josefsson  <simon@josefsson.org>
28090
28091         * users.txt: Fix link to libksba.
28092
28093 2007-10-21  Ben Pfaff  <blp@gnu.org>
28094
28095         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
28096         round.c roundf implementation that depends on floorf and ceilf to
28097         be tested unconditionally.
28098
28099 2007-10-21  Ben Pfaff  <blp@gnu.org>
28100
28101         * m4/check-libm-func.m4: Removed.
28102         * m4/check-math-lib.m4: New file.
28103         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
28104         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
28105         definition and lack of AC_LIBOBJ([roundf]).
28106         * m4/roundl.m4: Ditto, and similarly for roundl.
28107         * modules/round: Reference new m4 file.
28108         * modules/roundf: Ditto.
28109         * modules/roundl: Ditto.
28110         * tests/test-round2.c (main): Use ROUND instead of round.
28111         Bug report from Bruno Haible.
28112
28113 2007-10-21  Bruno Haible  <bruno@clisp.org>
28114
28115         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
28116         context.
28117
28118 2007-10-21  Bruno Haible  <bruno@clisp.org>
28119
28120         * tests/test-wcwidth.c (main): Allow negative result for some control
28121         characters.
28122
28123         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
28124         Needed on OSF/1 5.1.
28125
28126 2007-10-21  Bruno Haible  <bruno@clisp.org>
28127
28128         * tests/test-floorf1.c: Include isnanf.h.
28129         (main): Use isnanf() instead of isnan().
28130         * tests/test-ceilf1.c: Include isnanf.h.
28131         (main): Use isnanf() instead of isnan().
28132         * tests/test-truncf1.c: Include isnanf.h.
28133         (main): Use isnanf() instead of isnan().
28134         * tests/test-roundf1.c: Include isnanf.h.
28135         (main): Use isnanf() instead of isnan().
28136
28137 2007-10-21  Eric Blake  <ebb9@byu.net>
28138
28139         * users.txt: Update URL for m4.
28140
28141 2007-10-21  Bruno Haible  <bruno@clisp.org>
28142
28143         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
28144
28145 2007-10-21  Bruno Haible  <bruno@clisp.org>
28146
28147         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
28148         Git's management files if the CVS files are not present.
28149
28150 2007-10-20  Bruno Haible  <bruno@clisp.org>
28151
28152         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
28153         gcc-3.4.x.
28154
28155 2007-10-20  Ben Pfaff  <blp@gnu.org>
28156
28157         * lib/math.in.h: Declare round, roundf, roundl if we are providing
28158         implementations.
28159         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
28160         * lib/round.c: New file.
28161         * lib/roundf.c: New file.
28162         * lib/roundl.c: New file.
28163         * m4/round.m4: New file.
28164         * m4/roundf.m4: New file.
28165         * m4/roundl.m4: New file.
28166         * m4/check-libm-func-m4: New file.
28167         * modules/math: Replace round, roundf, roundl related @VARS@ in
28168         math.in.h.
28169         * modules/round: New file.
28170         * modules/round-tests: New file.
28171         * modules/roundf: New file.
28172         * modules/roundf-tests: New file.
28173         * modules/roundl: New file.
28174         * modules/roundl-tests: New file.
28175         * tests/test-round1.c: New file.
28176         * tests/test-round2.c: New file.
28177         * tests/test-roundf1.c: New file.
28178         * tests/test-roundf2.c: New file.
28179         * tests/test-roundl.c: New file.
28180         * doc/functions/round.texi: Mention round module.
28181         * doc/functions/roundf.texi: Mention roundf module.
28182         * doc/functions/roundl.texi: Mention roundl module.
28183         * MODULES.html.sh: Mention new modules.
28184         Thanks to Bruno Haible for suggestions.
28185
28186 2007-10-20  Jim Meyering  <meyering@redhat.com>
28187
28188         * lib/xprintf.c: Include <config.h> unconditionally.
28189
28190         Change xprintf's license to GPL.
28191         * modules/xprintf (License): s/LGPL/GPL/, since this module
28192         depends on modules (exit and exitfail) which are GPL.
28193         Suggestion from Bruno Haible.
28194
28195         xprintf fixes.
28196         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
28197         Use a clearer diagnostic.
28198         Patch from Bruno Haible.
28199
28200 2007-10-20  Bruno Haible  <bruno@clisp.org>
28201
28202         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
28203         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
28204         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28205
28206 2007-10-20  Bruno Haible  <bruno@clisp.org>
28207
28208         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
28209         precision in the comparison result > x - 1 or similar.
28210         * tests/test-ceilf2.c (correct_result_p): Likewise.
28211         * tests/test-truncf2.c (correct_result_p): Likewise.
28212         * tests/test-trunc2.c (correct_result_p): Likewise.
28213         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28214
28215 2007-10-20  Bruno Haible  <bruno@clisp.org>
28216
28217         * modules/ceil: New file.
28218         * m4/ceil.m4: New file.
28219         * doc/functions/ceil.texi: Mention the 'ceil' module.
28220
28221 2007-10-20  Bruno Haible  <bruno@clisp.org>
28222
28223         * modules/floor: New file.
28224         * m4/floor.m4: New file.
28225         * doc/functions/floor.texi: Mention the 'floor' module.
28226
28227 2007-10-20  Bruno Haible  <bruno@clisp.org>
28228
28229         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
28230         of %a.
28231         * modules/floorf-tests (Depends-on): Likewise.
28232         * modules/truncf-tests (Depends-on): Likewise.
28233         * modules/trunc-tests (Depends-on): Likewise.
28234         Reported by Ben Pfaff.
28235
28236 2007-10-19  Jim Meyering  <meyering@redhat.com>
28237
28238         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
28239         Don't bother testing specific errno values.  Just test ferror.
28240
28241         New module: xprintf
28242         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
28243
28244 2007-10-19  Bruno Haible  <bruno@clisp.org>
28245
28246         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
28247         syntax.
28248         * modules/javaexec (Makefile.am): Likewise.
28249         * modules/relocatable-prog (Makefile.am): Likewise.
28250         Suggested by Jim Meyering.
28251
28252 2007-10-18  Bruno Haible  <bruno@clisp.org>
28253
28254         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
28255         Reported by Jim Meyering.
28256
28257 2007-10-18  Eric Blake  <ebb9@byu.net>
28258
28259         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
28260
28261 2007-10-18  Bruno Haible  <bruno@clisp.org>
28262
28263         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
28264         the format string into writable memory. Needed in Fortify conditions.
28265
28266 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
28267             Bruno Haible  <bruno@clisp.org>
28268
28269         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
28270         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
28271         * modules/trim (Depends-on): Add mbchar.
28272         (configure.ac): Add gl_FUNC_MBRTOWC.
28273         (Makefile.am): Augment lib_SOURCES.
28274
28275 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
28276
28277         Modify glob.c to use fstatat and dirfd, to simplify it.
28278         Suggested by Eric Blake.
28279         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
28280         Don't include <stdbool.h>; not used.
28281         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
28282         (link_exists_p): Simplify implementation, since we can now assume
28283         dirfd and fstatat.
28284         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
28285
28286 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28287
28288         * gnulib-tool (func_get_dependencies): Fix sed script to
28289         match only tests.
28290
28291 2007-10-17  Bruno Haible  <bruno@clisp.org>
28292
28293         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
28294         allow locale names without encoding suffix.
28295         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
28296         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28297
28298 2007-10-16  Bruno Haible  <bruno@clisp.org>
28299
28300         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
28301         * lib/getgroups.c (getgroups): Likewise.
28302         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
28303
28304 2007-10-16  Bruno Haible  <bruno@clisp.org>
28305
28306         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
28307         * modules/malloc-posix (License): Likewise.
28308         * modules/realloc-posix (License): Likewise.
28309         * modules/calloc-posix (License): Likewise.
28310         * modules/intprops (License): Change from GPL to LGPL, with
28311         Paul Eggert's approval.
28312
28313 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
28314
28315         Merge glibc changes into lib/glob.c.
28316
28317         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
28318         2007-10-15 04:59:03 UTC.  Here are the changes:
28319
28320         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
28321
28322         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
28323
28324         * lib/glob.c: Add some branch prediction throughout.
28325
28326         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
28327
28328         [BZ #5103]
28329         * lib/glob.c (glob): Recognize patterns starting \/.
28330
28331         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
28332
28333         [BZ #3996]
28334         * lib/glob.c (attribute_hidden): Define if not defined.
28335         (glob): Unescape dirname, filename or username when needed and not
28336         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
28337         is NULL.  Handle unescaped [ in pattern without closing ].
28338         Don't pass GLOB_CHECK down to recursive glob for directories.
28339         (__glob_pattern_type): New function.
28340         (__glob_pattern_p): Implement using __glob_pattern_type.
28341         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
28342         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
28343         Remove unreachable code.
28344
28345         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
28346
28347         * lib/glob.c (glob_in_dir): Add some comments and asserts to
28348         explain why there are no leaks.
28349
28350         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
28351
28352         [BZ #3253]
28353         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
28354         time, rather allocate increasingly bigger arrays of pointers, if
28355         possible with alloca, if too large with malloc.
28356
28357 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
28358
28359         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
28360         Problem reported by H.Merijn Brand in
28361         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
28362         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
28363         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
28364
28365 2007-10-15  Bruno Haible  <bruno@clisp.org>
28366
28367         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
28368         with explicit rpl_ prefix.
28369         * lib/fopen.c (fopen): Likewise.
28370         * lib/freopen.c (freopen): Likewise.
28371         * lib/iconv.c (iconv): Likewise.
28372         * lib/iconv_close.c (iconv_close): Likewise.
28373
28374 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28375
28376         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
28377
28378 2007-10-15  Bruno Haible  <bruno@clisp.org>
28379
28380         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
28381         <stddef.h> instead of <stdlib.h> since we only need NULL.
28382         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28383
28384 2007-10-15  Bruno Haible  <bruno@clisp.org>
28385
28386         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
28387         Replace paragraph talking about LIBOBJS.
28388         Reported by Colin Watson <cjwatson@debian.org>.
28389
28390 2007-10-15  Bruno Haible  <bruno@clisp.org>
28391
28392         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
28393         <stdlib.h> before using NULL.
28394
28395 2007-10-15  Simon Josefsson  <simon@josefsson.org>
28396
28397         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
28398         Reported by Albert Chin <china@thewrittenword.com>.
28399
28400 2007-10-14  Bruno Haible  <bruno@clisp.org>
28401
28402         * modules/iconv_open-utf-tests: New file.
28403         * tests/test-iconv-utf.c: New file.
28404
28405         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
28406         * modules/iconv_open-utf: New file.
28407         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
28408         (iconv, iconv_close): New declarations.
28409         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
28410         be defined.
28411         (iconv_open): Add special handling of conversion between UTF-8 and
28412         UTF-{16,32}{BE,LE}.
28413         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
28414         * lib/iconv_close.c: New file.
28415         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
28416         gl_FUNC_ICONV_OPEN.
28417         (gl_FUNC_ICONV_OPEN): Use it.
28418         (gl_FUNC_ICONV_OPEN_UTF): New macro.
28419         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
28420         and REPLACE_ICONV_UTF.
28421         * modules/iconv_open (Depends-on): Add c-strcase.
28422         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
28423         ICONV_CONST.
28424         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
28425
28426 2007-10-13  Albert Chin  <china@thewrittenword.com>
28427             Bruno Haible  <bruno@clisp.org>
28428
28429         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
28430         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
28431
28432 2007-10-13  Bruno Haible  <bruno@clisp.org>
28433
28434         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
28435         defined, use the ISO C99 inline semantics.
28436         * lib/argp.h (ARGP_EI): Likewise.
28437
28438 2007-10-13  Bruno Haible  <bruno@clisp.org>
28439
28440         Handle 'inline' change in gcc 4.3.0.
28441         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
28442         argp_fmtstream_write, argp_fmtstream_set_lmargin,
28443         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
28444         argp_fmtstream_point): Disable 'extern' declaration if the function
28445         definition is going to be provided inline.
28446         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
28447         semantics, not the ISO C99 inline semantics.
28448         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
28449         'extern' declaration if the function definition is going to be provided
28450         inline.
28451         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
28452         the GNU C inline semantics, not the ISO C99 inline semantics. With
28453         GCC 4.2, avoid a warning.
28454
28455 2007-10-13  Bruno Haible  <bruno@clisp.org>
28456
28457         * lib/freading.h (freading): Enable the use of __freading for
28458         glibc >= 2.7.
28459         * lib/freading.c (freading): Likewise.
28460
28461 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
28462
28463         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
28464         "warning: C99 inline functions are not supported; using GNU89".
28465
28466 2007-10-12  Bruno Haible  <bruno@clisp.org>
28467
28468         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
28469         of 2.
28470         * tests/test-ceilf2.c: New file.
28471         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
28472
28473         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
28474         * modules/ceilf-tests: Update.
28475
28476 2007-10-12  Bruno Haible  <bruno@clisp.org>
28477
28478         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
28479         of 2.
28480         * tests/test-floorf2.c: New file.
28481         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
28482
28483         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
28484         * modules/floorf-tests: Update.
28485
28486 2007-10-12  Bruno Haible  <bruno@clisp.org>
28487
28488         * tests/test-trunc2.c: New file.
28489         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
28490
28491         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
28492         * modules/trunc-tests: Update.
28493
28494 2007-10-12  Bruno Haible  <bruno@clisp.org>
28495
28496         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
28497         of 2.
28498         * tests/test-truncf2.c: New file.
28499         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
28500
28501         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
28502         * modules/truncf-tests: Update.
28503
28504 2007-10-11  Eric Blake  <ebb9@byu.net>
28505
28506         Don't claim strerror is broken on Interix.
28507         * doc/functions/strerror.texi (strerror): Known broken systems are
28508         now Solaris 8, and not Interix.
28509         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
28510         Interix on cross-compile.
28511         Reported by Martin Koeppe in
28512         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
28513
28514 2007-10-11  Bruno Haible  <bruno@clisp.org>
28515
28516         * modules/i-ring-tests: New file.
28517         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
28518         instead of assert.
28519
28520 2007-10-11  Bruno Haible  <bruno@clisp.org>
28521
28522         * modules/filenamecat-tests: New file.
28523         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
28524         * lib/filenamecat.c: Remove test code.
28525
28526 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28527
28528         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
28529
28530         * lib/strerror.c: Include <string.h> always, to test interface,
28531         and to remove the need for the dummy.
28532         Include intprops.h to compute width instead of doing it ourselves
28533         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
28534         (strerror): Define it to return NULL if there's no system strerror.
28535         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
28536         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
28537         ancient pre-strerror Unix systems well any more.  Saying "unknown
28538         system error" is enough.
28539         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
28540         simpler strerror.c implementation.
28541         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
28542         Simplify the tests to reflect the simpler strerror implementation.
28543         * modules/strerror (Depends-on): Add intprops.
28544
28545 2007-10-09  Eric Blake  <ebb9@byu.net>
28546
28547         Silence test-fpending.
28548         * modules/fpending-tests (Files): Add wrapper script.
28549         * tests/test-fpending.sh: New file.
28550
28551 2007-10-09  Bruno Haible  <bruno@clisp.org>
28552
28553         * MODULES.html.sh (func_module): Don't create a hyperlink for
28554         function names like 'printf_frexp'.
28555         (Misc): Add crc, memxor.
28556         (Characteristics of floating types): New section.
28557         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
28558         isnanf-nolibm, signbit, trunc, truncf, truncl.
28559         (Enhancements for ISO C 99 functions): New subsection Input/output.
28560         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
28561         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
28562         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
28563         (Compatibility checks for POSIX:2001 functions): Add clock-time.
28564         (Enhancements for POSIX:2001 functions): Add chdir-long.
28565         (File system functions): Add areadlink, chdir-safer, read-file.
28566         Remove cycle-check.
28567         (File system as inode set): New section.
28568         (Date and time): Add gethrxtime.
28569         (Multithreading): Add openmp.
28570         (Internationalization functions): Add localename.
28571         (Unicode string functions): Add unistr/u*-mbsnlen.
28572         (Support for maintaining and releasing projects): Add git-version-gen.
28573         (Lone files): Remove directories.
28574
28575 2007-10-08  Ben Pfaff  <blp@gnu.org>
28576
28577         * lib/xmalloca.h: Fix typo in comment.
28578
28579 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28580
28581         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
28582         when avoiding problems with integer overflow.  Use a portable test
28583         instead.
28584
28585 2007-10-08  Simon Josefsson  <simon@josefsson.org>
28586
28587         * modules/dummy (License): Change to LGPLv2+.
28588         * modules/float (License): Likewise
28589         * modules/realloc (License): Likewise
28590         * modules/stdlib (License): Likewise
28591
28592 2007-10-07  Bruno Haible  <bruno@clisp.org>
28593
28594         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
28595         * floor.c (TWO_MANT_DIG): Likewise.
28596         * ceil.c (TWO_MANT_DIG): Likewise.
28597         Reported by Ben Pfaff.
28598
28599 2007-10-07  Bruno Haible  <bruno@clisp.org>
28600
28601         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
28602         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
28603         * lib/frexp.c (FUNC): Likewise.
28604         * lib/printf-frexp.h (printf_frexp): Likewise.
28605         * lib/printf-frexpl.h (printf_frexpl): Likewise.
28606         * lib/printf-frexp.c (FUNC): Likewise.
28607         Suggested by Jim Meyering.
28608
28609 2007-10-07  Jim Meyering  <meyering@redhat.com>
28610
28611         Make xnanosleep's integer overflow test more robust.
28612         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
28613         so that gcc-4.3.0 doesn't optimize away this test for overflow.
28614
28615 2007-10-07  Bruno Haible  <bruno@clisp.org>
28616
28617         * NEWS: Mention the license change.
28618
28619         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
28620         abbreviations in the modules files.
28621
28622         Change copyright notice from GPLv2+ to GPLv3+.
28623         * README: Change copyright notice.
28624         * MODULES.html.sh: Likewise.
28625         * build-aux/bootstrap.conf: Likewise.
28626         * build-aux/config.libpath: Likewise.
28627         * build-aux/csharpcomp.sh.in: Likewise.
28628         * build-aux/csharpexec.sh.in: Likewise.
28629         * build-aux/install-reloc: Likewise.
28630         * build-aux/javacomp.sh.in: Likewise.
28631         * build-aux/javaexec.sh.in: Likewise.
28632         * build-aux/ldd.sh.in: Likewise.
28633         * build-aux/reloc-ldflags: Likewise.
28634         * build-aux/relocatable.sh.in: Likewise.
28635         * build-aux/x-to-1.in: Likewise.
28636         * check-module: Likewise.
28637         * config/srclistvars.sh: Likewise.
28638         * gnulib-tool: Likewise.
28639         * lib/acl-internal.h: Likewise.
28640         * lib/acl.c: Likewise.
28641         * lib/acl.h: Likewise.
28642         * lib/acl_entries.c: Likewise.
28643         * lib/areadlink-with-size.c: Likewise.
28644         * lib/areadlink.c: Likewise.
28645         * lib/areadlink.h: Likewise.
28646         * lib/argmatch.c: Likewise.
28647         * lib/argmatch.h: Likewise.
28648         * lib/argp-ba.c: Likewise.
28649         * lib/argp-eexst.c: Likewise.
28650         * lib/argp-fmtstream.c: Likewise.
28651         * lib/argp-fmtstream.h: Likewise.
28652         * lib/argp-fs-xinl.c: Likewise.
28653         * lib/argp-help.c: Likewise.
28654         * lib/argp-namefrob.h: Likewise.
28655         * lib/argp-parse.c: Likewise.
28656         * lib/argp-pin.c: Likewise.
28657         * lib/argp-pv.c: Likewise.
28658         * lib/argp-pvh.c: Likewise.
28659         * lib/argp-xinl.c: Likewise.
28660         * lib/argp.h: Likewise.
28661         * lib/at-func.c: Likewise.
28662         * lib/atanl.c: Likewise.
28663         * lib/backupfile.c: Likewise.
28664         * lib/backupfile.h: Likewise.
28665         * lib/basename.c: Likewise.
28666         * lib/binary-io.h: Likewise.
28667         * lib/byteswap.in.h: Likewise.
28668         * lib/c-stack.c: Likewise.
28669         * lib/c-stack.h: Likewise.
28670         * lib/c-strcasestr.c: Likewise.
28671         * lib/c-strcasestr.h: Likewise.
28672         * lib/c-strstr.c: Likewise.
28673         * lib/c-strstr.h: Likewise.
28674         * lib/c-strtod.c: Likewise.
28675         * lib/calloc.c: Likewise.
28676         * lib/canon-host.c: Likewise.
28677         * lib/canon-host.h: Likewise.
28678         * lib/canonicalize-lgpl.c: Likewise.
28679         * lib/canonicalize.c: Likewise.
28680         * lib/canonicalize.h: Likewise.
28681         * lib/ceil.c: Likewise.
28682         * lib/ceilf.c: Likewise.
28683         * lib/ceill.c: Likewise.
28684         * lib/chdir-long.c: Likewise.
28685         * lib/chdir-long.h: Likewise.
28686         * lib/chdir-safer.c: Likewise.
28687         * lib/chdir-safer.h: Likewise.
28688         * lib/chown.c: Likewise.
28689         * lib/classpath.c: Likewise.
28690         * lib/classpath.h: Likewise.
28691         * lib/clean-temp.c: Likewise.
28692         * lib/clean-temp.h: Likewise.
28693         * lib/cloexec.c: Likewise.
28694         * lib/close-stream.c: Likewise.
28695         * lib/closein.c: Likewise.
28696         * lib/closein.h: Likewise.
28697         * lib/closeout.c: Likewise.
28698         * lib/closeout.h: Likewise.
28699         * lib/concat-filename.c: Likewise.
28700         * lib/copy-file.c: Likewise.
28701         * lib/copy-file.h: Likewise.
28702         * lib/count-one-bits.h: Likewise.
28703         * lib/crc.c: Likewise.
28704         * lib/crc.h: Likewise.
28705         * lib/creat-safer.c: Likewise.
28706         * lib/csharpcomp.c: Likewise.
28707         * lib/csharpcomp.h: Likewise.
28708         * lib/csharpexec.c: Likewise.
28709         * lib/csharpexec.h: Likewise.
28710         * lib/cycle-check.c: Likewise.
28711         * lib/cycle-check.h: Likewise.
28712         * lib/diacrit.c: Likewise.
28713         * lib/diacrit.h: Likewise.
28714         * lib/diffseq.h: Likewise.
28715         * lib/dirchownmod.c: Likewise.
28716         * lib/dirent.in.h: Likewise.
28717         * lib/dirfd.c: Likewise.
28718         * lib/dirfd.h: Likewise.
28719         * lib/dirname.c: Likewise.
28720         * lib/dirname.h: Likewise.
28721         * lib/dummy.c: Likewise.
28722         * lib/dup-safer.c: Likewise.
28723         * lib/dup2.c: Likewise.
28724         * lib/eealloc.h: Likewise.
28725         * lib/error.c: Likewise.
28726         * lib/error.h: Likewise.
28727         * lib/euidaccess.c: Likewise.
28728         * lib/exclude.c: Likewise.
28729         * lib/exclude.h: Likewise.
28730         * lib/execute.c: Likewise.
28731         * lib/execute.h: Likewise.
28732         * lib/exitfail.c: Likewise.
28733         * lib/exitfail.h: Likewise.
28734         * lib/expl.c: Likewise.
28735         * lib/fatal-signal.c: Likewise.
28736         * lib/fatal-signal.h: Likewise.
28737         * lib/fbufmode.c: Likewise.
28738         * lib/fbufmode.h: Likewise.
28739         * lib/fchdir.c: Likewise.
28740         * lib/fchmodat.c: Likewise.
28741         * lib/fchownat.c: Likewise.
28742         * lib/fcntl--.h: Likewise.
28743         * lib/fcntl-safer.h: Likewise.
28744         * lib/fcntl.in.h: Likewise.
28745         * lib/fd-safer.c: Likewise.
28746         * lib/fflush.c: Likewise.
28747         * lib/file-has-acl.c: Likewise.
28748         * lib/file-set.c: Likewise.
28749         * lib/file-type.c: Likewise.
28750         * lib/file-type.h: Likewise.
28751         * lib/fileblocks.c: Likewise.
28752         * lib/filemode.c: Likewise.
28753         * lib/filemode.h: Likewise.
28754         * lib/filename.h: Likewise.
28755         * lib/filenamecat.c: Likewise.
28756         * lib/filenamecat.h: Likewise.
28757         * lib/findprog.c: Likewise.
28758         * lib/findprog.h: Likewise.
28759         * lib/float.in.h: Likewise.
28760         * lib/floor.c: Likewise.
28761         * lib/floorf.c: Likewise.
28762         * lib/floorl.c: Likewise.
28763         * lib/fopen-safer.c: Likewise.
28764         * lib/fopen.c: Likewise.
28765         * lib/fpending.c: Likewise.
28766         * lib/fpending.h: Likewise.
28767         * lib/fprintf.c: Likewise.
28768         * lib/fprintftime.h: Likewise.
28769         * lib/fpucw.h: Likewise.
28770         * lib/fpurge.c: Likewise.
28771         * lib/fpurge.h: Likewise.
28772         * lib/freadable.c: Likewise.
28773         * lib/freadable.h: Likewise.
28774         * lib/freadahead.c: Likewise.
28775         * lib/freadahead.h: Likewise.
28776         * lib/freading.c: Likewise.
28777         * lib/freading.h: Likewise.
28778         * lib/free.c: Likewise.
28779         * lib/freopen.c: Likewise.
28780         * lib/frexp.c: Likewise.
28781         * lib/frexpl.c: Likewise.
28782         * lib/fseek.c: Likewise.
28783         * lib/fseterr.c: Likewise.
28784         * lib/fseterr.h: Likewise.
28785         * lib/fstatat.c: Likewise.
28786         * lib/fstrcmp.c: Likewise.
28787         * lib/fstrcmp.h: Likewise.
28788         * lib/fsusage.c: Likewise.
28789         * lib/fsusage.h: Likewise.
28790         * lib/ftell.c: Likewise.
28791         * lib/ftello.c: Likewise.
28792         * lib/fts-cycle.c: Likewise.
28793         * lib/fts.c: Likewise.
28794         * lib/fts_.h: Likewise.
28795         * lib/full-read.c: Likewise.
28796         * lib/full-read.h: Likewise.
28797         * lib/full-write.c: Likewise.
28798         * lib/full-write.h: Likewise.
28799         * lib/fwritable.c: Likewise.
28800         * lib/fwritable.h: Likewise.
28801         * lib/fwriteerror.c: Likewise.
28802         * lib/fwriteerror.h: Likewise.
28803         * lib/fwriting.c: Likewise.
28804         * lib/fwriting.h: Likewise.
28805         * lib/gcd.c: Likewise.
28806         * lib/gcd.h: Likewise.
28807         * lib/getcwd.c: Likewise.
28808         * lib/getdate.h: Likewise.
28809         * lib/getdate.y: Likewise.
28810         * lib/getdomainname.c: Likewise.
28811         * lib/getdomainname.h: Likewise.
28812         * lib/getgroups.c: Likewise.
28813         * lib/gethostname.c: Likewise.
28814         * lib/gethrxtime.c: Likewise.
28815         * lib/gethrxtime.h: Likewise.
28816         * lib/getloadavg.c: Likewise.
28817         * lib/getndelim2.c: Likewise.
28818         * lib/getndelim2.h: Likewise.
28819         * lib/getnline.c: Likewise.
28820         * lib/getnline.h: Likewise.
28821         * lib/getopt.c: Likewise.
28822         * lib/getopt.in.h: Likewise.
28823         * lib/getopt1.c: Likewise.
28824         * lib/getopt_int.h: Likewise.
28825         * lib/getpagesize.h: Likewise.
28826         * lib/getsubopt.c: Likewise.
28827         * lib/gettime.c: Likewise.
28828         * lib/getugroups.c: Likewise.
28829         * lib/getugroups.h: Likewise.
28830         * lib/getusershell.c: Likewise.
28831         * lib/gl_anyavltree_list1.h: Likewise.
28832         * lib/gl_anyavltree_list2.h: Likewise.
28833         * lib/gl_anyhash_list1.h: Likewise.
28834         * lib/gl_anyhash_list2.h: Likewise.
28835         * lib/gl_anylinked_list1.h: Likewise.
28836         * lib/gl_anylinked_list2.h: Likewise.
28837         * lib/gl_anyrbtree_list1.h: Likewise.
28838         * lib/gl_anyrbtree_list2.h: Likewise.
28839         * lib/gl_anytree_list1.h: Likewise.
28840         * lib/gl_anytree_list2.h: Likewise.
28841         * lib/gl_anytree_oset.h: Likewise.
28842         * lib/gl_anytreehash_list1.h: Likewise.
28843         * lib/gl_anytreehash_list2.h: Likewise.
28844         * lib/gl_array_list.c: Likewise.
28845         * lib/gl_array_list.h: Likewise.
28846         * lib/gl_array_oset.c: Likewise.
28847         * lib/gl_array_oset.h: Likewise.
28848         * lib/gl_avltree_list.c: Likewise.
28849         * lib/gl_avltree_list.h: Likewise.
28850         * lib/gl_avltree_oset.c: Likewise.
28851         * lib/gl_avltree_oset.h: Likewise.
28852         * lib/gl_avltreehash_list.c: Likewise.
28853         * lib/gl_avltreehash_list.h: Likewise.
28854         * lib/gl_carray_list.c: Likewise.
28855         * lib/gl_carray_list.h: Likewise.
28856         * lib/gl_linked_list.c: Likewise.
28857         * lib/gl_linked_list.h: Likewise.
28858         * lib/gl_linkedhash_list.c: Likewise.
28859         * lib/gl_linkedhash_list.h: Likewise.
28860         * lib/gl_list.c: Likewise.
28861         * lib/gl_list.h: Likewise.
28862         * lib/gl_oset.c: Likewise.
28863         * lib/gl_oset.h: Likewise.
28864         * lib/gl_rbtree_list.c: Likewise.
28865         * lib/gl_rbtree_list.h: Likewise.
28866         * lib/gl_rbtree_oset.c: Likewise.
28867         * lib/gl_rbtree_oset.h: Likewise.
28868         * lib/gl_rbtreehash_list.c: Likewise.
28869         * lib/gl_rbtreehash_list.h: Likewise.
28870         * lib/gl_sublist.c: Likewise.
28871         * lib/gl_sublist.h: Likewise.
28872         * lib/group-member.c: Likewise.
28873         * lib/group-member.h: Likewise.
28874         * lib/hard-locale.c: Likewise.
28875         * lib/hard-locale.h: Likewise.
28876         * lib/hash-pjw.c: Likewise.
28877         * lib/hash-pjw.h: Likewise.
28878         * lib/hash-triple.c: Likewise.
28879         * lib/hash.c: Likewise.
28880         * lib/hash.h: Likewise.
28881         * lib/human.c: Likewise.
28882         * lib/human.h: Likewise.
28883         * lib/i-ring.c: Likewise.
28884         * lib/i-ring.h: Likewise.
28885         * lib/idcache.c: Likewise.
28886         * lib/imaxabs.c: Likewise.
28887         * lib/imaxdiv.c: Likewise.
28888         * lib/inet_pton.c: Likewise.
28889         * lib/inet_pton.h: Likewise.
28890         * lib/intprops.h: Likewise.
28891         * lib/inttostr.c: Likewise.
28892         * lib/inttostr.h: Likewise.
28893         * lib/inttypes.in.h: Likewise.
28894         * lib/isapipe.c: Likewise.
28895         * lib/isdir.c: Likewise.
28896         * lib/isnan.c: Likewise.
28897         * lib/isnan.h: Likewise.
28898         * lib/isnanf.c: Likewise.
28899         * lib/isnanf.h: Likewise.
28900         * lib/isnanl-nolibm.h: Likewise.
28901         * lib/isnanl.c: Likewise.
28902         * lib/isnanl.h: Likewise.
28903         * lib/javacomp.c: Likewise.
28904         * lib/javacomp.h: Likewise.
28905         * lib/javaexec.c: Likewise.
28906         * lib/javaexec.h: Likewise.
28907         * lib/javaversion.c: Likewise.
28908         * lib/javaversion.h: Likewise.
28909         * lib/javaversion.java: Likewise.
28910         * lib/lbrkprop.h: Likewise.
28911         * lib/lchmod.h: Likewise.
28912         * lib/lchown.c: Likewise.
28913         * lib/ldexpl.c: Likewise.
28914         * lib/linebreak.c: Likewise.
28915         * lib/linebreak.h: Likewise.
28916         * lib/linebuffer.c: Likewise.
28917         * lib/linebuffer.h: Likewise.
28918         * lib/locale.in.h: Likewise.
28919         * lib/logl.c: Likewise.
28920         * lib/long-options.c: Likewise.
28921         * lib/long-options.h: Likewise.
28922         * lib/lstat.c: Likewise.
28923         * lib/lstat.h: Likewise.
28924         * lib/math.in.h: Likewise.
28925         * lib/mbchar.c: Likewise.
28926         * lib/mbchar.h: Likewise.
28927         * lib/mbfile.h: Likewise.
28928         * lib/mbiter.h: Likewise.
28929         * lib/mbscasecmp.c: Likewise.
28930         * lib/mbscasestr.c: Likewise.
28931         * lib/mbschr.c: Likewise.
28932         * lib/mbscspn.c: Likewise.
28933         * lib/mbslen.c: Likewise.
28934         * lib/mbsncasecmp.c: Likewise.
28935         * lib/mbsnlen.c: Likewise.
28936         * lib/mbspbrk.c: Likewise.
28937         * lib/mbspcasecmp.c: Likewise.
28938         * lib/mbsrchr.c: Likewise.
28939         * lib/mbssep.c: Likewise.
28940         * lib/mbsspn.c: Likewise.
28941         * lib/mbsstr.c: Likewise.
28942         * lib/mbstok_r.c: Likewise.
28943         * lib/mbswidth.c: Likewise.
28944         * lib/mbswidth.h: Likewise.
28945         * lib/mbuiter.h: Likewise.
28946         * lib/memcasecmp.c: Likewise.
28947         * lib/memcasecmp.h: Likewise.
28948         * lib/memchr.c: Likewise.
28949         * lib/memcmp.c: Likewise.
28950         * lib/memcoll.c: Likewise.
28951         * lib/memcoll.h: Likewise.
28952         * lib/memcpy.c: Likewise.
28953         * lib/memrchr.c: Likewise.
28954         * lib/mkancesdirs.c: Likewise.
28955         * lib/mkdir-p.c: Likewise.
28956         * lib/mkdir-p.h: Likewise.
28957         * lib/mkdir.c: Likewise.
28958         * lib/mkdirat.c: Likewise.
28959         * lib/mkdtemp.c: Likewise.
28960         * lib/mkstemp-safer.c: Likewise.
28961         * lib/mkstemp.c: Likewise.
28962         * lib/modechange.c: Likewise.
28963         * lib/modechange.h: Likewise.
28964         * lib/mountlist.c: Likewise.
28965         * lib/mountlist.h: Likewise.
28966         * lib/mpsort.c: Likewise.
28967         * lib/nanosleep.c: Likewise.
28968         * lib/obstack.c: Likewise.
28969         * lib/obstack.h: Likewise.
28970         * lib/open-safer.c: Likewise.
28971         * lib/open.c: Likewise.
28972         * lib/openat-die.c: Likewise.
28973         * lib/openat-priv.h: Likewise.
28974         * lib/openat-proc.c: Likewise.
28975         * lib/openat.c: Likewise.
28976         * lib/openat.h: Likewise.
28977         * lib/pagealign_alloc.c: Likewise.
28978         * lib/pagealign_alloc.h: Likewise.
28979         * lib/physmem.c: Likewise.
28980         * lib/physmem.h: Likewise.
28981         * lib/pipe-safer.c: Likewise.
28982         * lib/pipe.c: Likewise.
28983         * lib/pipe.h: Likewise.
28984         * lib/posixtm.c: Likewise.
28985         * lib/posixtm.h: Likewise.
28986         * lib/posixver.c: Likewise.
28987         * lib/printf-frexp.c: Likewise.
28988         * lib/printf-frexp.h: Likewise.
28989         * lib/printf-frexpl.c: Likewise.
28990         * lib/printf-frexpl.h: Likewise.
28991         * lib/printf.c: Likewise.
28992         * lib/progname.c: Likewise.
28993         * lib/progname.h: Likewise.
28994         * lib/progreloc.c: Likewise.
28995         * lib/putenv.c: Likewise.
28996         * lib/quote.c: Likewise.
28997         * lib/quote.h: Likewise.
28998         * lib/quotearg.c: Likewise.
28999         * lib/quotearg.h: Likewise.
29000         * lib/raise.c: Likewise.
29001         * lib/readline.c: Likewise.
29002         * lib/readline.h: Likewise.
29003         * lib/readlink.c: Likewise.
29004         * lib/readtokens.c: Likewise.
29005         * lib/readtokens.h: Likewise.
29006         * lib/readtokens0.c: Likewise.
29007         * lib/readtokens0.h: Likewise.
29008         * lib/readutmp.c: Likewise.
29009         * lib/readutmp.h: Likewise.
29010         * lib/realloc.c: Likewise.
29011         * lib/relocwrapper.c: Likewise.
29012         * lib/rename-dest-slash.c: Likewise.
29013         * lib/rename.c: Likewise.
29014         * lib/rmdir.c: Likewise.
29015         * lib/rpmatch.c: Likewise.
29016         * lib/safe-read.c: Likewise.
29017         * lib/safe-read.h: Likewise.
29018         * lib/safe-write.c: Likewise.
29019         * lib/safe-write.h: Likewise.
29020         * lib/same-inode.h: Likewise.
29021         * lib/same.c: Likewise.
29022         * lib/same.h: Likewise.
29023         * lib/save-cwd.c: Likewise.
29024         * lib/save-cwd.h: Likewise.
29025         * lib/savedir.c: Likewise.
29026         * lib/savedir.h: Likewise.
29027         * lib/savewd.c: Likewise.
29028         * lib/savewd.h: Likewise.
29029         * lib/search.in.h: Likewise.
29030         * lib/setenv.c: Likewise.
29031         * lib/setenv.h: Likewise.
29032         * lib/settime.c: Likewise.
29033         * lib/sh-quote.c: Likewise.
29034         * lib/sh-quote.h: Likewise.
29035         * lib/sig2str.c: Likewise.
29036         * lib/sig2str.h: Likewise.
29037         * lib/signal.in.h: Likewise.
29038         * lib/signbitd.c: Likewise.
29039         * lib/signbitf.c: Likewise.
29040         * lib/signbitl.c: Likewise.
29041         * lib/sigprocmask.c: Likewise.
29042         * lib/sincosl.c: Likewise.
29043         * lib/sleep.c: Likewise.
29044         * lib/sprintf.c: Likewise.
29045         * lib/sqrtl.c: Likewise.
29046         * lib/stat-time.h: Likewise.
29047         * lib/stdio--.h: Likewise.
29048         * lib/stdio-safer.h: Likewise.
29049         * lib/stdlib--.h: Likewise.
29050         * lib/stdlib-safer.h: Likewise.
29051         * lib/stdlib.in.h: Likewise.
29052         * lib/stpcpy.c: Likewise.
29053         * lib/stpncpy.c: Likewise.
29054         * lib/strchrnul.c: Likewise.
29055         * lib/strcspn.c: Likewise.
29056         * lib/strerror.c: Likewise.
29057         * lib/strftime.c: Likewise.
29058         * lib/strftime.h: Likewise.
29059         * lib/striconveh.c: Likewise.
29060         * lib/striconveh.h: Likewise.
29061         * lib/striconveha.c: Likewise.
29062         * lib/striconveha.h: Likewise.
29063         * lib/stripslash.c: Likewise.
29064         * lib/strnlen1.c: Likewise.
29065         * lib/strnlen1.h: Likewise.
29066         * lib/strtod.c: Likewise.
29067         * lib/strtoimax.c: Likewise.
29068         * lib/strtok_r.c: Likewise.
29069         * lib/strtol.c: Likewise.
29070         * lib/strtoll.c: Likewise.
29071         * lib/strtoul.c: Likewise.
29072         * lib/strtoull.c: Likewise.
29073         * lib/sysexits.in.h: Likewise.
29074         * lib/tempname.c: Likewise.
29075         * lib/tempname.h: Likewise.
29076         * lib/timespec.h: Likewise.
29077         * lib/tls.c: Likewise.
29078         * lib/tls.h: Likewise.
29079         * lib/tmpdir.c: Likewise.
29080         * lib/tmpdir.h: Likewise.
29081         * lib/tmpfile-safer.c: Likewise.
29082         * lib/tmpfile.c: Likewise.
29083         * lib/trigl.c: Likewise.
29084         * lib/trigl.h: Likewise.
29085         * lib/trim.c: Likewise.
29086         * lib/trim.h: Likewise.
29087         * lib/trunc.c: Likewise.
29088         * lib/truncf.c: Likewise.
29089         * lib/truncl.c: Likewise.
29090         * lib/tsearch.c: Likewise.
29091         * lib/unicodeio.c: Likewise.
29092         * lib/unicodeio.h: Likewise.
29093         * lib/unistd--.h: Likewise.
29094         * lib/unistd-safer.h: Likewise.
29095         * lib/unistdio/ulc-fprintf.c: Likewise.
29096         * lib/unistdio/ulc-vfprintf.c: Likewise.
29097         * lib/unlinkdir.c: Likewise.
29098         * lib/unlinkdir.h: Likewise.
29099         * lib/unlocked-io.h: Likewise.
29100         * lib/unsetenv.c: Likewise.
29101         * lib/userspec.c: Likewise.
29102         * lib/utime.c: Likewise.
29103         * lib/utimecmp.c: Likewise.
29104         * lib/utimecmp.h: Likewise.
29105         * lib/utimens.c: Likewise.
29106         * lib/verify.h: Likewise.
29107         * lib/verror.c: Likewise.
29108         * lib/verror.h: Likewise.
29109         * lib/version-etc-fsf.c: Likewise.
29110         * lib/version-etc.c: Likewise.
29111         * lib/version-etc.h: Likewise.
29112         * lib/vfprintf.c: Likewise.
29113         * lib/vprintf.c: Likewise.
29114         * lib/vsprintf.c: Likewise.
29115         * lib/w32spawn.h: Likewise.
29116         * lib/wait-process.c: Likewise.
29117         * lib/wait-process.h: Likewise.
29118         * lib/wcwidth.c: Likewise.
29119         * lib/write-any-file.c: Likewise.
29120         * lib/xalloc-die.c: Likewise.
29121         * lib/xalloc.h: Likewise.
29122         * lib/xasprintf.c: Likewise.
29123         * lib/xgetcwd.c: Likewise.
29124         * lib/xgetcwd.h: Likewise.
29125         * lib/xgetdomainname.c: Likewise.
29126         * lib/xgetdomainname.h: Likewise.
29127         * lib/xgethostname.c: Likewise.
29128         * lib/xmalloc.c: Likewise.
29129         * lib/xmalloca.c: Likewise.
29130         * lib/xmalloca.h: Likewise.
29131         * lib/xmemcoll.c: Likewise.
29132         * lib/xnanosleep.c: Likewise.
29133         * lib/xreadlink.c: Likewise.
29134         * lib/xreadlink.h: Likewise.
29135         * lib/xsetenv.c: Likewise.
29136         * lib/xsetenv.h: Likewise.
29137         * lib/xstriconv.c: Likewise.
29138         * lib/xstriconv.h: Likewise.
29139         * lib/xstrndup.c: Likewise.
29140         * lib/xstrndup.h: Likewise.
29141         * lib/xstrtod.c: Likewise.
29142         * lib/xstrtod.h: Likewise.
29143         * lib/xstrtol-error.c: Likewise.
29144         * lib/xstrtol.c: Likewise.
29145         * lib/xstrtol.h: Likewise.
29146         * lib/xtime.h: Likewise.
29147         * lib/xvasprintf.c: Likewise.
29148         * lib/xvasprintf.h: Likewise.
29149         * lib/yesno.c: Likewise.
29150         * lib/yesno.h: Likewise.
29151         * posix-modules: Likewise.
29152         * tests/test-alloca-opt.c: Likewise.
29153         * tests/test-arcfour.c: Likewise.
29154         * tests/test-arctwo.c: Likewise.
29155         * tests/test-argmatch.c: Likewise.
29156         * tests/test-argp-2.sh: Likewise.
29157         * tests/test-argp.c: Likewise.
29158         * tests/test-arpa_inet.c: Likewise.
29159         * tests/test-array_list.c: Likewise.
29160         * tests/test-array_oset.c: Likewise.
29161         * tests/test-atexit.c: Likewise.
29162         * tests/test-avltree_list.c: Likewise.
29163         * tests/test-avltree_oset.c: Likewise.
29164         * tests/test-avltreehash_list.c: Likewise.
29165         * tests/test-base64.c: Likewise.
29166         * tests/test-binary-io.c: Likewise.
29167         * tests/test-byteswap.c: Likewise.
29168         * tests/test-c-ctype.c: Likewise.
29169         * tests/test-c-strcasecmp.c: Likewise.
29170         * tests/test-c-strcasestr.c: Likewise.
29171         * tests/test-c-strncasecmp.c: Likewise.
29172         * tests/test-c-strstr.c: Likewise.
29173         * tests/test-canonicalize-lgpl.c: Likewise.
29174         * tests/test-canonicalize.c: Likewise.
29175         * tests/test-carray_list.c: Likewise.
29176         * tests/test-ceilf.c: Likewise.
29177         * tests/test-ceill.c: Likewise.
29178         * tests/test-count-one-bits.c: Likewise.
29179         * tests/test-crc.c: Likewise.
29180         * tests/test-dirname.c: Likewise.
29181         * tests/test-fbufmode.c: Likewise.
29182         * tests/test-fcntl.c: Likewise.
29183         * tests/test-fflush.c: Likewise.
29184         * tests/test-floorf.c: Likewise.
29185         * tests/test-floorl.c: Likewise.
29186         * tests/test-fopen.c: Likewise.
29187         * tests/test-fprintf-posix.c: Likewise.
29188         * tests/test-fprintf-posix.h: Likewise.
29189         * tests/test-fpurge.c: Likewise.
29190         * tests/test-freadable.c: Likewise.
29191         * tests/test-freadahead.c: Likewise.
29192         * tests/test-freading.c: Likewise.
29193         * tests/test-freopen.c: Likewise.
29194         * tests/test-frexp.c: Likewise.
29195         * tests/test-frexpl.c: Likewise.
29196         * tests/test-fseek.c: Likewise.
29197         * tests/test-fseeko.c: Likewise.
29198         * tests/test-fseterr.c: Likewise.
29199         * tests/test-fstrcmp.c: Likewise.
29200         * tests/test-ftell.c: Likewise.
29201         * tests/test-ftello.c: Likewise.
29202         * tests/test-fwritable.c: Likewise.
29203         * tests/test-fwriting.c: Likewise.
29204         * tests/test-getaddrinfo.c: Likewise.
29205         * tests/test-getpass.c: Likewise.
29206         * tests/test-gettimeofday.c: Likewise.
29207         * tests/test-hmac-md5.c: Likewise.
29208         * tests/test-hmac-sha1.c: Likewise.
29209         * tests/test-iconv.c: Likewise.
29210         * tests/test-iconvme.c: Likewise.
29211         * tests/test-inttypes.c: Likewise.
29212         * tests/test-isnan.c: Likewise.
29213         * tests/test-isnanf.c: Likewise.
29214         * tests/test-isnanl-nolibm.c: Likewise.
29215         * tests/test-isnanl.c: Likewise.
29216         * tests/test-isnanl.h: Likewise.
29217         * tests/test-ldexpl.c: Likewise.
29218         * tests/test-linked_list.c: Likewise.
29219         * tests/test-linkedhash_list.c: Likewise.
29220         * tests/test-locale.c: Likewise.
29221         * tests/test-localename.c: Likewise.
29222         * tests/test-lock.c: Likewise.
29223         * tests/test-lseek.c: Likewise.
29224         * tests/test-malloca.c: Likewise.
29225         * tests/test-math.c: Likewise.
29226         * tests/test-mbscasecmp.c: Likewise.
29227         * tests/test-mbscasestr1.c: Likewise.
29228         * tests/test-mbscasestr2.c: Likewise.
29229         * tests/test-mbscasestr3.c: Likewise.
29230         * tests/test-mbscasestr4.c: Likewise.
29231         * tests/test-mbschr.c: Likewise.
29232         * tests/test-mbscspn.c: Likewise.
29233         * tests/test-mbsncasecmp.c: Likewise.
29234         * tests/test-mbspbrk.c: Likewise.
29235         * tests/test-mbspcasecmp.c: Likewise.
29236         * tests/test-mbsrchr.c: Likewise.
29237         * tests/test-mbsspn.c: Likewise.
29238         * tests/test-mbsstr1.c: Likewise.
29239         * tests/test-mbsstr2.c: Likewise.
29240         * tests/test-mbsstr3.c: Likewise.
29241         * tests/test-md5.c: Likewise.
29242         * tests/test-memmem.c: Likewise.
29243         * tests/test-netinet_in.c: Likewise.
29244         * tests/test-open.c: Likewise.
29245         * tests/test-printf-frexp.c: Likewise.
29246         * tests/test-printf-frexpl.c: Likewise.
29247         * tests/test-printf-posix.c: Likewise.
29248         * tests/test-printf-posix.h: Likewise.
29249         * tests/test-rbtree_list.c: Likewise.
29250         * tests/test-rbtree_oset.c: Likewise.
29251         * tests/test-rbtreehash_list.c: Likewise.
29252         * tests/test-read-file.c: Likewise.
29253         * tests/test-rijndael.c: Likewise.
29254         * tests/test-search.c: Likewise.
29255         * tests/test-signbit.c: Likewise.
29256         * tests/test-sleep.c: Likewise.
29257         * tests/test-snprintf-posix.c: Likewise.
29258         * tests/test-snprintf-posix.h: Likewise.
29259         * tests/test-snprintf.c: Likewise.
29260         * tests/test-sprintf-posix.c: Likewise.
29261         * tests/test-sprintf-posix.h: Likewise.
29262         * tests/test-stat-time.c: Likewise.
29263         * tests/test-stdbool.c: Likewise.
29264         * tests/test-stdint.c: Likewise.
29265         * tests/test-stdio.c: Likewise.
29266         * tests/test-stdlib.c: Likewise.
29267         * tests/test-stpncpy.c: Likewise.
29268         * tests/test-strcasestr.c: Likewise.
29269         * tests/test-striconv.c: Likewise.
29270         * tests/test-striconveh.c: Likewise.
29271         * tests/test-striconveha.c: Likewise.
29272         * tests/test-string.c: Likewise.
29273         * tests/test-sys_select.c: Likewise.
29274         * tests/test-sys_socket.c: Likewise.
29275         * tests/test-sys_stat.c: Likewise.
29276         * tests/test-sys_time.c: Likewise.
29277         * tests/test-sysexits.c: Likewise.
29278         * tests/test-time.c: Likewise.
29279         * tests/test-tls.c: Likewise.
29280         * tests/test-trunc.c: Likewise.
29281         * tests/test-truncf.c: Likewise.
29282         * tests/test-truncl.c: Likewise.
29283         * tests/test-unistd.c: Likewise.
29284         * tests/test-vasnprintf-posix.c: Likewise.
29285         * tests/test-vasnprintf-posix2.c: Likewise.
29286         * tests/test-vasnprintf.c: Likewise.
29287         * tests/test-vasprintf-posix.c: Likewise.
29288         * tests/test-vasprintf.c: Likewise.
29289         * tests/test-verify.c: Likewise.
29290         * tests/test-vfprintf-posix.c: Likewise.
29291         * tests/test-vprintf-posix.c: Likewise.
29292         * tests/test-vsnprintf-posix.c: Likewise.
29293         * tests/test-vsnprintf.c: Likewise.
29294         * tests/test-vsprintf-posix.c: Likewise.
29295         * tests/test-wchar.c: Likewise.
29296         * tests/test-wctype.c: Likewise.
29297         * tests/test-wcwidth.c: Likewise.
29298         * tests/test-xstrtol.c: Likewise.
29299         * tests/test-xvasprintf.c: Likewise.
29300         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
29301         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
29302         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29303         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29304         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29305         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
29306         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29307         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29308         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29309         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
29310         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29311         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29312         * tests/uniname/test-uninames.c: Likewise.
29313         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
29314         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
29315         * tests/unistdio/test-u16-printf1.h: Likewise.
29316         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
29317         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
29318         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
29319         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
29320         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
29321         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
29322         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
29323         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
29324         * tests/unistdio/test-u32-printf1.h: Likewise.
29325         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
29326         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
29327         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
29328         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
29329         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
29330         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
29331         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
29332         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
29333         * tests/unistdio/test-u8-printf1.h: Likewise.
29334         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
29335         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
29336         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
29337         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
29338         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
29339         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
29340         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
29341         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
29342         * tests/unistdio/test-ulc-printf1.h: Likewise.
29343         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
29344         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
29345         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
29346         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
29347         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
29348         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
29349         * tests/uniwidth/test-u16-strwidth.c: Likewise.
29350         * tests/uniwidth/test-u16-width.c: Likewise.
29351         * tests/uniwidth/test-u32-strwidth.c: Likewise.
29352         * tests/uniwidth/test-u32-width.c: Likewise.
29353         * tests/uniwidth/test-u8-strwidth.c: Likewise.
29354         * tests/uniwidth/test-u8-width.c: Likewise.
29355         * tests/uniwidth/test-uc_width.c: Likewise.
29356         * config/srclist-update: Likewise.
29357         (fixlicense): Update to GPLv3+.
29358
29359         Change copyright notice from LGPLv2.1+ to LGPLv3+.
29360         * tests/test-tsearch.c: Change copyright notice.
29361
29362         Change copyright notice from LGPLv2.0+ to LGPLv3+.
29363         * lib/c-strcaseeq.h: Change copyright notice.
29364         * lib/streq.h: Likewise.
29365         * lib/uniconv.h: Likewise.
29366         * lib/uniconv/u-conv-from-enc.h: Likewise.
29367         * lib/uniconv/u-conv-to-enc.h: Likewise.
29368         * lib/uniconv/u-strconv-from-enc.h: Likewise.
29369         * lib/uniconv/u-strconv-to-enc.h: Likewise.
29370         * lib/uniconv/u16-conv-from-enc.c: Likewise.
29371         * lib/uniconv/u16-conv-to-enc.c: Likewise.
29372         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
29373         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
29374         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
29375         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
29376         * lib/uniconv/u32-conv-from-enc.c: Likewise.
29377         * lib/uniconv/u32-conv-to-enc.c: Likewise.
29378         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
29379         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
29380         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
29381         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
29382         * lib/uniconv/u8-conv-from-enc.c: Likewise.
29383         * lib/uniconv/u8-conv-to-enc.c: Likewise.
29384         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
29385         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
29386         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
29387         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
29388         * lib/uniname.h: Likewise.
29389         * lib/uniname/uniname.c: Likewise.
29390         * lib/unistdio.h: Likewise.
29391         * lib/unistdio/u-asnprintf.h: Likewise.
29392         * lib/unistdio/u-asprintf.h: Likewise.
29393         * lib/unistdio/u-printf-args.c: Likewise.
29394         * lib/unistdio/u-printf-args.h: Likewise.
29395         * lib/unistdio/u-printf-parse.h: Likewise.
29396         * lib/unistdio/u-snprintf.h: Likewise.
29397         * lib/unistdio/u-sprintf.h: Likewise.
29398         * lib/unistdio/u-vasprintf.h: Likewise.
29399         * lib/unistdio/u-vsnprintf.h: Likewise.
29400         * lib/unistdio/u-vsprintf.h: Likewise.
29401         * lib/unistdio/u16-asnprintf.c: Likewise.
29402         * lib/unistdio/u16-asprintf.c: Likewise.
29403         * lib/unistdio/u16-printf-parse.c: Likewise.
29404         * lib/unistdio/u16-snprintf.c: Likewise.
29405         * lib/unistdio/u16-sprintf.c: Likewise.
29406         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
29407         * lib/unistdio/u16-u16-asprintf.c: Likewise.
29408         * lib/unistdio/u16-u16-snprintf.c: Likewise.
29409         * lib/unistdio/u16-u16-sprintf.c: Likewise.
29410         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
29411         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
29412         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
29413         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
29414         * lib/unistdio/u16-vasnprintf.c: Likewise.
29415         * lib/unistdio/u16-vasprintf.c: Likewise.
29416         * lib/unistdio/u16-vsnprintf.c: Likewise.
29417         * lib/unistdio/u16-vsprintf.c: Likewise.
29418         * lib/unistdio/u32-asnprintf.c: Likewise.
29419         * lib/unistdio/u32-asprintf.c: Likewise.
29420         * lib/unistdio/u32-printf-parse.c: Likewise.
29421         * lib/unistdio/u32-snprintf.c: Likewise.
29422         * lib/unistdio/u32-sprintf.c: Likewise.
29423         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
29424         * lib/unistdio/u32-u32-asprintf.c: Likewise.
29425         * lib/unistdio/u32-u32-snprintf.c: Likewise.
29426         * lib/unistdio/u32-u32-sprintf.c: Likewise.
29427         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
29428         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
29429         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
29430         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
29431         * lib/unistdio/u32-vasnprintf.c: Likewise.
29432         * lib/unistdio/u32-vasprintf.c: Likewise.
29433         * lib/unistdio/u32-vsnprintf.c: Likewise.
29434         * lib/unistdio/u32-vsprintf.c: Likewise.
29435         * lib/unistdio/u8-asnprintf.c: Likewise.
29436         * lib/unistdio/u8-asprintf.c: Likewise.
29437         * lib/unistdio/u8-printf-parse.c: Likewise.
29438         * lib/unistdio/u8-snprintf.c: Likewise.
29439         * lib/unistdio/u8-sprintf.c: Likewise.
29440         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
29441         * lib/unistdio/u8-u8-asprintf.c: Likewise.
29442         * lib/unistdio/u8-u8-snprintf.c: Likewise.
29443         * lib/unistdio/u8-u8-sprintf.c: Likewise.
29444         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
29445         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
29446         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
29447         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
29448         * lib/unistdio/u8-vasnprintf.c: Likewise.
29449         * lib/unistdio/u8-vasprintf.c: Likewise.
29450         * lib/unistdio/u8-vsnprintf.c: Likewise.
29451         * lib/unistdio/u8-vsprintf.c: Likewise.
29452         * lib/unistdio/ulc-asnprintf.c: Likewise.
29453         * lib/unistdio/ulc-asprintf.c: Likewise.
29454         * lib/unistdio/ulc-printf-parse.c: Likewise.
29455         * lib/unistdio/ulc-snprintf.c: Likewise.
29456         * lib/unistdio/ulc-sprintf.c: Likewise.
29457         * lib/unistdio/ulc-vasnprintf.c: Likewise.
29458         * lib/unistdio/ulc-vasprintf.c: Likewise.
29459         * lib/unistdio/ulc-vsnprintf.c: Likewise.
29460         * lib/unistdio/ulc-vsprintf.c: Likewise.
29461         * lib/unistr.h: Likewise.
29462         * lib/unistr/u-cpy-alloc.h: Likewise.
29463         * lib/unistr/u-cpy.h: Likewise.
29464         * lib/unistr/u-endswith.h: Likewise.
29465         * lib/unistr/u-move.h: Likewise.
29466         * lib/unistr/u-set.h: Likewise.
29467         * lib/unistr/u-startswith.h: Likewise.
29468         * lib/unistr/u-stpcpy.h: Likewise.
29469         * lib/unistr/u-stpncpy.h: Likewise.
29470         * lib/unistr/u-strcat.h: Likewise.
29471         * lib/unistr/u-strcpy.h: Likewise.
29472         * lib/unistr/u-strcspn.h: Likewise.
29473         * lib/unistr/u-strdup.h: Likewise.
29474         * lib/unistr/u-strlen.h: Likewise.
29475         * lib/unistr/u-strncat.h: Likewise.
29476         * lib/unistr/u-strncpy.h: Likewise.
29477         * lib/unistr/u-strnlen.h: Likewise.
29478         * lib/unistr/u-strpbrk.h: Likewise.
29479         * lib/unistr/u-strspn.h: Likewise.
29480         * lib/unistr/u-strstr.h: Likewise.
29481         * lib/unistr/u-strtok.h: Likewise.
29482         * lib/unistr/u16-check.c: Likewise.
29483         * lib/unistr/u16-chr.c: Likewise.
29484         * lib/unistr/u16-cmp.c: Likewise.
29485         * lib/unistr/u16-cpy-alloc.c: Likewise.
29486         * lib/unistr/u16-cpy.c: Likewise.
29487         * lib/unistr/u16-endswith.c: Likewise.
29488         * lib/unistr/u16-mblen.c: Likewise.
29489         * lib/unistr/u16-mbsnlen.c: Likewise.
29490         * lib/unistr/u16-mbtouc-aux.c: Likewise.
29491         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
29492         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
29493         * lib/unistr/u16-mbtouc.c: Likewise.
29494         * lib/unistr/u16-mbtoucr.c: Likewise.
29495         * lib/unistr/u16-move.c: Likewise.
29496         * lib/unistr/u16-next.c: Likewise.
29497         * lib/unistr/u16-prev.c: Likewise.
29498         * lib/unistr/u16-set.c: Likewise.
29499         * lib/unistr/u16-startswith.c: Likewise.
29500         * lib/unistr/u16-stpcpy.c: Likewise.
29501         * lib/unistr/u16-stpncpy.c: Likewise.
29502         * lib/unistr/u16-strcat.c: Likewise.
29503         * lib/unistr/u16-strchr.c: Likewise.
29504         * lib/unistr/u16-strcmp.c: Likewise.
29505         * lib/unistr/u16-strcpy.c: Likewise.
29506         * lib/unistr/u16-strcspn.c: Likewise.
29507         * lib/unistr/u16-strdup.c: Likewise.
29508         * lib/unistr/u16-strlen.c: Likewise.
29509         * lib/unistr/u16-strmblen.c: Likewise.
29510         * lib/unistr/u16-strmbtouc.c: Likewise.
29511         * lib/unistr/u16-strncat.c: Likewise.
29512         * lib/unistr/u16-strncmp.c: Likewise.
29513         * lib/unistr/u16-strncpy.c: Likewise.
29514         * lib/unistr/u16-strnlen.c: Likewise.
29515         * lib/unistr/u16-strpbrk.c: Likewise.
29516         * lib/unistr/u16-strrchr.c: Likewise.
29517         * lib/unistr/u16-strspn.c: Likewise.
29518         * lib/unistr/u16-strstr.c: Likewise.
29519         * lib/unistr/u16-strtok.c: Likewise.
29520         * lib/unistr/u16-to-u32.c: Likewise.
29521         * lib/unistr/u16-to-u8.c: Likewise.
29522         * lib/unistr/u16-uctomb-aux.c: Likewise.
29523         * lib/unistr/u16-uctomb.c: Likewise.
29524         * lib/unistr/u32-check.c: Likewise.
29525         * lib/unistr/u32-chr.c: Likewise.
29526         * lib/unistr/u32-cmp.c: Likewise.
29527         * lib/unistr/u32-cpy-alloc.c: Likewise.
29528         * lib/unistr/u32-cpy.c: Likewise.
29529         * lib/unistr/u32-endswith.c: Likewise.
29530         * lib/unistr/u32-mblen.c: Likewise.
29531         * lib/unistr/u32-mbsnlen.c: Likewise.
29532         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
29533         * lib/unistr/u32-mbtouc.c: Likewise.
29534         * lib/unistr/u32-mbtoucr.c: Likewise.
29535         * lib/unistr/u32-move.c: Likewise.
29536         * lib/unistr/u32-next.c: Likewise.
29537         * lib/unistr/u32-prev.c: Likewise.
29538         * lib/unistr/u32-set.c: Likewise.
29539         * lib/unistr/u32-startswith.c: Likewise.
29540         * lib/unistr/u32-stpcpy.c: Likewise.
29541         * lib/unistr/u32-stpncpy.c: Likewise.
29542         * lib/unistr/u32-strcat.c: Likewise.
29543         * lib/unistr/u32-strchr.c: Likewise.
29544         * lib/unistr/u32-strcmp.c: Likewise.
29545         * lib/unistr/u32-strcpy.c: Likewise.
29546         * lib/unistr/u32-strcspn.c: Likewise.
29547         * lib/unistr/u32-strdup.c: Likewise.
29548         * lib/unistr/u32-strlen.c: Likewise.
29549         * lib/unistr/u32-strmblen.c: Likewise.
29550         * lib/unistr/u32-strmbtouc.c: Likewise.
29551         * lib/unistr/u32-strncat.c: Likewise.
29552         * lib/unistr/u32-strncmp.c: Likewise.
29553         * lib/unistr/u32-strncpy.c: Likewise.
29554         * lib/unistr/u32-strnlen.c: Likewise.
29555         * lib/unistr/u32-strpbrk.c: Likewise.
29556         * lib/unistr/u32-strrchr.c: Likewise.
29557         * lib/unistr/u32-strspn.c: Likewise.
29558         * lib/unistr/u32-strstr.c: Likewise.
29559         * lib/unistr/u32-strtok.c: Likewise.
29560         * lib/unistr/u32-to-u16.c: Likewise.
29561         * lib/unistr/u32-to-u8.c: Likewise.
29562         * lib/unistr/u32-uctomb.c: Likewise.
29563         * lib/unistr/u8-check.c: Likewise.
29564         * lib/unistr/u8-chr.c: Likewise.
29565         * lib/unistr/u8-cmp.c: Likewise.
29566         * lib/unistr/u8-cpy-alloc.c: Likewise.
29567         * lib/unistr/u8-cpy.c: Likewise.
29568         * lib/unistr/u8-endswith.c: Likewise.
29569         * lib/unistr/u8-mblen.c: Likewise.
29570         * lib/unistr/u8-mbsnlen.c: Likewise.
29571         * lib/unistr/u8-mbtouc-aux.c: Likewise.
29572         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
29573         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
29574         * lib/unistr/u8-mbtouc.c: Likewise.
29575         * lib/unistr/u8-mbtoucr.c: Likewise.
29576         * lib/unistr/u8-move.c: Likewise.
29577         * lib/unistr/u8-next.c: Likewise.
29578         * lib/unistr/u8-prev.c: Likewise.
29579         * lib/unistr/u8-set.c: Likewise.
29580         * lib/unistr/u8-startswith.c: Likewise.
29581         * lib/unistr/u8-stpcpy.c: Likewise.
29582         * lib/unistr/u8-stpncpy.c: Likewise.
29583         * lib/unistr/u8-strcat.c: Likewise.
29584         * lib/unistr/u8-strchr.c: Likewise.
29585         * lib/unistr/u8-strcmp.c: Likewise.
29586         * lib/unistr/u8-strcpy.c: Likewise.
29587         * lib/unistr/u8-strcspn.c: Likewise.
29588         * lib/unistr/u8-strdup.c: Likewise.
29589         * lib/unistr/u8-strlen.c: Likewise.
29590         * lib/unistr/u8-strmblen.c: Likewise.
29591         * lib/unistr/u8-strmbtouc.c: Likewise.
29592         * lib/unistr/u8-strncat.c: Likewise.
29593         * lib/unistr/u8-strncmp.c: Likewise.
29594         * lib/unistr/u8-strncpy.c: Likewise.
29595         * lib/unistr/u8-strnlen.c: Likewise.
29596         * lib/unistr/u8-strpbrk.c: Likewise.
29597         * lib/unistr/u8-strrchr.c: Likewise.
29598         * lib/unistr/u8-strspn.c: Likewise.
29599         * lib/unistr/u8-strstr.c: Likewise.
29600         * lib/unistr/u8-strtok.c: Likewise.
29601         * lib/unistr/u8-to-u16.c: Likewise.
29602         * lib/unistr/u8-to-u32.c: Likewise.
29603         * lib/unistr/u8-uctomb-aux.c: Likewise.
29604         * lib/unistr/u8-uctomb.c: Likewise.
29605         * lib/unitypes.h: Likewise.
29606         * lib/uniwidth.h: Likewise.
29607         * lib/uniwidth/cjk.h: Likewise.
29608         * lib/uniwidth/u16-strwidth.c: Likewise.
29609         * lib/uniwidth/u16-width.c: Likewise.
29610         * lib/uniwidth/u32-strwidth.c: Likewise.
29611         * lib/uniwidth/u32-width.c: Likewise.
29612         * lib/uniwidth/u8-strwidth.c: Likewise.
29613         * lib/uniwidth/u8-width.c: Likewise.
29614         * lib/uniwidth/width.c: Likewise.
29615
29616 2007-10-07  Bruno Haible  <bruno@clisp.org>
29617
29618         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
29619         The file is still under LGPL (see modules/inttypes).
29620
29621 2007-10-06  Bruno Haible  <bruno@clisp.org>
29622
29623         * modules/trunc (Dependencies): Add 'extensions'.
29624         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
29625         Reported by Ben Pfaff <blp@gnu.org>.
29626
29627 2007-10-06  Bruno Haible  <bruno@clisp.org>
29628
29629         * modules/freopen-tests: New file.
29630         * tests/test-freopen.c: New file.
29631
29632         * modules/fopen-tests: New file.
29633         * tests/test-fopen.c: New file.
29634
29635         * modules/fopen: New file.
29636         * lib/fopen.c: New file.
29637         * m4/fopen.m4: New file.
29638         * modules/freopen: New file.
29639         * lib/freopen.c: New file.
29640         * m4/freopen.m4: New file.
29641         * lib/stdio.in.h (fopen, freopen): New declarations.
29642         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
29643         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
29644         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
29645         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
29646         * doc/functions/fopen.texi: Mention the 'fopen' module.
29647         * doc/functions/freopen.texi: Mention the 'freopen' module.
29648
29649 2007-10-06  Bruno Haible  <bruno@clisp.org>
29650
29651         * modules/open-tests: New file.
29652         * tests/test-open.c: New file.
29653
29654         * modules/open: New file.
29655         * lib/open.c: New file.
29656         * m4/open.m4: New file.
29657         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
29658         lib/open.c does.
29659         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
29660         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
29661         macros.
29662         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
29663         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
29664         REPLACE_OPEN.
29665         * doc/functions/open.texi: Mention the 'open' module.
29666
29667 2007-10-04  Bruno Haible  <bruno@clisp.org>
29668
29669         * modules/ceill-tests: New file.
29670         * tests/test-ceill.c: New file.
29671
29672         * modules/ceill: New file.
29673         * lib/ceill.c: Replace entire file.
29674         * m4/ceill.m4: New file.
29675         * lib/math.in.h (ceill): Replace declaration.
29676         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
29677         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
29678         * doc/functions/ceill.texi: Mention the 'ceill' module.
29679         * modules/mathl (Files): Remove lib/ceill.c.
29680         (Depends-on): Add ceill.
29681
29682 2007-10-04  Bruno Haible  <bruno@clisp.org>
29683
29684         * modules/ceilf-tests: New file.
29685         * tests/test-ceilf.c: New file.
29686
29687         * modules/ceilf: New file.
29688         * lib/ceil.c: New file.
29689         * lib/ceilf.c: New file.
29690         * m4/ceilf.m4: New file.
29691         * lib/math.in.h (ceilf): New declaration.
29692         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
29693         HAVE_DECL_CEILF.
29694         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
29695         HAVE_DECL_CEILF.
29696         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
29697
29698 2007-10-04  Bruno Haible  <bruno@clisp.org>
29699
29700         * modules/floorl-tests: New file.
29701         * tests/test-floorl.c: New file.
29702
29703         * modules/floorl: New file.
29704         * lib/floorl.c: Replace entire file.
29705         * m4/floorl.m4: New file.
29706         * lib/math.in.h (floorl): Replace declaration.
29707         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
29708         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
29709         * doc/functions/floorl.texi: Mention the 'floorl' module.
29710         * modules/mathl (Files): Remove lib/floorl.c.
29711         (Depends-on): Add floorl.
29712
29713 2007-10-04  Bruno Haible  <bruno@clisp.org>
29714
29715         * modules/floorf-tests: New file.
29716         * tests/test-floorf.c: New file.
29717
29718         * modules/floorf: New file.
29719         * lib/floor.c: New file.
29720         * lib/floorf.c: New file.
29721         * m4/floorf.m4: New file.
29722         * lib/math.in.h (floorf): New declaration.
29723         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
29724         HAVE_DECL_FLOORF.
29725         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
29726         HAVE_DECL_FLOORF.
29727         * doc/functions/floorf.texi: Mention the 'floorf' module.
29728
29729 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
29730             Bruno Haible  <bruno@clisp.org>
29731
29732         Advertise for the Git server instead of the CVS server.
29733         * doc/gnulib-intro.texi (Steady Development): Mention the Git
29734         repository instead of the CVS one.
29735         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
29736         about all VCS systems generically.
29737         * doc/gnulib.texi (Introduction): Capitalize `Git'.
29738
29739 2007-10-04  Bruno Haible  <bruno@clisp.org>
29740
29741         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
29742         means.
29743         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
29744
29745 2007-10-04  Bruno Haible  <bruno@clisp.org>
29746
29747         * modules/truncl-tests: New file.
29748         * tests/test-truncl.c: New file.
29749
29750         * modules/truncl: New file.
29751         * lib/truncl.c: New file.
29752         * m4/truncl.m4: New file.
29753         * lib/math.in.h (truncl): New declaration.
29754         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
29755         HAVE_DECL_TRUNCL.
29756         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
29757         HAVE_DECL_TRUNCL.
29758         * doc/functions/truncl.texi: Mention the 'truncl' module.
29759
29760 2007-10-04  Bruno Haible  <bruno@clisp.org>
29761
29762         * modules/truncf-tests: New file.
29763         * tests/test-truncf.c: New file.
29764
29765         * modules/truncf: New file.
29766         * lib/trunc.c: Make paramerizable through USE_* macros.
29767         * lib/truncf.c: New file.
29768         * m4/truncf.m4: New file.
29769         * lib/math.in.h (truncf): New declaration.
29770         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
29771         HAVE_DECL_TRUNCF.
29772         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
29773         HAVE_DECL_TRUNCF.
29774         * doc/functions/truncf.texi: Mention the 'truncf' module.
29775
29776 2007-10-03  Bruno Haible  <bruno@clisp.org>
29777
29778         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
29779         augmentation also for tests modules.
29780         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
29781         * modules/atexit-tests (Makefile.am): Likewise.
29782         * modules/binary-io-tests (Makefile.am): Likewise.
29783         * modules/c-strcase-tests (Makefile.am): Likewise.
29784         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
29785         * modules/canonicalize-tests (Makefile.am): Likewise.
29786         * modules/closein-tests (Makefile.am): Likewise.
29787         * modules/fprintf-posix-tests (Makefile.am): Likewise.
29788         * modules/freadahead-tests (Makefile.am): Likewise.
29789         * modules/fseek-tests (Makefile.am): Likewise.
29790         * modules/fseeko-tests (Makefile.am): Likewise.
29791         * modules/ftell-tests (Makefile.am): Likewise.
29792         * modules/ftello-tests (Makefile.am): Likewise.
29793         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
29794         * modules/isnanl-tests (Makefile.am): Likewise.
29795         * modules/lseek-tests (Makefile.am): Likewise.
29796         * modules/mbscasecmp-tests (Makefile.am): Likewise.
29797         * modules/mbscasestr-tests (Makefile.am): Likewise.
29798         * modules/mbschr-tests (Makefile.am): Likewise.
29799         * modules/mbscspn-tests (Makefile.am): Likewise.
29800         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
29801         * modules/mbspbrk-tests (Makefile.am): Likewise.
29802         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
29803         * modules/mbsrchr-tests (Makefile.am): Likewise.
29804         * modules/mbsspn-tests (Makefile.am): Likewise.
29805         * modules/mbsstr-tests (Makefile.am): Likewise.
29806         * modules/printf-posix-tests (Makefile.am): Likewise.
29807         * modules/snprintf-posix-tests (Makefile.am): Likewise.
29808         * modules/sprintf-posix-tests (Makefile.am): Likewise.
29809         * modules/tsearch-tests (Makefile.am): Likewise.
29810         * modules/uniname/uniname-tests (Makefile.am): Likewise.
29811         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
29812         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
29813         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
29814         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
29815         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
29816         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
29817         * modules/vprintf-posix-tests (Makefile.am): Likewise.
29818         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
29819         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
29820         * modules/xstrtoimax-tests (Makefile.am): Likewise.
29821         * modules/xstrtol-tests (Makefile.am): Likewise.
29822         * modules/xstrtoumax-tests (Makefile.am): Likewise.
29823         * modules/yesno-tests (Makefile.am): Likewise.
29824
29825 2007-10-03  Bruno Haible  <bruno@clisp.org>
29826
29827         * modules/trunc-tests: New file.
29828         * tests/test-trunc.c: New file.
29829
29830         * modules/trunc: New file.
29831         * lib/trunc.c: New file.
29832         * m4/trunc.m4: New file.
29833         * lib/math.in.h (trunc): New declaration.
29834         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
29835         HAVE_DECL_TRUNC.
29836         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
29837         HAVE_DECL_TRUNC.
29838         * doc/functions/trunc.texi: Mention the 'trunc' module.
29839
29840 2007-10-03  Bruno Haible  <bruno@clisp.org>
29841
29842         * tests/test-fpending.c: New file, mostly copied
29843         from coreutils/lib/t-fpending.c.
29844         * modules/fpending-tests: New file.
29845
29846 2007-10-03  Bruno Haible  <bruno@clisp.org>
29847
29848         Port the stdio extensions to QNX (untested).
29849         * lib/fseterr.c (fseterr): Add support for QNX.
29850         * lib/fbufmode.c (fbufmode): Likewise.
29851         * lib/freadable.c (freadable): Likewise.
29852         * lib/fwritable.c (fwritable): Likewise.
29853         * lib/freading.c (freading): Likewise.
29854         * lib/fwriting.c (fwriting): Likewise.
29855         * lib/freadahead.c (freadahed): Likewise.
29856         * lib/fpurge.c (fpurge): Likewise.
29857         * lib/fseeko.c (rpl_fseeko): Likewise.
29858
29859 2007-10-03  Bruno Haible  <bruno@clisp.org>
29860             Jim Meyering  <jim@meyering.net>
29861             Eric Blake  <ebb9@byu.net>
29862
29863         * doc/relocatable.texi: Use @command instead of @program.
29864
29865 2007-10-02  Jim Meyering  <jim@meyering.net>
29866
29867         Perform one more "_.h" -> ".in.h" substitution.
29868         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
29869         instead of unistd_.h here, too.
29870
29871 2007-10-01  Bruno Haible  <bruno@clisp.org>
29872
29873         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
29874         Needed for the alloca-opt module.
29875
29876 2007-09-30  Bruno Haible  <bruno@clisp.org>
29877
29878         * lib/alloca.in.h: Renamed from lib/alloca_.h.
29879         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
29880         alloca_.h.
29881         * lib/argz.in.h: Renamed from lib/argz_.h.
29882         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
29883         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
29884         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
29885         byteswap_.h.
29886         * lib/dirent.in.h: Renamed from lib/dirent_.h.
29887         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
29888         dirent_.h.
29889         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
29890         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
29891         fcntl_.h.
29892         * lib/float.in.h: Renamed from lib/float_.h.
29893         * modules/float (Files, Makefile.am): Use float.in.h instead of
29894         float_.h.
29895         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
29896         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
29897         fnmatch_.h.
29898         * lib/getopt.in.h: Renamed from lib/getopt_.h.
29899         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
29900         getopt_.h.
29901         * lib/glob.in.h: Renamed from lib/glob_.h.
29902         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
29903         * lib/iconv.in.h: Renamed from lib/iconv_.h.
29904         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
29905         iconv_.h.
29906         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
29907         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
29908         inttypes_.h.
29909         * lib/locale.in.h: Renamed from lib/locale_.h.
29910         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
29911         locale_.h.
29912         * lib/math.in.h: Renamed from lib/math_.h.
29913         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
29914         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
29915         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
29916         of netinet_in_.h. Add dependency.
29917         * lib/poll.in.h: Renamed from lib/poll_.h.
29918         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
29919         * lib/search.in.h: Renamed from lib/search_.h.
29920         * modules/search (Files, Makefile.am): Use search.in.h instead of
29921         search_.h.
29922         * lib/signal.in.h: Renamed from lib/signal_.h.
29923         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
29924         _signal.h.
29925         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
29926         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
29927         stdbool_.h.
29928         * lib/stdint.in.h: Renamed from lib/stdint_.h.
29929         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
29930         stdint_.h.
29931         * lib/stdio.in.h: Renamed from lib/stdio_.h.
29932         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
29933         stdio_.h.
29934         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
29935         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
29936         stdlib_.h.
29937         * lib/string.in.h: Renamed from lib/string_.h.
29938         * modules/string (Files, Makefile.am): Use string.in.h instead of
29939         string_.h.
29940         * doc/gnulib-tool.texi (Initial import): Update.
29941         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
29942         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
29943         of sys_select_.h. Add dependency.
29944         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
29945         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
29946         of sys_socket_.h.
29947         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
29948         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
29949         sys_stat_.h.
29950         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
29951         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
29952         sys_time_.h.
29953         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
29954         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
29955         sysexits_.h.
29956         * lib/time.in.h: Renamed from lib/time_.h.
29957         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
29958         * lib/unistd.in.h: Renamed from lib/unistd_.h.
29959         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
29960         unistd_.h.
29961         * lib/wchar.in.h: Renamed from lib/wchar_.h.
29962         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
29963         wchar_.h.
29964         * lib/wctype.in.h: Renamed from lib/wctype_.h.
29965         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
29966         wctype_.h.
29967         * build-aux/bootstrap (slurp): Update.
29968         * lib/.cppi-disable: Update.
29969
29970 2007-09-30  Bruno Haible  <bruno@clisp.org>
29971
29972         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
29973         Needed on BeOS.
29974
29975 2007-09-30  Bruno Haible  <bruno@clisp.org>
29976
29977         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
29978
29979 2007-09-29  Bruno Haible  <bruno@clisp.org>
29980
29981         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
29982
29983 2007-09-29  Bruno Haible  <bruno@clisp.org>
29984
29985         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
29986         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
29987         * build-aux/install-reloc: Compile also areadlink.c.
29988         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
29989
29990 2007-09-29  Bruno Haible  <bruno@clisp.org>
29991
29992         * gnulib-tool (func_emit_initmacro_done): Indentation.
29993
29994 2007-09-29  Bruno Haible  <bruno@clisp.org>
29995
29996         * README: Add CVS checkout update instructions.
29997         Info from Bob Proulx <bob@proulx.com>.
29998
29999 2007-09-28  Eric Blake  <ebb9@byu.net>
30000
30001         Provide move-if-change.
30002         * build-aux/move-if-change: New file, based on best practice
30003         rather than any canonical upstream location.
30004
30005 2007-09-28  Jim Meyering  <jim@meyering.net>
30006
30007         Fix canonicalize loop-detection corner case.
30008         Do not attempt to stat the symlink values stored via seen_triple.
30009         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
30010         on linux-2.6.18, (but not 2.6.22).
30011         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
30012         triple_compare.  The former compares dev,ino,filename, while the latter
30013         would actually stat dirname(filename) when dev and ino were equal.
30014         * lib/hash-triple.c: Install <string.h>.
30015         (STREQ): Define.
30016         (triple_compare_ino_str): New function.
30017         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
30018
30019 2007-09-28  Eric Blake  <ebb9@byu.net>
30020
30021         Enforce that AC_REPLACE_FUNCS files exist.
30022         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
30023         override check for typos.
30024
30025         Fix test-closein on Solaris 10.
30026         * tests/test-closein.c (main): Don't assume stdin can be inherited
30027         closed on all systems.
30028         * tests/test-closein.sh: Likewise.
30029         Reported by Piotr Tarnowski.
30030
30031 2007-09-28  Jim Meyering  <jim@meyering.net>
30032
30033         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
30034
30035 2007-09-27  Jim Meyering  <jim@meyering.net>
30036
30037         canonicalize: Avoid a false-positive cycle failure.
30038         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
30039         Sort.  Remove cycle-check.
30040         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
30041         not cycle-check.h.
30042         (seen_triple): New function.
30043         (canonicalize_filename_mode): Use it instead of cycle-check.
30044         * tests/test-canonicalize.c: Add a test for this bug.
30045         * tests/test-canonicalize.sh: Set up and run the test.
30046
30047         New module, file-set, from coreutils.
30048         * modules/file-set: Define it.
30049         * lib/file-set.c, lib/file-set.h: Implement.
30050
30051         New module, hash-triple, from coreutils.
30052         * modules/hash-triple: Define it.
30053         * lib/hash-triple.c, lib/hash-triple.h: Implement.
30054
30055 2007-09-25  Eric Blake  <ebb9@byu.net>
30056
30057         Fix strerror on Interix.
30058         * lib/string_.h (strerror): Declare replacement.
30059         * doc/functions/strerror.texi (strerror): Document the Interix
30060         shortcoming.
30061         * modules/string (Makefile.am): Support new hooks.
30062         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
30063         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
30064         gl_FUNC_STRERROR_SEPARATE.
30065         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
30066         * lib/strerror.c (rpl_strerror): Provide replacement.
30067         * modules/strerror (Depends-on): Add string.
30068         (configure.ac): Detect use of module.
30069         * tests/test-strerror.c: New file.
30070         * modules/strerror-tests: New test module.
30071         * modules/argp (Depends-on): Add strerror.
30072         * modules/error (Depends-on): Likewise.
30073         Reported by Martin Koeppe.
30074
30075 2007-09-24  Bruno Haible  <bruno@clisp.org>
30076
30077         * README: Update git instructions.
30078
30079 2007-09-24  Eric Blake  <ebb9@byu.net>
30080
30081         Revert fpending breakage from 2007-09-08.
30082         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
30083         __fpending.c.
30084
30085 2007-09-24  Jim Meyering  <jim@meyering.net>
30086
30087         filenamecat.c: Add a test.
30088         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
30089         showing how the function works when DIR is the empty string.
30090
30091 2007-09-21  Simon Josefsson  <simon@josefsson.org>
30092
30093         * tests/test-canonicalize.sh: Turn on executable bit.
30094
30095 2007-09-19  Eric Blake  <ebb9@byu.net>
30096
30097         * README: Update CVS instructions.
30098
30099 2007-09-18  Bruno Haible  <bruno@clisp.org>
30100
30101         * modules/areadlink: New file.
30102         * lib/areadlink.h (areadlink): New declaration.
30103         * lib/areadlink.c: New file, based on lib/xreadlink.c.
30104
30105 2007-09-17  Jim Meyering  <jim@meyering.net>
30106
30107         * lib/savewd.c (ESTALE) [!defined]: Define.
30108         Reported to be required on Interix by Martin Koeppe.
30109
30110 2007-09-17  Bruno Haible  <bruno@clisp.org>
30111
30112         * gnulib-tool (func_version): Use $version.
30113
30114 2007-09-16  Bruno Haible  <bruno@clisp.org>
30115
30116         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
30117         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
30118         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
30119         Reported by Greg Schafer <gschafer@zip.com.au>.
30120
30121 2007-09-15  Bruno Haible  <bruno@clisp.org>
30122
30123         * gnulib-tool (sed): Try a little harder to make bash understand the
30124         alias.
30125         Reported by Bruce Korb <bruce.korb@gmail.com>.
30126
30127 2007-09-13  Eric Blake  <ebb9@byu.net>
30128
30129         * ChangeLog: Remove conflict markers.
30130
30131 2007-09-13  Simon Josefsson  <simon@josefsson.org>
30132
30133         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
30134         Reported by Bruno Haible <bruno@clisp.org>.
30135
30136 2007-09-12  Bruno Haible  <bruno@clisp.org>
30137
30138         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
30139         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
30140         is not defined.
30141
30142 2007-09-12  Eric Blake  <ebb9@byu.net>
30143
30144         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
30145         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
30146         Autoconf definition.
30147         * modules/euidaccess (Depends-on): Add extensions, for
30148         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
30149         * modules/fnmatch (Depends-on): Likewise.
30150         * modules/getaddrinfo (Depends-on): Likewise.
30151         * modules/getdelim (Depends-on): Likewise.
30152         * modules/getline (Depends-on): Likewise.
30153         * modules/getsubopt (Depends-on): Likewise.
30154         * modules/gettext (Depends-on): Likewise.
30155         * modules/group-member (Depends-on): Likewise.
30156         * modules/mbchar (Depends-on): Likewise.
30157         * modules/memmem (Depends-on): Likewise.
30158         * modules/mempcpy (Depends-on): Likewise.
30159         * modules/memrchr (Depends-on): Likewise.
30160         * modules/pagealign_alloc (Depends-on): Likewise.
30161         * modules/readutmp (Depends-on): Likewise.
30162         * modules/stpcpy (Depends-on): Likewise.
30163         * modules/stpncpy (Depends-on): Likewise.
30164         * modules/strchrnul (Depends-on): Likewise.
30165         * modules/strndup (Depends-on): Likewise.
30166         * modules/strsep (Depends-on): Likewise.
30167         * modules/strverscmp (Depends-on): Likewise.
30168         * modules/vasprintf (Depends-on): Likewise.
30169         * modules/wcwidth (Depends-on): Likewise.
30170         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
30171         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
30172         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
30173         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
30174         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
30175         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
30176         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
30177         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
30178         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
30179         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
30180         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30181         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
30182         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
30183         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
30184         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
30185         * m4/readutmp.m4 (gl_READUTMP): Likewise.
30186         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
30187         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
30188         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30189         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
30190         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
30191         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
30192         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
30193         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
30194         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
30195         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30196         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
30197         so that lock.m4 can be used in gettext without extensions module.
30198
30199 2007-09-11  Bruno Haible  <bruno@clisp.org>
30200
30201         * m4/isc-posix.m4: Remove file.
30202         Suggested by Eric Blake.
30203
30204 2007-09-11  Eric Blake  <ebb9@byu.net>
30205
30206         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
30207
30208 2007-09-10  Bruno Haible  <bruno@clisp.org>
30209
30210         * posix-modules: Fix typo in error message.
30211         Reported by Matt <mkraai@beckman.com>.
30212
30213 2007-09-09  Bruno Haible  <bruno@clisp.org>
30214
30215         * doc/functions/getdelim.texi: Update list of platforms lacking the
30216         function.
30217         * doc/functions/getline.texi: Likewise.
30218
30219 2007-09-09  Jim Meyering  <jim@meyering.net>
30220
30221         * lib/hash.c (hash_initialize): Detect calloc failure.
30222         Reported by Bruno Haible.
30223
30224 2007-09-09  Bruno Haible  <bruno@clisp.org>
30225
30226         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
30227         malloc or realloc fails.
30228
30229 2007-09-09  Bruno Haible  <bruno@clisp.org>
30230
30231         * modules/getcwd (Depends-on): Add malloc-posix.
30232         * modules/glob (Depends-on): Likewise.
30233         * modules/putenv (Depends-on): Likewise.
30234         * modules/strdup (Depends-on): Likewise.
30235         * modules/getdelim (Depends-on): Add realloc-posix.
30236         * modules/read-file (Depends-on): Likewise.
30237
30238 2007-09-09  Bruno Haible  <bruno@clisp.org>
30239
30240         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
30241         (gl_FUNC_MALLOC_POSIX): Require it.
30242         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
30243         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
30244         * modules/realloc (Files): Add m4/malloc.m4.
30245         * modules/calloc (Files): Likewise.
30246
30247 2007-09-09  Bruno Haible  <bruno@clisp.org>
30248
30249         * modules/malloc-posix: New file.
30250         * modules/malloc (Depends-on): Add malloc-posix.
30251         * lib/malloc.c: Include errno.h.
30252         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
30253         and a POSIX-compatible malloc into a single function. Set ENOMEM
30254         when returning NULL.
30255         * m4/malloc.m4: New file.
30256         * doc/functions/malloc.texi: Mention the malloc-posix module.
30257         * lib/stdlib_.h (malloc): New declaration.
30258         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
30259         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
30260         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
30261         and HAVE_MALLOC_POSIX.
30262
30263 2007-09-09  Bruno Haible  <bruno@clisp.org>
30264
30265         * modules/realloc-posix: New file.
30266         * modules/realloc (Depends-on): Add realloc-posix.
30267         * lib/realloc.c: Include errno.h.
30268         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
30269         and a POSIX-compatible realloc into a single function. Set ENOMEM
30270         when returning NULL.
30271         * m4/realloc.m4: New file.
30272         * doc/functions/realloc.texi: Mention the realloc-posix module.
30273         * lib/stdlib_.h (realloc): New declaration.
30274         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
30275         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
30276         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
30277         and HAVE_REALLOC_POSIX.
30278
30279 2007-09-09  Bruno Haible  <bruno@clisp.org>
30280
30281         * modules/calloc-posix: New file.
30282         * modules/calloc (Depends-on): Add calloc-posix.
30283         * lib/calloc.c: Include errno.h.
30284         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
30285         and a POSIX-compatible calloc into a single function. Set ENOMEM
30286         when returning NULL.
30287         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
30288         * doc/functions/calloc.texi: Mention the calloc-posix module.
30289         * lib/stdlib_.h (calloc): New declaration.
30290         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
30291         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
30292         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
30293         and HAVE_CALLOC_POSIX.
30294
30295 2007-09-09  Bruno Haible  <bruno@clisp.org>
30296
30297         Allow for modules to show an arbitrary notice.
30298         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
30299         * gnulib-tool: New option --extract-notice.
30300         (func_usage): Document it.
30301         (sed_extract_prog): Update.
30302         (func_get_notice): New function.
30303         (func_modules_notice): New function.
30304         (func_import, func_create_testdir): Invoke it.
30305         Suggested by Jim Meyering.
30306
30307 2007-09-09  Bruno Haible  <bruno@clisp.org>
30308
30309         * gnulib-tool: New options --verbose, --quiet.
30310         (func_usage): Document them.
30311         (verbose): New variable.
30312         (func_execute_command): New function.
30313         (func_import): Don't show the module list and the file list if
30314         $verbose < 0.
30315         (func_create_testdir): Likewise. Use func_execute_command.
30316         (func_create_megatestdir): Use func_execute_command.
30317
30318 2007-09-08  Bruno Haible  <bruno@clisp.org>
30319
30320         * gnulib-tool (func_import): Prefer rsync over wget when available,
30321         for fetching the PO files.
30322
30323 2007-09-08  Bruno Haible  <bruno@clisp.org>
30324
30325         * posix-modules: New file. Portions copied from gnulib-tool.
30326         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
30327
30328 2007-09-08  Jim Meyering  <jim@meyering.net>
30329
30330         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
30331         * lib/fpending.h: Rename from __fpending.h.
30332         * lib/fpending.c: Rename from __fpending.c.
30333         Include "fpending.h", not "__fpending.h".
30334         * lib/__fpending.h, lib/__fpending.c: Remove files.
30335         * modules/fpending (Files): Reflect new file names.
30336         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
30337
30338 2007-09-08  Bruno Haible  <bruno@clisp.org>
30339
30340         * m4/inttypes-h.m4: Remove stub file.
30341
30342 2007-09-07  Simon Josefsson  <simon@josefsson.org>
30343
30344         * doc/headers/stdint.texi: Discuss #include_next issue.
30345
30346 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
30347
30348         * build-aux/bootstrap: Remove obsolete comment about wget --help.
30349
30350 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30351
30352         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
30353         in variable name.
30354
30355 2007-09-03  Jim Meyering  <jim@meyering.net>
30356
30357         New module: git-version-gen.
30358         * modules/git-version-gen: New file.
30359
30360         Import changes from coreutils for bootstrap script.
30361
30362         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
30363
30364         bootstrap: uses rsync to download the .po files
30365         * build-aux/bootstrap (po_download_command_format): New global.
30366         (download_po_files): Use rsync.
30367         (update_po_files): Don't remove .po files after download,
30368         so future rsync runs can take advantage of the copies.
30369
30370         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
30371
30372         Solve the unnecessary-.po-file-regeneration problem once and for all.
30373         * build-aux/bootstrap (download_po_files): New function, renamed from
30374         get_translations.  Now, downloads, but doesn't update LINGUAS.
30375         (update_po_files): New function.
30376
30377         bootstrap: Ignore more.
30378         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
30379         uniwidth to e.g., lib/.gitignore.
30380         (slurp): Handle the sys_stat_.h -> sys mapping, too.
30381
30382         * build-aux/bootstrap: New setting: vc_ignore.
30383         (insert_sorted_if_absent): Create $file if absent.
30384         Adapt to new, possibly empty, list: $vc_ignore.
30385
30386         bootstrap: generate more ignorable names
30387         * build-aux/bootstrap (slurp): When generating ignorable names,
30388         also map .sin to .sed, .gperf to .c, and .y to .c.
30389
30390 2007-09-03  Jim Meyering  <jim@meyering.net>
30391
30392         * build-aux/git-version-gen: New file, from coreutils.  For details, see
30393         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
30394
30395 2007-09-02  Bruno Haible  <bruno@clisp.org>
30396
30397         Fix mis-recognition of 'mcs' on QNX 6.
30398         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
30399         output contains the string "Mono".
30400         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
30401         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
30402
30403 2007-09-01  Bruno Haible  <bruno@clisp.org>
30404
30405         Fix collision between uniwidth/* and linebreak modules.
30406         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
30407         u32_width): Remove declarations.
30408         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
30409         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
30410         streq3, streq2, streq1, streq0): Remove functions.
30411         (STREQ): Remove macro.
30412         (is_cjk_encoding): Remove function.
30413         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
30414         (uc_width, u8_width, u16_width, u32_width): Remove functions.
30415         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
30416         * NEWS: Document the change.
30417
30418 2007-09-01  Bruno Haible  <bruno@clisp.org>
30419
30420         * lib/streq.h: Add double-inclusion guard.
30421
30422 2007-09-01  Karl Berry  <karl@gnu.org>
30423
30424         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
30425
30426 2007-08-28  Jim Meyering  <jim@meyering.net>
30427
30428         Rename mreadlink_with_size to areadlink_with_size.
30429         * NEWS: Document the change.
30430         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
30431         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
30432         * lib/mreadlink.h: Rename this to...
30433         * lib/areadlink.h: ...this.
30434         * modules/mreadlink-with-size: Rename this to...
30435         * modules/areadlink-with-size: ...this.
30436         * lib/canonicalize.c: Reflect the renaming.
30437         * modules/canonicalize: Likewise.
30438
30439 2007-08-26  Bruno Haible  <bruno@clisp.org>
30440
30441         * gnulib-tool (func_import): When deciding which files to remove,
30442         consider also dangling symbolic links.
30443         Reported by Eric Blake.
30444
30445 2007-08-26  Bruno Haible  <bruno@clisp.org>
30446
30447         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
30448
30449 2007-08-23  Simon Josefsson  <simon@josefsson.org>
30450
30451         * lib/readline.c: Don't include getline.h, the prototype is now
30452         found in stdio.h.
30453
30454 2007-08-23  Jim Meyering  <jim@meyering.net>
30455
30456         Getdelim touchup.
30457         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
30458         around the funlockfile call, since funlockfile never sets errno.
30459         Don't set errno upon failed realloc.
30460
30461 2007-08-22  Eric Blake  <ebb9@byu.net>
30462
30463         Getline touchups.
30464         * lib/getdelim.c (getdelim): Revert regression that required *n to
30465         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
30466         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
30467         getdelim, rather than whether implementation is missing.
30468         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
30469         * lib/stdio_.h (getline): Also declare if replacement is
30470         required.
30471         * doc/functions/getdelim.texi: New file.
30472         * doc/functions/getline.texi: Likewise.
30473         * doc/gnulib.texi (Function Substitutes): Add new files.
30474         Reported by Bruno Haible.
30475
30476 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
30477
30478         * users.txt: Add Guile.
30479
30480 2007-08-22  Eric Blake  <ebb9@byu.net>
30481
30482         * tests/test-getdelim.c (main): Use remove, not unlink.
30483         * tests/test-getline.c (main): Likewise.
30484
30485         Move getline and getdelim into stdio.h, per POSIX 200x.
30486         * modules/getline (Files): Remove getline.h.
30487         (Depends-on): Add stdio.
30488         (configure.ac): Add module indicator.
30489         * modules/getdelim (Files): Remove getdelim.h.
30490         (Depends-on): Add stdio.
30491         (configure.ac): Add module indicator.
30492         * modules/stdio (Makefile.am): Work with new indicators.
30493         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
30494         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
30495         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
30496         * lib/getdelim.h: Delete.
30497         * lib/getline.h: Delete.
30498         * lib/stdio_.h (getdelim, getline): Declare.
30499         * modules/getdelim-tests: New module.
30500         * modules/getline-tests: Likewise.
30501         * tests/test-getdelim.c: New file.
30502         * tests/test-getline.c: Likewise.
30503         * NEWS: Document the change.
30504         * lib/getline.c: Update choice of header.
30505         * lib/csharpcomp.c: Likewise.
30506         * lib/getpass.c: Likewise.
30507         * lib/javacomp.c: Likewise.
30508         * lib/javaversion.c: Likewise.
30509         * lib/yesno.c: Likewise.
30510         * lib/getdelim.c: Likewise.
30511         (getdelim): Set errno on failure, and avoid memory leak.
30512
30513 2007-08-19  Bruno Haible  <bruno@clisp.org>
30514
30515         * modules/closein (Depends-on): Add freadahead.
30516         * lib/closein.c: Include freadahead.h.
30517         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
30518         is zero.
30519
30520 2007-08-19  Bruno Haible  <bruno@clisp.org>
30521
30522         * modules/freadahead-tests: New file.
30523         * tests/test-freadahead.sh: New file.
30524         * tests/test-freadahead.c: New file.
30525
30526         * modules/freadahead: New file.
30527         * lib/freadahead.h: New file.
30528         * lib/freadahead.c: New file.
30529         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
30530         fbufmode, fpurge, freadable, fwritable.
30531
30532 2007-08-19  Eric Blake  <ebb9@byu.net>
30533
30534         Test yesno in combination with closein.
30535         * lib/yesno.c (yesno): Document use of stdin.
30536         * modules/yesno-tests (Files): New module.
30537         * tests/test-yesno.c (main): New file.
30538         * tests/test-yesno.sh: Likewise.
30539
30540 2007-08-19  Bruno Haible  <bruno@clisp.org>
30541
30542         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
30543         * lib/fseeko.c (rpl_fseeko): Likewise.
30544         * lib/fseterr.c (fseterr): Likewise.
30545
30546 2007-08-19  Bruno Haible  <bruno@clisp.org>
30547
30548         * tests/test-lseek.c (main): Disable a test for BeOS.
30549         * doc/functions/lseek.texi: Document the BeOS bug.
30550
30551 2007-08-19  Bruno Haible  <bruno@clisp.org>
30552             Eric Blake  <ebb9@byu.net>
30553
30554         * lib/lseek.c: Include <sys/stat.h>.
30555         (rpl_lseek): Add workaround code also for Unix platforms.
30556         Needed for BeOS.
30557         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
30558         * doc/functions/lseek.texi: Document BeOS definiency.
30559
30560 2007-08-18  Bruno Haible  <bruno@clisp.org>
30561
30562         * modules/fstrcmp-tests: New file.
30563         * tests/test-fstrcmp.c: New file.
30564
30565 2007-08-18  Bruno Haible  <bruno@clisp.org>
30566
30567         * modules/fstrcmp: New file, from GNU gettext with modifications.
30568         * lib/fstrcmp.h: New file, from GNU gettext.
30569         * lib/fstrcmp.c: New file, from GNU gettext.
30570         * MODULES.html.sh (String handling): Add fstrcmp.
30571
30572 2007-08-18  Bruno Haible  <bruno@clisp.org>
30573
30574         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
30575         'bool'.
30576         (diag, compareseq): Remove const from the ctxt argument.
30577         (USE_HEURISTIC): Undefine at the end.
30578
30579 2007-08-18  Jim Meyering  <jim@meyering.net>
30580
30581         New file: lib/idcache.h
30582         * NEWS: Mention the addition.
30583         * modules/idcache (Files): Add lib/idcache.h
30584         * lib/idcache.c: Include "idcache.h".
30585         Don't include <sys/types.h>.
30586         Add a FIXME comment.
30587         Move file-scoped "static" declarations to the top.
30588         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
30589
30590 2007-08-17  Bruno Haible  <bruno@clisp.org>
30591         and Paul Eggert  <eggert@cs.ucla.edu>
30592
30593         * MODULES.html.sh: Add diffseq.
30594         * modules/diffseq: New file.
30595         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
30596         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
30597
30598 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
30599
30600         Import changes from coreutils for bootstrap script.
30601
30602         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
30603
30604         * build-aux/bootstrap (slurp): Work even in environments where
30605         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
30606         current code does not slurp files whose names start with ".", and
30607         this looks like it might be a troublesome area.
30608
30609         2007-07-11  Jim Meyering  <jim@meyering.net>
30610
30611         If there's a GPL vN copyright comment, require that N == 3.
30612
30613         2007-07-08  Jim Meyering  <jim@meyering.net>
30614
30615         Run the coreutils-specific code only if tests/Makefile.am.in exists.
30616         * build-aux/bootstrap (mam_template): Move definition out of loop.
30617
30618         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
30619
30620         * build-aux/bootstrap (symlink_to_dir): Rename function from
30621         symlink_to_gnulib.  Add a directory parameter.  Update all
30622         callers.
30623         (cp_mark_as_generated): Also check for -- and link to -- files in
30624         gl/.
30625
30626         2007-07-08  Jim Meyering  <jim@meyering.net>
30627
30628         Adapt to deeper hierarchy in gnulib.
30629         * build-aux/bootstrap (symlink_to_dir): If the destination
30630         directory doesn't exist, create it. This is required at least for
30631         "lib/uniwidth/cjk.h".
30632
30633         2007-05-15  Jim Meyering  <jim@meyering.net>
30634
30635         * build-aux/bootstrap: Now that generated Makefile.am files
30636         are no longer under version control, they must be created at
30637         bootstrap time.
30638
30639 2007-08-14  Ben Pfaff  <blp@gnu.org>
30640
30641         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
30642
30643 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
30644
30645         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
30646         given the changes below.
30647         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
30648         even on hosts that have padding bits beyond the supported 64.
30649
30650 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30651
30652         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
30653         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
30654         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
30655         depends on it.
30656         (xstrtol_error): Remove.
30657         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
30658         but with a different signature.
30659         (ATTRIBUTE_NORETURN, __attribute__): New macros.
30660         * lib/xstrtol-error.c: Include exitfail.h.
30661         (xstrtol_fatal): New function, with a different signature from the
30662         old xstrtol_error, so that the caller need not worry about passing
30663         in an exit status, or about storage management of the option argument.
30664         (xstrtol_error): Now a static function.  Redo signature to
30665         implement xstrtol_fatal.  Output the correct number of hyphens in
30666         front of the option so that the caller need not worry about
30667         storage management.
30668         (N_): New macro.
30669         (_): Remove; not used now.
30670         * modules/xstrtol: Depend on getopt.
30671         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
30672         of old STRTOL_FATAL_ERROR macro.
30673         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
30674         of test program.
30675         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
30676         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
30677
30678 2007-08-08  Eric Blake  <ebb9@byu.net>
30679
30680         * lib/xstrtol-error.c: Add missing include.
30681
30682         Move xstrtol messages into gnulib domain, when --pobase is used.
30683         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
30684         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
30685         * modules/xstrtol (Files): Distribute new file.
30686         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
30687         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
30688         * tests/test-xstrtol.c: ...into new file.
30689         * tests/test-xstrtoul.c: Also test xstrtoul.
30690         * tests/test-xstrtoimax.c: Also test xstrtoimax.
30691         * tests/test-xstrtoumax.c: Also test xstrtoumax.
30692         * tests/test-xstrtol.sh: Drive the tests.
30693         * tests/test-xstrtoimax.sh: Likewise.
30694         * tests/test-xstrtoumax.sh: Likewise.
30695         * modules/xstrtol-tests: New module.
30696         * modules/xstrtoimax-tests: Likewise.
30697         * modules/xstrtoumax-tests: Likewise.
30698
30699 2007-08-08  Jim Meyering  <jim@meyering.net>
30700
30701         New function: mfile_name_concat.
30702         * lib/filenamecat.c (mfile_name_concat): New function, just like
30703         file_name_concat, but return NULL upon failure rather than exiting
30704         with a diagnostic.
30705         * lib/filenamecat.h: Declare it.
30706
30707 2007-08-07  Bruno Haible  <bruno@clisp.org>
30708
30709         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
30710         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
30711         warning from gcc.
30712         Reported by Eric Blake.
30713
30714 2007-08-07  Simon Josefsson  <simon@josefsson.org>
30715
30716         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
30717         * modules/crypto/arcfour (License): Likewise.
30718         * modules/crypto/des-tests (License): Likewise.
30719         * modules/crypto/gc-arctwo-tests (License): Likewise.
30720         * modules/crypto/gc-des-tests (License): Likewise.
30721         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
30722         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
30723         * modules/crypto/gc-md2-tests (License): Likewise.
30724         * modules/crypto/gc-md4-tests (License): Likewise.
30725         * modules/crypto/gc-md5-tests (License): Likewise.
30726         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
30727         * modules/crypto/gc-rijndael-tests (License): Likewise.
30728         * modules/crypto/gc-sha1-tests (License): Likewise.
30729         * modules/crypto/gc-tests (License): Likewise.
30730         * modules/crypto/hmac-md5 (License): Likewise.
30731         * modules/crypto/hmac-sha1 (License): Likewise.
30732         * modules/crypto/md2-tests (License): Likewise.
30733         * modules/crypto/md4-tests (License): Likewise.
30734         * modules/crypto/md5 (License): Likewise.
30735         * modules/crypto/rijndael (License): Likewise.
30736         * modules/crypto/sha1 (License): Likewise.
30737         * modules/memxor (License): Likewise.
30738
30739 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
30740         and Bruno Haible  <bruno@clisp.org>
30741
30742         * NEWS: Describe interface changes to human, xstrtol.
30743         * lib/human.h: Include <xstrtol.h>.
30744         (human_options): Return enum strtol_error, not int.  Remove
30745         bool arg; take int * instead.
30746         * lib/human.c: Don't include "gettext.h".
30747         (_): Remove; no longer used.
30748         Don't include <xstrtol.h>, since human.h does it.
30749         (human_options): Adjust to abovementioned interface changes.
30750         Do not report error to stderr; that's now the caller's
30751         responsibility.
30752         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
30753         interface change.
30754         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
30755         Str, Argument_type_string.  All uses changed.  Put " argument"
30756         in diagnostics to make them clearer.  Change wording of suffix
30757         message for clarity.
30758         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
30759         Argument_type_string.
30760         (STRTOL_FATAL_WARN): Remove; no longer used.
30761         * modules/human (Depends-on): Remove gettext-h.
30762
30763 2007-08-06  Simon Josefsson  <simon@josefsson.org>
30764
30765         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
30766
30767 2007-07-31  Bruno Haible  <bruno@clisp.org>
30768
30769         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
30770         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
30771         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
30772
30773 2007-07-31  Bruno Haible  <bruno@clisp.org>
30774
30775         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
30776         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
30777
30778 2007-07-30  Bruno Haible  <bruno@clisp.org>
30779
30780         * modules/base64 (License): Use the synonymous term "LGPLv2+".
30781         * modules/c-ctype (License): Likewise.
30782         * modules/c-strcase (License): Likewise.
30783         * modules/check-version (License): Likewise.
30784         * modules/iconv (License): Likewise.
30785         * modules/iconv_open (License): Likewise.
30786         * modules/read-file (License): Likewise.
30787         * modules/striconv (License): Likewise.
30788         * modules/strverscmp (License): Likewise.
30789         * modules/vasprintf (License): Likewise.
30790         * modules/crypto/des (License): Likewise.
30791         * modules/crypto/gc (License): Likewise.
30792         * modules/crypto/gc-arcfour (License): Likewise.
30793         * modules/crypto/gc-arctwo (License): Likewise.
30794         * modules/crypto/gc-des (License): Likewise.
30795         * modules/crypto/gc-hmac-md5 (License): Likewise.
30796         * modules/crypto/gc-hmac-sha1 (License): Likewise.
30797         * modules/crypto/gc-md2 (License): Likewise.
30798         * modules/crypto/gc-md4 (License): Likewise.
30799         * modules/crypto/gc-md5 (License): Likewise.
30800         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
30801         * modules/crypto/gc-random (License): Likewise.
30802         * modules/crypto/gc-rijndael (License): Likewise.
30803         * modules/crypto/gc-sha1 (License): Likewise.
30804         * modules/crypto/md2 (License): Likewise.
30805         * modules/crypto/md4 (License): Likewise.
30806
30807 2007-07-30  Jim Meyering  <jim@meyering.net>
30808
30809         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
30810         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
30811         it has valid stat data.  This bug would cause du not to count the
30812         sizes of inaccessible directories.
30813         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
30814         in <http://bugzilla.redhat.com/250077>.
30815
30816 2007-07-25  Peter O'Gorman  <peter@pogma.com>
30817             Bruno Haible  <bruno@clisp.org>
30818
30819         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
30820         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
30821         #include_next, gives a diagnostic about it, but reports no error in
30822         the exit code.
30823         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
30824
30825 2007-07-24  Ben Pfaff  <blp@gnu.org>
30826
30827         Improve name: "count-one-bits" is better than "popcount".
30828         * MODULES.html.sh: Update name.
30829         * lib/popcount.h: Renamed lib/count-one-bits.h.
30830         (popcount): Renamed count_one_bits.
30831         (popcountl): Renamed count_one_bits_l.
30832         (popcountll): Renamed count_one_bits_ll.
30833         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
30834         * modules/popcount: Renamed module/count-one-bits.
30835         * modules/popcount-tests: Renamed module/count-one-bits-tests.
30836         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
30837
30838 2007-07-23  Ben Pfaff  <blp@gnu.org>
30839
30840         * lib/popcount.h (popcount32): Reduce size of constants, to allow
30841         better code generation, and add U to large constants to avoid
30842         warnings, in non-GCC case.
30843         Suggested by Bruno Haible.
30844
30845 2007-07-23  Ben Pfaff  <blp@gnu.org>
30846
30847         * lib/popcount.h: Use verify_true instead of if...abort.
30848         * modules/popcount: Depend on verify module.
30849         Suggested by Jim Meyering.
30850
30851 2007-07-23  Bruno Haible  <bruno@clisp.org>
30852
30853         * gnulib-tool (func_import): Create a .cvsignore file also when the
30854         directory is not yet in CVS but the toplevel directory is. When
30855         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
30856         Reported by Karl Berry.
30857
30858 2007-07-22  Ben Pfaff  <blp@gnu.org>
30859
30860         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
30861         case.
30862         Suggested by Eric Blake.
30863
30864 2007-07-22  Ben Pfaff  <blp@gnu.org>
30865
30866         New module: popcount.
30867         * MODULES.html.sh: Add popcount.
30868         * modules/popcount: New file.
30869         * modules/popcount-tests: New file.
30870         * tests/test-popcount.c: New file.
30871         * lib/popcount.h: New file.
30872         * m4/popcount.m4: New file.
30873
30874 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
30875
30876         * build-aux/announce-gen: Update to GPLv3.
30877
30878         * build-aux/config.guess: Update from config.
30879
30880 2007-07-21  Bruno Haible  <bruno@clisp.org>
30881
30882         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
30883         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
30884
30885 2007-07-20  Jim Meyering  <jim@meyering.net>
30886
30887         * check-module: Diagnose a self-dependency.
30888
30889 2007-07-19  Bruno Haible  <bruno@clisp.org>
30890
30891         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
30892         empty.
30893         Reported by Eric Blake.
30894
30895 2007-07-18  Bruno Haible  <bruno@clisp.org>
30896
30897         * gnulib-tool: New options --po-base, --po-domain.
30898         (func_usage): Document them.
30899         (pobase, po_domain): New variables.
30900         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
30901         DEFAULT_TEXT_DOMAIN.
30902         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
30903         (func_import): Consider pobase and po_domain. Create a po/ directory.
30904         (func_create_testdir): Set pobase and po_domain to empty.
30905         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
30906         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
30907
30908 2007-07-18  Bruno Haible  <bruno@clisp.org>
30909
30910         * gnulib-tool (func_get_automake_snippet): Synthesize also an
30911         EXTRA_DIST augmentation for files in build-aux/.
30912
30913 2007-07-16  Bruno Haible  <bruno@clisp.org>
30914
30915         * modules/lseek (License): Use the synonymous term "LGPLv2+".
30916         * modules/getdelim (License): Likewise.
30917
30918 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30919
30920         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
30921         * modules/d-type (License): Likewise.
30922         * modules/extensions (License): Likewise.
30923         * modules/fnmatch (License): Likewise.
30924         * modules/fseeko (License): Likewise.
30925         * modules/getaddrinfo (License): Likewise.
30926         * modules/getline (License): Likewise.
30927         * modules/getlogin_r (License): Likewise.
30928         * modules/getpass (License): Likewise.
30929         * modules/gettimeofday (License): Likewise.
30930         * modules/glob (License): Likewise.
30931         * modules/inet_ntop (License): Likewise.
30932         * modules/malloc (License): Likewise.
30933         * modules/malloca (License): Likewise.
30934         * modules/memmem (License): Likewise.
30935         * modules/mempcpy (License): Likewise.
30936         * modules/memset (License): Likewise.
30937         * modules/minmax (License): Likewise.
30938         * modules/mktime (License): Likewise.
30939         * modules/netinet_in (License): Likewise.
30940         * modules/pathmax (License): Likewise.
30941         * modules/poll (License): Likewise.
30942         * modules/regex (License): Likewise.
30943         * modules/snprintf (License): Likewise.
30944         * modules/stdbool (License): Likewise.
30945         * modules/stdint (License): Likewise.
30946         * modules/stdio (License): Likewise.
30947         * modules/strcase (License): Likewise.
30948         * modules/strcasestr (License): Likewise.
30949         * modules/strdup (License): Likewise.
30950         * modules/string (License): Likewise.
30951         * modules/strndup (License): Likewise.
30952         * modules/strnlen (License): Likewise.
30953         * modules/strpbrk (License): Likewise.
30954         * modules/strptime (License): Likewise.
30955         * modules/strsep (License): Likewise.
30956         * modules/sys_select (License): Likewise.
30957         * modules/sys_socket (License): Likewise.
30958         * modules/sys_stat (License): Likewise.
30959         * modules/sys_time (License): Likewise.
30960         * modules/time (License): Likewise.
30961         * modules/time_r (License): Likewise.
30962         * modules/timegm (License): Likewise.
30963         * modules/unistd (License): Likewise.
30964         * modules/vsnprintf (License): Likewise.
30965         * modules/wctype (License): Likewise.
30966
30967 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30968
30969         * modules/argz (License): LGPLv2+.
30970
30971 2007-07-15  Karl Berry  <karl@gnu.org>
30972
30973         * doc/gnulib.texi: revise node structure per new fdl.texi.
30974
30975 2007-07-14  Bruno Haible  <bruno@clisp.org>
30976
30977         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
30978         the output file.
30979         * lib/uniname/uninames.h: Regenerated.
30980
30981 2007-07-14  Karl Berry  <karl@gnu.org>
30982
30983         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
30984         omitting sectioning and index commands.
30985
30986 2007-07-13  Bruno Haible  <bruno@clisp.org>
30987
30988         New gnulib-tool option --more-symlinks.
30989         * gnulib-tool (func_usage): Document --more-symlinks.
30990         (do_copyrights): New variable.
30991         Recognize option --more-symlinks.
30992         (func_import): Don't add a copyright notice transform to
30993         sed_transform_lib_file if do_copyrights is empty.
30994
30995 2007-07-13  Bruno Haible  <bruno@clisp.org>
30996
30997         * lib/vasnprintf.c (decimal_point_char): Define also if
30998         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
30999         && !NEED_PRINTF_DIRECTIVE_A.
31000         Reported by Clemens Koller <clemens.koller@anagramm.de> via
31001         Gary V. Vaughan <gary@gnu.org>.
31002
31003 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
31004
31005         * lib/inttypes_.h: Undo previous change, since it was fixed
31006         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
31007
31008 2007-07-13  Bruno Haible  <bruno@clisp.org>
31009
31010         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
31011         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
31012
31013 2007-07-13  Jim Meyering  <jim@meyering.net>
31014
31015         df: Don't fail for Tru64's "file-on-file mount".
31016         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
31017         so we fall through and use statfs instead.  Details here:
31018         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
31019         Reported by Albert Chin.
31020
31021 2007-07-13  Bruno Haible  <bruno@clisp.org>
31022
31023         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
31024         * modules/configmake (License): Likewise.
31025         * modules/gettext (License): Likewise.
31026         * modules/gettext-h (License): Likewise.
31027         * modules/include_next (License): Likewise.
31028         * modules/link-warning (License): Likewise.
31029         * modules/localcharset (License): Likewise.
31030         * modules/localename (License): Likewise.
31031         * modules/lock (License): Likewise.
31032         * modules/relocatable-lib-lgpl (License): Likewise.
31033         * modules/size_max (License): Likewise.
31034         * modules/vasnprintf (License): Likewise.
31035         * modules/wchar (License): Likewise.
31036         * modules/xsize (License): Likewise.
31037
31038 2007-07-13  Bruno Haible  <bruno@clisp.org>
31039
31040         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
31041         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
31042
31043 2007-07-12  Bruno Haible  <bruno@clisp.org>
31044
31045         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
31046         in the modules files.
31047
31048 2007-07-11  Karl Berry  <karl@gnu.org>
31049
31050         * MODULES.html.sh (func_module): use
31051          sed -e '\|^'"${includefile}"'$|d'
31052          instead of /.../d, to avoid errors on $includefile's containing /.
31053
31054 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
31055
31056         * gnulib-tool (func_import): Avoid duplication of --avoid
31057         statements
31058         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
31059         names to `_' in variable names.
31060
31061 2007-07-10  Eric Blake  <ebb9@byu.net>
31062
31063         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
31064         * NEWS: Document this change.
31065
31066 2007-07-08  Bruno Haible  <bruno@clisp.org>
31067
31068         Update to Unicode 5.0.
31069         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
31070         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
31071         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
31072         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
31073         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
31074         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
31075         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
31076         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
31077         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
31078         U+10A3F, U+1D242..U+1D244.
31079         (nonspacing_table_ind): Update.
31080         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
31081         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
31082
31083 2007-07-08  Bruno Haible  <bruno@clisp.org>
31084
31085         Update to Unicode 5.0.
31086         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
31087         code transform. Extend the name index field of unicode_name_to_code and
31088         unicode_code_to_name from 16 to 24 bits.
31089         * lib/uniname/uniname.c (unicode_character_name,
31090         unicode_name_character): Add the range 0x12xxx to the code transform.
31091         * lib/uniname/uninames.h: Regenerated.
31092         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
31093
31094 2007-07-07  Bruno Haible  <bruno@clisp.org>
31095
31096         * modules/wcwidth-tests: New file.
31097         * tests/test-wcwidth.c: New file.
31098
31099         Work around MacOS X wcwidth() bug.
31100         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
31101         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
31102         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
31103         original wcwidth in non-UTF-8 locales.
31104         * modules/wcwidth (Depends-on): Add localcharset, streq,
31105         uniwidth/width.
31106         * doc/functions/wcwidth.texi: Update.
31107
31108 2007-07-07  Bruno Haible  <bruno@clisp.org>
31109
31110         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
31111         (wcwidth): New declaration.
31112         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
31113         macros.
31114         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
31115         here. Prepare for creating <wchar.h> unconditionally.
31116         * modules/wchar (Depends-on): Add link-warning.
31117         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
31118         REPLACE_WCWIDTH, and GL_LINK_WARNING.
31119         * lib/wcwidth.h: Remove file.
31120         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
31121         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
31122         * modules/wcwidth (Files): Remove lib/wcwidth.h.
31123         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
31124         (Include): Replace wcwidth.h with <wchar.h>.
31125         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
31126         * lib/mbchar.h: Don't include wcwidth.h.
31127         * lib/mbswidth.c: Likewise.
31128         * NEWS: Mention the change.
31129
31130 2007-07-07  Bruno Haible  <bruno@clisp.org>
31131
31132         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
31133         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
31134         definition with an external declaration.
31135         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
31136         defined as a function. Remove AC_C_INLINE requirement.
31137         * modules/wcwidth (Files): Add lib/wcwidth.c.
31138         (Makefile.am): Remove redundant statement.
31139
31140 2007-07-07  Bruno Haible  <bruno@clisp.org>
31141
31142         * MODULES.html.sh (Unicode string functions): Add the new modules.
31143
31144         * tests/uniwidth/test-u32-strwidth.c: New file.
31145         * modules/uniwidth/u32-strwidth-tests: New file.
31146
31147         * lib/uniwidth/u32-strwidth.c: New file.
31148         * modules/uniwidth/u32-strwidth: New file.
31149
31150         * tests/uniwidth/test-u16-strwidth.c: New file.
31151         * modules/uniwidth/u16-strwidth-tests: New file.
31152
31153         * lib/uniwidth/u16-strwidth.c: New file.
31154         * modules/uniwidth/u16-strwidth: New file.
31155
31156         * tests/uniwidth/test-u8-strwidth.c: New file.
31157         * modules/uniwidth/u8-strwidth-tests: New file.
31158
31159         * lib/uniwidth/u8-strwidth.c: New file.
31160         * modules/uniwidth/u8-strwidth: New file.
31161
31162         * tests/uniwidth/test-u32-width.c: New file.
31163         * modules/uniwidth/u32-width-tests: New file.
31164
31165         * lib/uniwidth/u32-width.c: New file.
31166         * modules/uniwidth/u32-width: New file.
31167
31168         * tests/uniwidth/test-u16-width.c: New file.
31169         * modules/uniwidth/u16-width-tests: New file.
31170
31171         * lib/uniwidth/u16-width.c: New file.
31172         * modules/uniwidth/u16-width: New file.
31173
31174         * tests/uniwidth/test-u8-width.c: New file.
31175         * modules/uniwidth/u8-width-tests: New file.
31176
31177         * lib/uniwidth/u8-width.c: New file.
31178         * modules/uniwidth/u8-width: New file.
31179
31180         * tests/uniwidth/test-uc_width.c: New file.
31181         * modules/uniwidth/width-tests: New file.
31182
31183         * lib/uniwidth/width.c: New file, from GNU libiconv.
31184         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
31185         * modules/uniwidth/width: New file.
31186
31187         * lib/uniwidth.h: New file, from GNU libiconv.
31188         * modules/uniwidth/base: New file.
31189
31190 2007-07-07  Bruno Haible  <bruno@clisp.org>
31191
31192         * lib/uniname.h: New file, from GNU gettext.
31193         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
31194         * lib/uniname/uninames.h: New file, from GNU gettext.
31195         * lib/uniname/uniname.c: New file, from GNU gettext.
31196         * tests/uniname/test-uninames.sh: New file.
31197         * tests/uniname/test-uninames.c: New file, from GNU gettext.
31198         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
31199         * modules/uniname/base: New file.
31200         * modules/uniname/uniname: New file.
31201         * modules/uniname/uniname-tests: New file.
31202         * MODULES.html.sh (Unicode string functions): Add the new modules.
31203
31204 2007-07-06  Bruno Haible  <bruno@clisp.org>
31205
31206         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
31207
31208 2007-07-06  Bruno Haible  <bruno@clisp.org>
31209
31210         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
31211         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
31212         includes <cygwin/sys_time.h> which includes <sys/select.h> which
31213         include <sys/time.h>.
31214         Reported by Eric Blake.
31215
31216 2007-07-06  Eric Blake  <ebb9@byu.net>
31217
31218         Fix testing canonicalize on cygwin.
31219         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
31220         Revert patch from 2007-06-19.
31221         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
31222         canonicalize module is also in use.
31223         * tests/test-canonicalize.c: New file.
31224         * tests/test-canonicalize.sh: Likewise.
31225         * modules/canonicalize-tests: Likewise.
31226
31227 2007-07-06  Jim Meyering  <jim@meyering.net>
31228
31229         * lib/getugroups.c (getugroups): Detect getgrent failure.
31230         Adjust comment to reflect reality: this function may return -1.
31231
31232 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31233
31234         * build-aux/bootstrap (TP_URL,get_translations): Update to use
31235         the new TP address.
31236         (usage): Fix typo
31237         (gnulib_mk): New variable.
31238
31239 2007-07-05  Jim Meyering  <jim@meyering.net>
31240
31241         Don't let endgrent clobber errno, no matter how improbable.
31242         * lib/getugroups.c (getugroups): Save and restore errno around
31243         endgrent call.
31244
31245         Close the group DB even when failing with 2^31 or more members.
31246         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
31247
31248 2007-07-04  Jim Meyering  <jim@meyering.net>
31249
31250         * lib/getugroups.h: New file.
31251         * lib/getugroups.c: Include "getugroups.h".
31252         Remove uses of "register" keyword.
31253         Move local variable, "cp", down into scope where used.
31254         Give "username" parameter the "const" attribute.
31255         * modules/getugroups (Files): Add lib/getugroups.h
31256
31257 2007-07-04  Karl Berry  <karl@gnu.org>
31258
31259         * MODULES.html.sh (func_all_modules): Complete rename of
31260         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
31261
31262 2007-07-02  Bruno Haible  <bruno@clisp.org>
31263
31264         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
31265         mode, when inttypes.h comes from gnulib.
31266         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
31267
31268 2007-07-02  Simon Josefsson  <simon@josefsson.org>
31269
31270         * NEWS: Mention lgpl module name change.
31271
31272         * modules/lgpl-2.1: Renamed from lgpl.
31273
31274         * NEWS: Mention gpl module name change.
31275
31276         * modules/gpl-3.0: New file, based on gpl-2.0.
31277
31278         * modules/gpl-2.0: Renamed from gpl.
31279
31280         * modules/gpl: Fix filename, doc/gpl.texi is now found at
31281         doc/gpl-2.0.texi.
31282
31283 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
31284
31285         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
31286         #define __STDC_LIMIT_MACROS temporarily while including
31287         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
31288         Problem reported by Joel E. Denny in
31289         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
31290
31291 2007-07-01  Bruno Haible  <bruno@clisp.org>
31292
31293         * lib/unistdio.h: New file.
31294         * lib/unistdio/u-asnprintf.h: New file.
31295         * lib/unistdio/u-asprintf.h: New file.
31296         * lib/unistdio/u-printf-args.c: New file.
31297         * lib/unistdio/u-printf-args.h: New file.
31298         * lib/unistdio/u-printf-parse.h: New file.
31299         * lib/unistdio/u-snprintf.h: New file.
31300         * lib/unistdio/u-sprintf.h: New file.
31301         * lib/unistdio/u-vasprintf.h: New file.
31302         * lib/unistdio/u-vsnprintf.h: New file.
31303         * lib/unistdio/u-vsprintf.h: New file.
31304         * lib/unistdio/ulc-asnprintf.c: New file.
31305         * lib/unistdio/ulc-asprintf.c: New file.
31306         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
31307         * lib/unistdio/ulc-printf-parse.c: New file.
31308         * lib/unistdio/ulc-snprintf.c: New file.
31309         * lib/unistdio/ulc-sprintf.c: New file.
31310         * lib/unistdio/ulc-vasnprintf.c: New file.
31311         * lib/unistdio/ulc-vasprintf.c: New file.
31312         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
31313         * lib/unistdio/ulc-vsnprintf.c: New file.
31314         * lib/unistdio/ulc-vsprintf.c: New file.
31315         * lib/unistdio/u8-asnprintf.c: New file.
31316         * lib/unistdio/u8-asprintf.c: New file.
31317         * lib/unistdio/u8-printf-parse.c: New file.
31318         * lib/unistdio/u8-snprintf.c: New file.
31319         * lib/unistdio/u8-sprintf.c: New file.
31320         * lib/unistdio/u8-vasnprintf.c: New file.
31321         * lib/unistdio/u8-vasprintf.c: New file.
31322         * lib/unistdio/u8-vsnprintf.c: New file.
31323         * lib/unistdio/u8-vsprintf.c: New file.
31324         * lib/unistdio/u8-u8-asnprintf.c: New file.
31325         * lib/unistdio/u8-u8-asprintf.c: New file.
31326         * lib/unistdio/u8-u8-snprintf.c: New file.
31327         * lib/unistdio/u8-u8-sprintf.c: New file.
31328         * lib/unistdio/u8-u8-vasnprintf.c: New file.
31329         * lib/unistdio/u8-u8-vasprintf.c: New file.
31330         * lib/unistdio/u8-u8-vsnprintf.c: New file.
31331         * lib/unistdio/u8-u8-vsprintf.c: New file.
31332         * lib/unistdio/u16-asnprintf.c: New file.
31333         * lib/unistdio/u16-asprintf.c: New file.
31334         * lib/unistdio/u16-printf-parse.c: New file.
31335         * lib/unistdio/u16-snprintf.c: New file.
31336         * lib/unistdio/u16-sprintf.c: New file.
31337         * lib/unistdio/u16-vasnprintf.c: New file.
31338         * lib/unistdio/u16-vasprintf.c: New file.
31339         * lib/unistdio/u16-vsnprintf.c: New file.
31340         * lib/unistdio/u16-vsprintf.c: New file.
31341         * lib/unistdio/u16-u16-asnprintf.c: New file.
31342         * lib/unistdio/u16-u16-asprintf.c: New file.
31343         * lib/unistdio/u16-u16-snprintf.c: New file.
31344         * lib/unistdio/u16-u16-sprintf.c: New file.
31345         * lib/unistdio/u16-u16-vasnprintf.c: New file.
31346         * lib/unistdio/u16-u16-vasprintf.c: New file.
31347         * lib/unistdio/u16-u16-vsnprintf.c: New file.
31348         * lib/unistdio/u16-u16-vsprintf.c: New file.
31349         * lib/unistdio/u32-asnprintf.c: New file.
31350         * lib/unistdio/u32-asprintf.c: New file.
31351         * lib/unistdio/u32-printf-parse.c: New file.
31352         * lib/unistdio/u32-snprintf.c: New file.
31353         * lib/unistdio/u32-sprintf.c: New file.
31354         * lib/unistdio/u32-vasnprintf.c: New file.
31355         * lib/unistdio/u32-vasprintf.c: New file.
31356         * lib/unistdio/u32-vsnprintf.c: New file.
31357         * lib/unistdio/u32-vsprintf.c: New file.
31358         * lib/unistdio/u32-u32-asnprintf.c: New file.
31359         * lib/unistdio/u32-u32-asprintf.c: New file.
31360         * lib/unistdio/u32-u32-snprintf.c: New file.
31361         * lib/unistdio/u32-u32-sprintf.c: New file.
31362         * lib/unistdio/u32-u32-vasnprintf.c: New file.
31363         * lib/unistdio/u32-u32-vasprintf.c: New file.
31364         * lib/unistdio/u32-u32-vsnprintf.c: New file.
31365         * lib/unistdio/u32-u32-vsprintf.c: New file.
31366         * tests/unistdio/test-ulc-asnprintf1.c: New file.
31367         * tests/unistdio/test-ulc-asnprintf1.h: New file.
31368         * tests/unistdio/test-ulc-printf1.h: New file.
31369         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
31370         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
31371         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
31372         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
31373         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
31374         * tests/unistdio/test-ulc-vasprintf1.c: New file.
31375         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
31376         * tests/unistdio/test-ulc-vsprintf1.c: New file.
31377         * tests/unistdio/test-u8-asnprintf1.c: New file.
31378         * tests/unistdio/test-u8-asnprintf1.h: New file.
31379         * tests/unistdio/test-u8-printf1.h: New file.
31380         * tests/unistdio/test-u8-vasnprintf1.c: New file.
31381         * tests/unistdio/test-u8-vasnprintf2.c: New file.
31382         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
31383         * tests/unistdio/test-u8-vasnprintf3.c: New file.
31384         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
31385         * tests/unistdio/test-u8-vasprintf1.c: New file.
31386         * tests/unistdio/test-u8-vsnprintf1.c: New file.
31387         * tests/unistdio/test-u8-vsprintf1.c: New file.
31388         * tests/unistdio/test-u16-asnprintf1.c: New file.
31389         * tests/unistdio/test-u16-asnprintf1.h: New file.
31390         * tests/unistdio/test-u16-printf1.h: New file.
31391         * tests/unistdio/test-u16-vasnprintf1.c: New file.
31392         * tests/unistdio/test-u16-vasnprintf2.c: New file.
31393         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
31394         * tests/unistdio/test-u16-vasnprintf3.c: New file.
31395         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
31396         * tests/unistdio/test-u16-vasprintf1.c: New file.
31397         * tests/unistdio/test-u16-vsnprintf1.c: New file.
31398         * tests/unistdio/test-u16-vsprintf1.c: New file.
31399         * tests/unistdio/test-u32-asnprintf1.c: New file.
31400         * tests/unistdio/test-u32-asnprintf1.h: New file.
31401         * tests/unistdio/test-u32-printf1.h: New file.
31402         * tests/unistdio/test-u32-vasnprintf1.c: New file.
31403         * tests/unistdio/test-u32-vasnprintf2.c: New file.
31404         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
31405         * tests/unistdio/test-u32-vasnprintf3.c: New file.
31406         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
31407         * tests/unistdio/test-u32-vasprintf1.c: New file.
31408         * tests/unistdio/test-u32-vsnprintf1.c: New file.
31409         * tests/unistdio/test-u32-vsprintf1.c: New file.
31410         * modules/unistdio/base: New file.
31411         * modules/unistdio/u-printf-args: New file.
31412         * modules/unistdio/ulc-asnprintf: New file.
31413         * modules/unistdio/ulc-asprintf: New file.
31414         * modules/unistdio/ulc-fprintf: New file.
31415         * modules/unistdio/ulc-printf-parse: New file.
31416         * modules/unistdio/ulc-snprintf: New file.
31417         * modules/unistdio/ulc-sprintf: New file.
31418         * modules/unistdio/ulc-vasnprintf: New file.
31419         * modules/unistdio/ulc-vasprintf: New file.
31420         * modules/unistdio/ulc-vfprintf: New file.
31421         * modules/unistdio/ulc-vsnprintf: New file.
31422         * modules/unistdio/ulc-vsprintf: New file.
31423         * modules/unistdio/u8-asnprintf: New file.
31424         * modules/unistdio/u8-asprintf: New file.
31425         * modules/unistdio/u8-printf-parse: New file.
31426         * modules/unistdio/u8-snprintf: New file.
31427         * modules/unistdio/u8-sprintf: New file.
31428         * modules/unistdio/u8-vasnprintf: New file.
31429         * modules/unistdio/u8-vasprintf: New file.
31430         * modules/unistdio/u8-vsnprintf: New file.
31431         * modules/unistdio/u8-vsprintf: New file.
31432         * modules/unistdio/u8-u8-asnprintf: New file.
31433         * modules/unistdio/u8-u8-asprintf: New file.
31434         * modules/unistdio/u8-u8-snprintf: New file.
31435         * modules/unistdio/u8-u8-sprintf: New file.
31436         * modules/unistdio/u8-u8-vasnprintf: New file.
31437         * modules/unistdio/u8-u8-vasprintf: New file.
31438         * modules/unistdio/u8-u8-vsnprintf: New file.
31439         * modules/unistdio/u8-u8-vsprintf: New file.
31440         * modules/unistdio/u16-asnprintf: New file.
31441         * modules/unistdio/u16-asprintf: New file.
31442         * modules/unistdio/u16-printf-parse: New file.
31443         * modules/unistdio/u16-snprintf: New file.
31444         * modules/unistdio/u16-sprintf: New file.
31445         * modules/unistdio/u16-vasnprintf: New file.
31446         * modules/unistdio/u16-vasprintf: New file.
31447         * modules/unistdio/u16-vsnprintf: New file.
31448         * modules/unistdio/u16-vsprintf: New file.
31449         * modules/unistdio/u16-u16-asnprintf: New file.
31450         * modules/unistdio/u16-u16-asprintf: New file.
31451         * modules/unistdio/u16-u16-snprintf: New file.
31452         * modules/unistdio/u16-u16-sprintf: New file.
31453         * modules/unistdio/u16-u16-vasnprintf: New file.
31454         * modules/unistdio/u16-u16-vasprintf: New file.
31455         * modules/unistdio/u16-u16-vsnprintf: New file.
31456         * modules/unistdio/u16-u16-vsprintf: New file.
31457         * modules/unistdio/u32-asnprintf: New file.
31458         * modules/unistdio/u32-asprintf: New file.
31459         * modules/unistdio/u32-printf-parse: New file.
31460         * modules/unistdio/u32-snprintf: New file.
31461         * modules/unistdio/u32-sprintf: New file.
31462         * modules/unistdio/u32-vasnprintf: New file.
31463         * modules/unistdio/u32-vasprintf: New file.
31464         * modules/unistdio/u32-vsnprintf: New file.
31465         * modules/unistdio/u32-vsprintf: New file.
31466         * modules/unistdio/u32-u32-asnprintf: New file.
31467         * modules/unistdio/u32-u32-asprintf: New file.
31468         * modules/unistdio/u32-u32-snprintf: New file.
31469         * modules/unistdio/u32-u32-sprintf: New file.
31470         * modules/unistdio/u32-u32-vasnprintf: New file.
31471         * modules/unistdio/u32-u32-vasprintf: New file.
31472         * modules/unistdio/u32-u32-vsnprintf: New file.
31473         * modules/unistdio/u32-u32-vsprintf: New file.
31474         * modules/unistdio/ulc-asnprintf-tests: New file.
31475         * modules/unistdio/ulc-vasnprintf-tests: New file.
31476         * modules/unistdio/ulc-vasprintf-tests: New file.
31477         * modules/unistdio/ulc-vsnprintf-tests: New file.
31478         * modules/unistdio/ulc-vsprintf-tests: New file.
31479         * modules/unistdio/u8-asnprintf-tests: New file.
31480         * modules/unistdio/u8-vasnprintf-tests: New file.
31481         * modules/unistdio/u8-vasprintf-tests: New file.
31482         * modules/unistdio/u8-vsnprintf-tests: New file.
31483         * modules/unistdio/u8-vsprintf-tests: New file.
31484         * modules/unistdio/u16-asnprintf-tests: New file.
31485         * modules/unistdio/u16-vasnprintf-tests: New file.
31486         * modules/unistdio/u16-vasprintf-tests: New file.
31487         * modules/unistdio/u16-vsnprintf-tests: New file.
31488         * modules/unistdio/u16-vsprintf-tests: New file.
31489         * modules/unistdio/u32-asnprintf-tests: New file.
31490         * modules/unistdio/u32-vasnprintf-tests: New file.
31491         * modules/unistdio/u32-vasprintf-tests: New file.
31492         * modules/unistdio/u32-vsnprintf-tests: New file.
31493         * modules/unistdio/u32-vsprintf-tests: New file.
31494         * MODULES.html.sh (Unicode string functions): Add the new modules.
31495
31496 2007-07-01  Bruno Haible  <bruno@clisp.org>
31497
31498         * lib/sprintf.c (sprintf): Limit the available length estimation,
31499         to avoid address wraparound.
31500         * lib/vsprintf.c (vsprintf): Likewise.
31501         * modules/sprintf-posix (Dependencies): Add stdint.
31502         * modules/vsprintf-posix (Dependencies): Likewise.
31503
31504 2007-07-01  Bruno Haible  <bruno@clisp.org>
31505
31506         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
31507         Windows PATH as well. Conservative double-quoting. Comments.
31508
31509 2007-07-01  Bruno Haible  <bruno@clisp.org>
31510             Eric Blake  <ebb9@byu.net>
31511             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31512
31513         * gnulib-tool (self_abspathname): Fix algorithm to cope with
31514         empty components in $PATH, denoting '.'.
31515
31516 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31517
31518         * gnulib-tool: Fix indentation.
31519         (func_create_megatestdir): Likewise.
31520         Report by Bruno Haible.
31521
31522 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31523
31524         Sync from Automake.
31525         * build-aux/gnupload: Fix shell portability issues with for loops.
31526         Report by Karl Berry.
31527
31528 2007-06-29  Simon Josefsson  <simon@josefsson.org>
31529
31530         * build-aux/maint.mk (POURL): Use translationproject.org.
31531
31532 2007-06-27  Simon Josefsson  <simon@josefsson.org>
31533             Bruno Haible  <bruno@clisp.org>
31534
31535         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
31536         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
31537         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
31538         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
31539         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
31540
31541 2007-06-27  Bruno Haible  <bruno@clisp.org>
31542
31543         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
31544         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
31545
31546 2007-06-26  Karl Berry  <karl@gnu.org>
31547
31548         * MODULES.html.sh: remove xreadlink-with-size.
31549
31550 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
31551
31552         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
31553         method that I hope also handles the double-include problem noted
31554         by Bruno Haible in
31555         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
31556
31557 2007-06-23  Bruno Haible  <bruno@clisp.org>
31558
31559         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31560         Don't let the 'mostlyclean' target fail if the last subdirectory could
31561         not be removed.
31562         Reported by Karl Berry.
31563
31564 2007-06-23  Bruno Haible  <bruno@clisp.org>
31565
31566         * gnulib-tool (echo): Add a speedier workaround for ksh.
31567         * tests/test-echo.sh: Likewise.
31568
31569 2007-06-23  Bruno Haible  <bruno@clisp.org>
31570
31571         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
31572         * tests/test-echo.sh: Likewise.
31573
31574 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31575
31576         * gnulib-tool (IFS): Initialize early, so we don't set it to
31577         empty later.
31578         (self_abspathname): Rewrite algorithm to set it, reindent.
31579         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
31580         (func_create_megatestdir): Merge some sed scripts.
31581
31582 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
31583
31584         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
31585         exposed by Sun Studio 11 cc on Solaris 8.
31586
31587 2007-06-22  Bruno Haible  <bruno@clisp.org>
31588
31589         * gnulib-tool (echo): Ensure the echo primitive does not interpret
31590         backslashes.
31591         * tests/test-echo.sh: New file.
31592
31593 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31594
31595         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
31596         simplify `sed_replace_build_aux' scripts, they are portable but
31597         echoing them with `echo' is not.
31598         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
31599
31600 2007-06-21  Karl Berry  <karl@gnu.org>
31601
31602         * config/srclist.txt: guess we can't handle the licenses via
31603         srclist at the moment.
31604
31605 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
31606
31607         * MODULES.html.sh: Add include_next.
31608         * modules/include_next: New file.
31609
31610 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
31611
31612         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
31613         INCLUDE_NEXT.
31614         (gl_CHECK_NEXT_HEADERS): New macro.
31615         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
31616         the obsolescent gl_ABSOLUTE_HEADER.
31617         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
31618         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
31619         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
31620         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31621         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31622         * m4/math_h.m4 (gl_MATH_H): Likewise.
31623         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
31624         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31625         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
31626         * m4/stdint.m4 (gl_STDINT_H): Likewise.
31627         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
31628         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
31629         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
31630         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31631         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31632         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31633         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
31634         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
31635         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
31636         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
31637         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31638         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
31639         * m4/inttypes.m4 (gl_INTTYPES_H): Define
31640         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
31641         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
31642         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
31643         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
31644         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
31645         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
31646         * lib/float_.h: Likewise.
31647         * lib/inttypes_.h: Likewise.
31648         * lib/math_.h: Likewise.
31649         * lib/search_.h: Likewise.
31650         * lib/signal_.h: Likewise.
31651         * lib/stdint_.h: Likewise.
31652         * lib/stdio_.h: Likewise.
31653         * lib/stdlib_.h: Likewise.
31654         * lib/string_.h: Likewise.
31655         * lib/sys_stat_.h: Likewise.
31656         * lib/sys_time_.h: Likewise.
31657         * lib/time_.h: Likewise.
31658         * lib/unistd_.h: Likewise.
31659         * lib/wchar_.h: Likewise.
31660         * lib/wctype_.h: Likewise.
31661         * lib/dirent_.h: Likewise.
31662         * lib/iconv_.h: Likewise.
31663         * lib/locale_.h: Likewise.
31664         * lib/netinet_in_.h: Likewise.
31665         * lib/sys_select_.h: Likewise.
31666         * lib/sys_socket_.h: Likewise.
31667         * lib/sysexits_.h: Likewise.
31668         * modules/fcntl (Depends-on): Depend on include_next, not
31669         absolute_header.
31670         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
31671         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
31672         * modules/fchdir: Likewise.
31673         * modules/float: Likewise.
31674         * modules/iconv_open: Likewise.
31675         * modules/inttypes: Likewise.
31676         * modules/locale: Likewise.
31677         * modules/math: Likewise.
31678         * modules/netinet_in: Likewise.
31679         * modules/search: Likewise.
31680         * modules/signal: Likewise.
31681         * modules/stdint: Likewise.
31682         * modules/stdio: Likewise.
31683         * modules/stdlib: Likewise.
31684         * modules/string: Likewise.
31685         * modules/sys_select: Likewise.
31686         * modules/sys_socket: Likewise.
31687         * modules/sys_stat: Likewise.
31688         * modules/sys_time: Likewise.
31689         * modules/sysexits: Likewise.
31690         * modules/time: Likewise.
31691         * modules/unistd: Likewise.
31692         * modules/wchar: Likewise.
31693         * modules/wctype: Likewise.
31694         * modules/sys_stat: Change maintainer to "all".
31695         * modules/unistd: Likewise.
31696
31697 2007-06-20  Karl Berry  <karl@gnu.org>
31698
31699         * config/srclist.txt: track www changes in license files.
31700
31701 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
31702
31703         * build-aux/bootstrap: Remove stray dot.
31704         Make sure build_aux settings are honored when linking
31705         gnulib_extra_files.
31706
31707 2007-06-19  Eric Blake  <ebb9@byu.net>
31708
31709         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
31710         Allow compilation on cygwin.
31711
31712 2007-06-19  Jim Meyering  <jim@meyering.net>
31713
31714         xreadlink-with-size: Remove module.  No longer used.
31715         Ex-callers now use xreadlink or mreadlink-with-size.
31716         * modules/xreadlink-with-size: Remove module.
31717         * lib/xreadlink-with-size.c: Remove file.
31718         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
31719         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
31720         just before the function definition *is* accurate.
31721
31722         Eliminate one way canonicalize_filename_mode could exit.
31723         * lib/canonicalize.c (canonicalize_filename_mode):
31724         Use mreadlink_with_size, not xreadlink_with_size.
31725
31726 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
31727
31728         Detect porting problems to FreeBSD/arm, which has time_t wider than
31729         long int.  Original problem reported for GNU diff by Xin Li in
31730         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
31731         * modules/getdate (Depends-on): Add intprops, verify.
31732         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
31733         is an integer type no wider than long int.
31734
31735 2007-06-18  Jim Meyering  <jim@meyering.net>
31736
31737         New module: mreadlink-with-size.
31738         * MODULES.html.sh: Add mreadlink-with-size.
31739         * modules/mreadlink-with-size: New module
31740         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
31741         not xreadlink-with-size.
31742         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
31743
31744 2007-06-16  Bruno Haible  <bruno@clisp.org>
31745
31746         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
31747         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
31748         Reported by Gary V. Vaughan <gary@gnu.org>.
31749
31750 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
31751
31752         Revamp lchown so that it lives in unistd.h where it belongs.
31753         * lib/lchown.h: Remove.
31754         * lib/dirchownmod.c: Don't include lib/lchown.h.
31755         * lib/fchownat.c: Likewise.
31756         * lib/openat.c: Likewise.
31757         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
31758         does not follow symlinks.
31759         (EOPNOTSUPP): Define if not defined.
31760         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
31761         is defined to 0.
31762         (lchown): New decl.
31763         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
31764         Do not check for lchown decl.
31765         Set REPLACE_LCHOWN.
31766         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
31767         REPLACE_LCHOWN.
31768         * modules/chown: Make it clear it follows symlinks.
31769         * modules/lchown: Make it clear it doesn't follow symlinks.
31770         (Files): Remove lib/lchown.h
31771         (Depends-on): Add unistd.
31772         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
31773         (Include): Include <unistd.h>, not "lchown.h".
31774         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
31775         REPLACE_LCHOWN.
31776
31777 2007-06-15  Jim Meyering  <jim@meyering.net>
31778
31779         Change license (GPL to LGPL) of fsusage and dependents.
31780         * modules/fsusage (License): Change to LGPL.
31781         * modules/full-read (License): Likewise.
31782         * modules/full-write (License): Likewise.
31783         * modules/safe-read (License): Likewise.
31784         * modules/safe-write (License): Likewise.
31785
31786 2007-06-14  Ben Pfaff  <blp@gnu.org>
31787
31788         Missing part of allocsa -> malloca transition.
31789         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
31790         gl_MALLOCA.
31791
31792 2007-06-12  Bruno Haible  <bruno@clisp.org>
31793
31794         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
31795         to ia64, x86_64, i386.
31796         Reported by Eric Blake.
31797
31798 2007-06-12  Bruno Haible  <bruno@clisp.org>
31799
31800         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
31801         cross-compiling to x86_64.
31802
31803 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
31804
31805         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
31806         glitch reported by Ralf Wildenhues in
31807         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
31808
31809         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
31810         Vin Shelton.
31811
31812 2007-06-11  Bruno Haible  <bruno@clisp.org>
31813
31814         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
31815         replacement string.
31816         Reported by Eric Blake.
31817
31818 2007-06-10  Bruno Haible  <bruno@clisp.org>
31819
31820         Prepare vasnprintf code for use with Unicode strings.
31821         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
31822         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
31823         TYPE_U32_STRING.
31824         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
31825         a_u32_string variants.
31826         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
31827         * lib/printf-args.c: Don't include config.h and the specification
31828         header if PRINTF_FETCHARGS is already defined.
31829         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
31830         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
31831         TYPE_U16_STRING, TYPE_U32_STRING.
31832         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
31833         u16_directive, u16_directives, u32_directive, u32_directives): New
31834         types.
31835         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
31836         New declarations.
31837         * lib/printf-parse.c: Don't include config.h and the specification
31838         header if PRINTF_PARSE is already defined. Eliminate the set of
31839         parameters for WIDE_CHAR_VERSION; the user of this file must provide
31840         them now. Include c-ctype.h.
31841         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
31842         directive and CHAR_T_ONLY_ASCII.
31843         * lib/vasnprintf.c: Don't include config.h and the specification header
31844         if VASNPRINTF is already defined.
31845         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
31846         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
31847         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
31848         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
31849         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
31850         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
31851         code accordingly.
31852         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
31853         pad_ourselves also in this case, with the 'c' and 's' directives, and
31854         with a different notion of "width".
31855         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
31856
31857 2007-06-10  Bruno Haible  <bruno@clisp.org>
31858
31859         * modules/unistr/u32-mbsnlen: New file.
31860         * lib/unistr/u32-mbsnlen.c: New file.
31861
31862         * modules/unistr/u16-mbsnlen: New file.
31863         * lib/unistr/u16-mbsnlen.c: New file.
31864
31865         * modules/unistr/u8-mbsnlen: New file.
31866         * lib/unistr/u8-mbsnlen.c: New file.
31867
31868         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
31869         declarations.
31870
31871 2007-06-10  Bruno Haible  <bruno@clisp.org>
31872
31873         * lib/string_.h (mbsnlen): New declaration.
31874         * lib/mbsnlen.c: New file.
31875         * m4/mbsnlen.m4: New file.
31876         * modules/mbsnlen: New file.
31877         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
31878         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
31879         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
31880
31881 2007-06-10  Bruno Haible  <bruno@clisp.org>
31882
31883         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
31884
31885 2007-06-10  Bruno Haible  <bruno@clisp.org>
31886
31887         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
31888         * lib/mbuiter.h: Likewise.
31889
31890 2007-06-10  Bruno Haible  <bruno@clisp.org>
31891
31892         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
31893         declaration.
31894
31895 2007-06-10  Karl Berry  <karl@gnu.org>
31896
31897         * config/srclist.txt: remove gettext entries, Bruno prefers
31898         to update individually.
31899
31900 2007-06-10  Bruno Haible  <bruno@clisp.org>
31901
31902         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
31903         'maxlen'. Ensure only length + width bytes are allocated, not
31904         length + 1 + width.
31905
31906 2007-06-09  Bruno Haible  <bruno@clisp.org>
31907
31908         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
31909         (CHAR_T): Remove macro.
31910         (VASNPRINTF): Update.
31911
31912 2007-06-09  Bruno Haible  <bruno@clisp.org>
31913
31914         * MODULES.html.sh (Unicode string functions): Add the new modules.
31915
31916         * modules/uniconv/u32-conv-to-enc: New file.
31917         * lib/uniconv/u32-conv-to-enc.c: New file.
31918         * modules/uniconv/u32-conv-to-enc-tests: New file.
31919         * tests/uniconv/test-u32-conv-to-enc.c: New file.
31920
31921         * modules/uniconv/u16-conv-to-enc: New file.
31922         * lib/uniconv/u16-conv-to-enc.c: New file.
31923         * lib/uniconv/u-conv-to-enc.h: New file.
31924         * modules/uniconv/u16-conv-to-enc-tests: New file.
31925         * tests/uniconv/test-u16-conv-to-enc.c: New file.
31926
31927         * modules/uniconv/u8-conv-to-enc: New file.
31928         * lib/uniconv/u8-conv-to-enc.c: New file.
31929         * modules/uniconv/u8-conv-to-enc-tests: New file.
31930         * tests/uniconv/test-u8-conv-to-enc.c: New file.
31931
31932         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
31933         u32_conv_to_encoding): New declarations.
31934
31935 2007-06-09  Bruno Haible  <bruno@clisp.org>
31936
31937         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
31938
31939 2007-06-09  Bruno Haible  <bruno@clisp.org>
31940
31941         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
31942         * modules/malloca: Renamed from modules/allocsa, updated.
31943         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
31944         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
31945         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
31946         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
31947         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
31948         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
31949         * modules/xmalloca: Renamed from modules/xallocsa, updated.
31950         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
31951         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
31952         * modules/c-strcasestr (Depends-on): Update.
31953         * lib/c-strcasestr.c: Update.
31954         * modules/c-strstr (Depends-on): Update.
31955         * lib/c-strstr.c: Update.
31956         * modules/canonicalize-lgpl (Depends-on): Update.
31957         * lib/canonicalize-lgpl.c: Update.
31958         * modules/clean-temp (Depends-on): Update.
31959         * lib/clean-temp.c: Update.
31960         * modules/csharpcomp (Depends-on): Update.
31961         * lib/csharpcomp.c: Update.
31962         * modules/csharpexec (Depends-on): Update.
31963         * lib/csharpexec.c: Update.
31964         * modules/javacomp (Depends-on): Update.
31965         * lib/javacomp.c: Update.
31966         * modules/javaexec (Depends-on): Update.
31967         * lib/javaexec.c: Update.
31968         * modules/mbscasestr (Depends-on): Update.
31969         * lib/mbscasestr.c: Update.
31970         * modules/mbsstr (Depends-on): Update.
31971         * lib/mbsstr.c: Update.
31972         * modules/setenv (Depends-on): Update.
31973         * lib/setenv.c: Update.
31974         * modules/strcasestr (Depends-on): Update.
31975         * lib/strcasestr.c: Update.
31976         * modules/striconveha (Depends-on): Update.
31977         * lib/striconveha.c: Update.
31978         * modules/relocatable-prog-wrapper (Files): Update.
31979         * lib/relocwrapper.c: Update.
31980         * build-aux/install-reloc: Update.
31981         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
31982
31983 2007-06-08  Bruno Haible  <bruno@clisp.org>
31984
31985         Port to uClibc.
31986         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
31987         * lib/fpurge.c (fpurge): Likewise.
31988         * lib/freading.c (freading): Likewise.
31989         * lib/fseeko.c (rpl_fseeko): Likewise.
31990         * lib/fseterr.c (fseterr): Likewise.
31991         * lib/fwriting.c (fwriting): Likewise.
31992         * tests/test-fflush.c (main): Avoid a failure on uClibc.
31993
31994 2007-06-08  Bruno Haible  <bruno@clisp.org>
31995
31996         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
31997         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
31998         * modules/gettext (Files): Add m4/intlmacosx.m4.
31999
32000 2007-06-07  Bruno Haible  <bruno@clisp.org>
32001
32002         * modules/localename-tests: New file.
32003         * tests/test-localename.c: New file.
32004
32005         New module 'localename'.
32006         * lib/localename.h: New file.
32007         * lib/localename.c: New file, from GNU gettext.
32008         * m4/localename.m4: New file.
32009         * modules/localename: New file.
32010
32011 2007-06-07  Bruno Haible  <bruno@clisp.org>
32012
32013         Work around the lack of <wchar.h> on some builds of uClibc.
32014         * doc/headers/wchar.texi: Update.
32015         * lib/wchar_.h: Include <wchar.h> only if it exists.
32016         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
32017         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
32018         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
32019         doesn't exist.
32020         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
32021         * modules/mbfile (Depends-on): Add wchar.
32022         * modules/mbiter (Depends-on): Likewise.
32023         * modules/mbuiter (Depends-on): Likewise.
32024         Reported by Simon Josefsson.
32025
32026 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
32027
32028         Work around problem reported by Steven M. Schweda in
32029         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
32030         Tru64 5.1B with the Compaq compiler environment installed declares
32031         an 'isblank' function but does not define it in the C library.
32032         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
32033         * lib/regex_internal.h (isblank): Likewise.
32034         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
32035         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32036
32037 2007-06-05  Bruno Haible  <bruno@clisp.org>
32038
32039         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
32040         ia64.
32041         * modules/printf-safe: New file.
32042         * modules/fprintf-posix (Depends-on): Add printf-safe.
32043         * modules/printf-posix (Depends-on): Likewise.
32044         * modules/snprintf-posix (Depends-on): Likewise.
32045         * modules/sprintf-posix (Depends-on): Likewise.
32046         * modules/vasnprintf-posix (Depends-on): Likewise.
32047         * modules/vasprintf-posix (Depends-on): Likewise.
32048         * modules/vfprintf-posix (Depends-on): Likewise.
32049         * modules/vprintf-posix (Depends-on): Likewise.
32050         * modules/vsnprintf-posix (Depends-on): Likewise.
32051         * modules/vsprintf-posix (Depends-on): Likewise.
32052         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
32053         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
32054         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
32055         "no" on i386, x86_64, ia64.
32056         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
32057         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
32058         on i386, x86_64, ia64.
32059         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
32060         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
32061         on i386, x86_64, ia64.
32062         * tests/test-vasnprintf-posix.c: Include float.h.
32063         (LDBL80_WORDS): New macro.
32064         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
32065         on i386, x86_64, ia64.
32066         * tests/test-vasprintf-posix.c: Include float.h.
32067         (LDBL80_WORDS): New macro.
32068         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
32069         on i386, x86_64, ia64.
32070         * tests/test-snprintf-posix.c: Include float.h.
32071         * tests/test-sprintf-posix.c: Likewise.
32072         * tests/test-vsnprintf-posix.c: Likewise.
32073         * tests/test-vsprintf-posix.c: Likewise.
32074
32075 2007-06-05  Bruno Haible  <bruno@clisp.org>
32076
32077         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
32078         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
32079         non-IEEE numbers on i386, x86_64, ia64.
32080         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
32081         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
32082         * tests/test-isnanl.h: Include float.h.
32083         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
32084
32085 2007-06-05  Bruno Haible  <bruno@clisp.org>
32086
32087         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
32088         also the %a / %A. Handle the %a / %A code before this extra handling.
32089
32090 2007-06-05  Bruno Haible  <bruno@clisp.org>
32091
32092         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
32093         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
32094
32095 2007-06-05  Bruno Haible  <bruno@clisp.org>
32096
32097         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
32098         typo in variable name.
32099
32100 2007-06-05  Eric Blake  <ebb9@byu.net>
32101
32102         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
32103         Reported by Simon Josefsson.
32104
32105 2007-06-04  Bruno Haible  <bruno@clisp.org>
32106
32107         Avoid test failures on some PowerPC platforms.
32108         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
32109         Define differently for PowerPC.
32110         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
32111         Reported by Gary V. Vaughan <gary@gnu.org>.
32112
32113 2007-06-02  Bruno Haible  <bruno@clisp.org>
32114
32115         Fix test-stdint failure on FreeBSD/ia64.
32116         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
32117         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
32118         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
32119         * doc/headers/stdint.texi: Update.
32120
32121 2007-06-01  Bruno Haible  <bruno@clisp.org>
32122
32123         * tests/test-binary-io.c (main): Pass a third argument to open().
32124         Reported by Gary V. Vaughan <gary@gnu.org>.
32125
32126 2007-06-01  Bruno Haible  <bruno@clisp.org>
32127
32128         * doc/functions/frexpl.texi: Update for mingw.
32129
32130 2007-06-01  Bruno Haible  <bruno@clisp.org>
32131
32132         * tests/test-lseek.c (main): Disable test of errno for invalid third
32133         argument.
32134         * doc/functions/lseek.texi: Update.
32135         Reported by Gary V. Vaughan <gary@gnu.org>.
32136
32137 2007-05-28  Bruno Haible  <bruno@clisp.org>
32138
32139         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
32140
32141 2007-05-31  Eric Blake  <ebb9@byu.net>
32142
32143         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
32144         cross compiling.
32145
32146 2007-05-30  Eric Blake  <ebb9@byu.net>
32147         and Bruno Haible  <bruno@clisp.org>
32148
32149         Work around mingw test failures exposed by m4-1.4.9b.
32150         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
32151         * tests/test-unistd.c: Disable uid_t and git_t tests for the
32152         moment.
32153
32154 2007-05-30  Bruno Haible  <bruno@clisp.org>
32155
32156         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
32157         assuming that they are closed. Needed on HP-UX 11.
32158
32159 2007-05-29  Bruno Haible  <bruno@clisp.org>
32160
32161         Fix a problem with #include_next.
32162         * lib/dirent_.h: Split the double-inclusion guard.
32163         * lib/fcntl_.h: Likewise.
32164         * lib/float_.h: Likewise.
32165         * lib/iconv_.h: Likewise.
32166         * lib/inttypes_.h: Likewise.
32167         * lib/locale_.h: Likewise.
32168         * lib/math_.h: Likewise.
32169         * lib/netinet_in_.h: Likewise.
32170         * lib/search_.h: Likewise.
32171         * lib/signal_.h: Likewise.
32172         * lib/stdint_.h: Likewise.
32173         * lib/stdio_.h: Likewise.
32174         * lib/stdlib_.h: Likewise.
32175         * lib/string_.h: Likewise.
32176         * lib/sys_select_.h: Likewise.
32177         * lib/sys_socket_.h: Likewise.
32178         * lib/sys_stat_.h: Likewise.
32179         * lib/sys_time_.h: Likewise.
32180         * lib/sysexits_.h: Likewise.
32181         * lib/time_.h: Likewise.
32182         * lib/unistd_.h: Likewise.
32183         * lib/wchar_.h: Likewise.
32184         * lib/wctype_.h: Likewise.
32185
32186 2007-05-29  Bruno Haible  <bruno@clisp.org>
32187
32188         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
32189         for the moment.
32190
32191 2007-05-29  Bruno Haible  <bruno@clisp.org>
32192
32193         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
32194         invocation.
32195         Reported by Eric Blake.
32196
32197 2007-05-29  Bruno Haible  <bruno@clisp.org>
32198
32199         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
32200         compiling case.
32201
32202 2007-05-29  Eric Blake  <ebb9@byu.net>
32203             Bruno Haible  <bruno@clisp.org>
32204
32205         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
32206         cross compiles.
32207
32208 2007-05-28  Eric Blake  <ebb9@byu.net>
32209
32210         * modules/closein-tests (test_closein_LDADD): Support test on
32211         cygwin with libtool.
32212
32213 2007-05-28  Bruno Haible  <bruno@clisp.org>
32214
32215         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
32216         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32217         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32218         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32219         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32220         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32221         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32222         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32223         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32224
32225 2007-05-28  Eric Blake  <ebb9@byu.net>
32226
32227         Unconditionally include <config.h> in unit tests.
32228         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
32229         * tests/test-allocsa.c, tests/test-arcfour.c,
32230         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
32231         tests/test-array_list.c, tests/test-array_oset.c,
32232         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
32233         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
32234         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
32235         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
32236         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
32237         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
32238         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
32239         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
32240         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
32241         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
32242         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
32243         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
32244         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
32245         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
32246         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
32247         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
32248         test-md5.c, test-memmem.c, test-printf-posix.c,
32249         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
32250         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
32251         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
32252         test-strcasestr.c, test-striconv.c, test-striconveh.c,
32253         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
32254         test-vasnprintf-posix2.c, test-vasnprintf.c,
32255         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
32256         test-vfprintf-posix.c, test-vprintf-posix.c,
32257         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
32258         test-xvasprintf.c: Likewise.
32259
32260 2007-05-28  Bruno Haible  <bruno@clisp.org>
32261
32262         * gnulib-tool (func_import): Remember the --with-tests command-line
32263         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
32264         Reported by Eric Blake.
32265
32266 2007-05-28  Bruno Haible  <bruno@clisp.org>
32267
32268         * modules/ftell-tests: New file.
32269         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
32270         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
32271
32272         * lib/ftell.c: New file.
32273         * modules/ftell: New file.
32274         * m4/ftell.m4: New file.
32275         * doc/functions/ftell.texi: Update.
32276         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
32277         REPLACE_FTELL.
32278         * lib/stdio_.h (rpl_ftell): New declaration.
32279         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
32280         REPLACE_FTELL.
32281
32282 2007-05-28  Eric Blake  <ebb9@byu.net>
32283
32284         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
32285
32286 2007-05-28  Bruno Haible  <bruno@clisp.org>
32287
32288         * modules/fseek-tests: New file.
32289         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
32290         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
32291
32292         * lib/fseek.c: New file.
32293         * modules/fseek: New file.
32294         * m4/fseek.m4: New file.
32295         * doc/functions/fseek.texi: Update.
32296         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
32297         REPLACE_FSEEK.
32298         * lib/stdio_.h (rpl_fseek): New declaration.
32299         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
32300         REPLACE_FSEEK.
32301
32302 2007-05-28  Bruno Haible  <bruno@clisp.org>
32303
32304         * lib/stdio_.h (fflush): More comments.
32305
32306 2007-05-28  Bruno Haible  <bruno@clisp.org>
32307
32308         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
32309         runtime test.
32310
32311 2007-05-28  Eric Blake  <ebb9@byu.net>
32312
32313         Improve lseek module.
32314         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
32315         * lib/unistd_.h (lseek): Scale back link warning message.
32316         * tests/test-lseek.c: Beef up test.
32317         * tests/test-lseek.sh: Exercise more facets of lseek.
32318         Reported by Bruno Haible.
32319
32320 2007-05-28  Bruno Haible  <bruno@clisp.org>
32321
32322         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
32323         to define.
32324
32325 2007-05-27  Bruno Haible  <bruno@clisp.org>
32326
32327         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
32328
32329 2007-05-27  Bruno Haible  <bruno@clisp.org>
32330
32331         * modules/openmp: New file.
32332         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
32333         Noah Misch.
32334
32335 2007-05-26  Bruno Haible  <bruno@clisp.org>
32336
32337         * modules/chdir-long (Depends-on): Add fchdir.
32338         * modules/chdir-safer (Depends-on): Likewise.
32339         * modules/fts (Depends-on): Likewise.
32340         * modules/fts-lgpl (Depends-on): Likewise.
32341         * modules/openat (Depends-on): Likewise.
32342         * modules/savewd (Depends-on): Likewise.
32343
32344 2007-05-24  Eric Blake  <ebb9@byu.net>
32345
32346         Fix lseek on mingw.
32347         * modules/lseek: New module.
32348         * m4/lseek.m4: New file.
32349         * lib/lseek.c: New file.
32350         * modules/lseek-tests: New file.
32351         * tests/test-lseek.c: New file.
32352         * tests/test-lseek.sh: New file.
32353         * MODULES.html.sh: Document lseek module.
32354         * modules/fflush (Depends-on): Add lseek, fseeko.
32355         * modules/fseeko (Depends-on): Likewise.
32356         * modules/ftello (Depends-on): Likewise.
32357         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
32358         broken.
32359         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
32360         broken.
32361         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
32362         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
32363         * lib/ftello.c (rpl_ftello): Likewise.
32364         * tests/test-fseeko.c (main): Test this.
32365         * tests/test-fseeko.sh: Likewise.
32366         * tests/test-ftello.c (main): Likewise.
32367         * tests/test-ftello.sh: Likewise.
32368         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
32369         implies replacing fseek.
32370         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
32371         HAVE_FTELLO.
32372         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
32373         * modules/unistd (Makefile.am): Likewise.
32374         * lib/unistd_.h (lseek): Declare a replacement.
32375         * doc/functions/lseek.texi (lseek): Document this fix.
32376         * doc/functions/fseek.texi (fseek): Likewise.
32377         * doc/functions/ftell.texi (ftell): Likewise.
32378
32379 2007-05-24  Bruno Haible  <bruno@clisp.org>
32380
32381         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
32382         in the printed representation of a NaN.
32383         * tests/test-vasprintf-posix.c (test_function): Likewise.
32384         * tests/test-snprintf-posix.h (test_function): Likewise.
32385         * tests/test-sprintf-posix.h (test_function): Likewise.
32386         Reported by Eric Blake.
32387
32388 2007-05-23  Eric Blake  <ebb9@byu.net>
32389
32390         Fix fseeko/ftello on cygwin 1.5.24.
32391         * doc/functions/fseeko.texi (fseeko): Document the fix.
32392         * doc/functions/ftello.texi (ftello): Document the fix.
32393         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
32394         * doc/functions/stdout.text (stdout): New file.
32395         * doc/functions/stderr.text (stderr): New file.
32396         * doc/gnulib.texi (Function Substitutes): Use new files.
32397         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
32398         prior to 1.7.0.
32399         * tests/test-ftello.c (main): Likewise for ftello.
32400         * tests/test-fseeko.sh: New file.
32401         * tests/test-ftello.sh: New file.
32402         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
32403         with seekable stdin.
32404         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
32405         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
32406         (gl_REPLACE_FSEEKO): New macro.
32407         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
32408         * modules/fseeko (Files): Distribute fseeko.c.
32409         * modules/ftello (Files): Distribute ftello.c.
32410         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
32411         mode.
32412         * lib/ftello.c (rpl_ftello): New file.
32413         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
32414         fseeko, ftello.
32415         (gl_STDIN_LARGE_OFFSET): New macro.
32416         * modules/stdio (Makefile.am): Perform the replacement.
32417         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
32418
32419 2007-05-23  Bruno Haible  <bruno@clisp.org>
32420
32421         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
32422         GNULIB_POSIXCHECK is defined.
32423
32424 2007-05-21  Bruno Haible  <bruno@clisp.org>
32425
32426         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
32427         Check also the output for NaN arguments. When cross-compiling, guess
32428         no on IRIX.
32429         * lib/vasnprintf.c: Update comments.
32430         * tests/test-vasnprintf-posix.c (strisnan): New function.
32431         (test_function): Use it.
32432         * tests/test-vasprintf-posix.c (strisnan): New function.
32433         (test_function): Use it.
32434         * tests/test-snprintf-posix.h (strisnan): New function.
32435         (test_function): Use it.
32436         * tests/test-sprintf-posix.h (strisnan): New function.
32437         (test_function): Use it.
32438         Reported by Eric Blake.
32439
32440 2007-05-20  Bruno Haible  <bruno@clisp.org>
32441
32442         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
32443         numbers that fails on BeOS.
32444         * doc/functions/frexpl.texi: Update.
32445
32446 2007-05-20  Jim Meyering  <jim@meyering.net>
32447
32448         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
32449         forced upon us by glibc-2.6.
32450
32451 2007-05-20  Bruno Haible  <bruno@clisp.org>
32452
32453         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
32454         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
32455         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
32456         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
32457         NEED_PRINTF_INFINITE.
32458         (is_infinitel): New function.
32459         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
32460         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
32461         gl_PREREQ_VASNPRINTF_INFINITE.
32462         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
32463         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32464         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
32465         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
32466         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
32467         gl_PREREQ_VASNPRINTF_INFINITE.
32468         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32469         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32470         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32471         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32472         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32473         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32474         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32475         * doc/functions/fprintf.texi: Update.
32476         * doc/functions/printf.texi: Update.
32477         * doc/functions/snprintf.texi: Update.
32478         * doc/functions/sprintf.texi: Update.
32479         * doc/functions/vfprintf.texi: Update.
32480         * doc/functions/vprintf.texi: Update.
32481         * doc/functions/vsnprintf.texi: Update.
32482         * doc/functions/vsprintf.texi: Update.
32483
32484 2007-05-20  Bruno Haible  <bruno@clisp.org>
32485
32486         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
32487         was not found in libc.
32488         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
32489
32490 2007-05-20  Bruno Haible  <bruno@clisp.org>
32491
32492         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
32493         printed as "-nan" instead of "nan".
32494         * tests/test-vasprintf-posix.c (test_function): Likewise.
32495         * tests/test-snprintf-posix.h (test_function): Likewise.
32496         * tests/test-sprintf-posix.h (test_function): Likewise.
32497         Needed for HP-UX 11.
32498
32499 2007-05-20  Jim Meyering  <jim@meyering.net>
32500
32501         Fix buggy test for the fchownat-deref bug.
32502         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
32503         symlink required for the run-test.  Without it, this test would
32504         always declare that fchownat doesn't work, and client code would
32505         unnecessarily use the replacement function with fixed libc.
32506         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
32507         Reported by Greg Schafer.
32508
32509 2007-05-19  Bruno Haible  <bruno@clisp.org>
32510
32511         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
32512         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
32513         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
32514         Needed for IRIX 6.5 and Solaris 2.5.1.
32515
32516 2007-05-19  Bruno Haible  <bruno@clisp.org>
32517
32518         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
32519         (test_function): Skip tests involving -0.0 on platforms where
32520         -0.0 = 0.0.
32521         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
32522         (test_function): Skip tests involving -0.0 on platforms where
32523         -0.0 = 0.0.
32524         * tests/test-snprintf-posix.h (have_minus_zero): New function.
32525         (test_function): Skip tests involving -0.0 on platforms where
32526         -0.0 = 0.0.
32527         * tests/test-sprintf-posix.h (have_minus_zero): New function.
32528         (test_function): Skip tests involving -0.0 on platforms where
32529         -0.0 = 0.0.
32530         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
32531         tests.
32532         * tests/test-printf-posix.h (test_function): Likewise.
32533         * tests/test-printf-posix.output: Remove all -0.0 related results.
32534         Needed for IRIX 6.5.
32535
32536 2007-05-19  Bruno Haible  <bruno@clisp.org>
32537
32538         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
32539         printed as "nan0x7fffffff" instead of "nan".
32540         * tests/test-vasprintf-posix.c (test_function): Likewise.
32541         * tests/test-snprintf-posix.h (test_function): Likewise.
32542         * tests/test-sprintf-posix.h (test_function): Likewise.
32543         * tests/test-fprintf-posix.h (NaN): Remove macro.
32544         (test_function): Remove all NaN related tests.
32545         * tests/test-printf-posix.h (NaN): Remove macro.
32546         (test_function): Remove all NaN related tests.
32547         * tests/test-printf-posix.output: Remove all NaN related results.
32548         Needed for IRIX 6.5.
32549
32550 2007-05-19  Bruno Haible  <bruno@clisp.org>
32551
32552         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
32553         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
32554
32555 2007-05-19  Bruno Haible  <bruno@clisp.org>
32556
32557         * lib/float_.h: New file.
32558         * m4/float_h.m4: New file.
32559         * modules/float: New file.
32560         * modules/isnanl (Dependencies): Add float.
32561         * modules/isnanl-nolibm (Dependencies): Likewise.
32562         * modules/mathl (Dependencies): Likewise.
32563         * modules/printf-frexpl (Dependencies): Likewise.
32564         * modules/signbit (Dependencies): Likewise.
32565         * modules/vasnprintf (Dependencies): Likewise.
32566         * doc/headers/float.texi: Update.
32567
32568 2007-05-19  Jim Meyering  <jim@meyering.net>
32569
32570         * lib/utimens.c (gl_futimens): Rename from futimens,
32571         now that glibc-2.6 declares futimens.
32572         * lib/utimens.h: Likewise.
32573
32574 2007-05-19  Bruno Haible  <bruno@clisp.org>
32575
32576         Avoid test failures on mingw.
32577         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
32578         * tests/test-printf-posix.sh: Likewise.
32579         * tests/test-vfprintf-posix.sh: Likewise.
32580         * tests/test-vprintf-posix.sh: Likewise.
32581
32582 2007-05-19  Bruno Haible  <bruno@clisp.org>
32583
32584         Fix *printf result for NaN, Inf, -0.0 on mingw.
32585         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
32586         * lib/vasnprintf.c: Include math.h and isnan.h.
32587         (is_infinite_or_zero): New function.
32588         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
32589         values in the %f, %F, %e, %E, %g, %G directives.
32590         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
32591         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32592         gl_PRINTF_INFINITE and test its result. Invoke
32593         gl_PREREQ_VASNPRINTF_INFINITE.
32594         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32595         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32596         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32597         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32598         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32599         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32600         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32601         * doc/functions/fprintf.texi: Update.
32602         * doc/functions/printf.texi: Update.
32603         * doc/functions/snprintf.texi: Update.
32604         * doc/functions/sprintf.texi: Update.
32605         * doc/functions/vfprintf.texi: Update.
32606         * doc/functions/vprintf.texi: Update.
32607         * doc/functions/vsnprintf.texi: Update.
32608         * doc/functions/vsprintf.texi: Update.
32609
32610 2007-05-19  Bruno Haible  <bruno@clisp.org>
32611
32612         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
32613         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
32614         Instead of multiplying with 10^k, set extra_zeroes to k.
32615         (scale10_round_long_double): Remove function.
32616
32617 2007-05-18  Bruno Haible  <bruno@clisp.org>
32618
32619         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
32620         introduced on 2007-05-06.
32621
32622 2007-05-18  Bruno Haible  <bruno@clisp.org>
32623
32624         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
32625         %g directives.
32626         * tests/test-vasprintf-posix.c (test_function): Likewise.
32627         * tests/test-snprintf-posix.h (test_function): Likewise.
32628         * tests/test-sprintf-posix.h (test_function): Likewise.
32629
32630 2007-05-18  Bruno Haible  <bruno@clisp.org>
32631
32632         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
32633         (strmatch): New function.
32634         (test_function): Test the %f directive on numbers of various exponents.
32635         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
32636         (strmatch): New function.
32637         (test_function): Test the %f directive on numbers of various exponents.
32638         * tests/test-snprintf-posix.h (strmatch): New function.
32639         (test_function): Test the %f directive on numbers of various exponents.
32640         * tests/test-sprintf-posix.h (strmatch): New function.
32641         (test_function): Test the %f directive on numbers of various exponents.
32642         * tests/test-snprintf-posix.c (SIZEOF): New macro.
32643         * tests/test-sprintf-posix.c (SIZEOF): New macro.
32644         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
32645         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
32646
32647 2007-05-18  Bruno Haible  <bruno@clisp.org>
32648
32649         Add support for 'long double' number output.
32650         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
32651         * lib/vasnprintf.c: Include math.h and float+.h.
32652         (mp_limb_t): New type.
32653         (GMP_LIMB_BITS): New macro.
32654         (mp_twolimb_t): New type.
32655         (GMP_TWOLIMB_BITS): New macro.
32656         (mpn_t): New type.
32657         (multiply, divide, convert_to_decimal, decode_long_double,
32658         scale10_round_long_double, scale10_round_decimal_long_double,
32659         floorlog10l): New functions.
32660         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
32661         for the %f, %F, %e, %E, %g, %G directives.
32662         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
32663         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32664         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
32665         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
32666         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32667         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32668         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32669         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32670         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32671         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32672         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32673         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
32674         * modules/snprintf-posix (Depends-on): Likewise.
32675         * modules/sprintf-posix (Depends-on): Likewise.
32676         * modules/vasnprintf-posix (Depends-on): Likewise.
32677         * modules/vasprintf-posix (Depends-on): Likewise.
32678         * modules/vfprintf-posix (Depends-on): Likewise.
32679         * modules/vsnprintf-posix (Depends-on): Likewise.
32680         * modules/vsprintf-posix (Depends-on): Likewise.
32681         * modules/vasnprintf (Files): Add lib/float+.h.
32682         * doc/functions/fprintf.texi: Update.
32683         * doc/functions/printf.texi: Update.
32684         * doc/functions/snprintf.texi: Update.
32685         * doc/functions/sprintf.texi: Update.
32686         * doc/functions/vfprintf.texi: Update.
32687         * doc/functions/vprintf.texi: Update.
32688         * doc/functions/vsnprintf.texi: Update.
32689         * doc/functions/vsprintf.texi: Update.
32690
32691 2007-05-18  Bruno Haible  <bruno@clisp.org>
32692
32693         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
32694
32695 2007-05-18  Bruno Haible  <bruno@clisp.org>
32696
32697         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
32698         for printing 64-bit integers. Needed for mingw.
32699
32700 2007-05-18  Bruno Haible  <bruno@clisp.org>
32701
32702         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
32703         gl_FUNC_FREXPL_WORKS.
32704         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
32705
32706 2007-05-18  Bruno Haible  <bruno@clisp.org>
32707
32708         * modules/frexpl-nolibm-tests: New file.
32709
32710         * modules/frexpl-nolibm: New file.
32711         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
32712
32713 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
32714
32715         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
32716         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
32717         GCC 4.2, which otherwise issues a lot of warnings.
32718         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
32719         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
32720         Likewise.
32721         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
32722         * modules/iconv_open (iconv.h): Likewise.
32723         * modules/locale (locale.h): Likewise.
32724         * modules/netinet_in (netinet/in.h): Likewise.
32725         * modules/sys_select (sys_select.h): Likewise.
32726         * modules/sys_socket (sys/socket.h): Likewise.
32727         * modules/sys_stat (sys/stat.h): Likewise.
32728         * modules/sysexits (sysexits.h): Likewise.
32729         * modules/unistd (unistd.h): Likewise.
32730
32731 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32732
32733         * modules/closein-tests (Makefile.am): Distribute
32734         `test-closein.sh'.
32735
32736 2007-05-17  Bruno Haible  <bruno@clisp.org>
32737
32738         * tests/test-printf-posix.output: Renamed from
32739         tests/test-fprintf-posix.out.
32740         * modules/fprintf-posix-tests: Update.
32741         * modules/printf-posix-tests: Update.
32742         * modules/vfprintf-posix-tests: Update.
32743         * modules/vprintf-posix-tests: Update.
32744         * tests/test-fprintf-posix.sh: Update.
32745         * tests/test-printf-posix.sh: Update.
32746         * tests/test-vfprintf-posix.sh: Update.
32747         * tests/test-vprintf-posix.sh: Update.
32748         Reported by Ralf Wildenhues.
32749
32750 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
32751
32752         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
32753         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
32754         GCC 4.2, which otherwise issues a lot of warnings.
32755         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
32756         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
32757         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
32758         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
32759         it should no longer be needed.
32760         * lib/string_.h: Likewise.
32761         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
32762         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
32763         * modules/inttypes (inttypes.h): Likewise.
32764         * modules/math (math.h): Likewise.
32765         * modules/search (search.h): Likewise.
32766         * modules/signal (signal.h): Likewise.
32767         * modules/stdint (stdint.h): Likewise.
32768         * modules/stdio (stdio.h): Likewise.
32769         * modules/stdlib (stdlib.h): Likewise.
32770         * modules/string (string.h): Likewise.
32771         * modules/sys_time (sys/time.h): Likewise.
32772         * modules/time (time.h): Likewise.
32773         * modules/wchar (wchar.h): Likewise.
32774         * modules/wctype (wtype.h): Likewise.
32775
32776 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32777
32778         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
32779
32780 2007-05-13  Bruno Haible  <bruno@clisp.org>
32781
32782         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
32783         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
32784         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
32785         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
32786         (gl_PREREQ_STRTOK_R): Don't require it here.
32787
32788 2007-05-13  Bruno Haible  <bruno@clisp.org>
32789
32790         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
32791         when used in C++ mode.
32792
32793 2007-05-12  Bruno Haible  <bruno@clisp.org>
32794
32795         * lib/linebuffer.h: Tweak doc.
32796         * lib/linebuffer.c: Likewise.
32797
32798 2007-05-12  James Youngman  <jay@gnu.org>
32799
32800         * lib/linebuffer.c (readlinebuffer_delim): New function,
32801         like readlinebuffer, but use a caller-specified delimiter.
32802         (readlinebuffer): Just call readlinebuffer_delim with '\n'
32803         as the delimiter.
32804         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
32805
32806 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32807
32808         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
32809         * modules/openat (Files): Remove openat-die.c.
32810         (Depends-on): Add openat-die.
32811         * modules/openat-die: New module.
32812
32813 2007-05-06  Bruno Haible  <bruno@clisp.org>
32814
32815         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
32816         Update with info about Cygwin.
32817         * doc/functions/fprintf.texi: Update.
32818         * doc/functions/printf.texi: Update.
32819         * doc/functions/snprintf.texi: Update.
32820         * doc/functions/sprintf.texi: Update.
32821         * doc/functions/vfprintf.texi: Update.
32822         * doc/functions/vprintf.texi: Update.
32823         * doc/functions/vsnprintf.texi: Update.
32824         * doc/functions/vsprintf.texi: Update.
32825         Reported by Eric Blake.
32826
32827 2007-05-06  Bruno Haible  <bruno@clisp.org>
32828
32829         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
32830         padding ourselves for the floating-point directives.
32831         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
32832         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
32833         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
32834         gl_PRINTF_FLAG_ZERO and test its result. Invoke
32835         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
32836         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32837         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
32838         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32839         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32840         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32841         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32842         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32843         * tests/test-snprintf-posix.h (test_function): Also check the width
32844         and some flags in the %f directive.
32845         * tests/test-sprintf-posix.h (test_function): Likewise.
32846         * tests/test-vasnprintf-posix.c (test_function): Likewise.
32847         * tests/test-vasprintf-posix.c (test_function): Likewise.
32848         * doc/functions/fprintf.texi: Update.
32849         * doc/functions/printf.texi: Update.
32850         * doc/functions/snprintf.texi: Update.
32851         * doc/functions/sprintf.texi: Update.
32852         * doc/functions/vfprintf.texi: Update.
32853         * doc/functions/vprintf.texi: Update.
32854         * doc/functions/vsnprintf.texi: Update.
32855         * doc/functions/vsprintf.texi: Update.
32856
32857 2007-05-06  Bruno Haible  <bruno@clisp.org>
32858
32859         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
32860         pass the ' flag character to sprintf or snprintf.
32861         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
32862         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
32863         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
32864         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
32865         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
32866         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32867         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
32868         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32869         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32870         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32871         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32872         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32873         * tests/test-snprintf-posix.h (test_function): Also check the grouping
32874         flag.
32875         * tests/test-sprintf-posix.h (test_function): Likewise.
32876         * tests/test-vasnprintf-posix.c (test_function): Likewise.
32877         * tests/test-vasprintf-posix.c (test_function): Likewise.
32878         * doc/functions/fprintf.texi: Update.
32879         * doc/functions/printf.texi: Update.
32880         * doc/functions/snprintf.texi: Update.
32881         * doc/functions/sprintf.texi: Update.
32882         * doc/functions/vfprintf.texi: Update.
32883         * doc/functions/vprintf.texi: Update.
32884         * doc/functions/vsnprintf.texi: Update.
32885         * doc/functions/vsprintf.texi: Update.
32886
32887 2007-05-01  Bruno Haible  <bruno@clisp.org>
32888
32889         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
32890
32891 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
32892
32893         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
32894         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
32895
32896 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
32897
32898         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
32899         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
32900         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
32901
32902 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
32903
32904         * lib/argp-help.c (struct hol_entry): New member `ord'.
32905         (HOL_ENTRY_PTRCMP): Use ord for comparison
32906         (hol_sort): Initialize ord.
32907
32908 2007-05-01  Bruno Haible  <bruno@clisp.org>
32909
32910         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
32911         Reported by Eric Blake.
32912         * doc/gnulib.texi (Function Substitutes): Update.
32913
32914 2007-05-01  Bruno Haible  <bruno@clisp.org>
32915
32916         * doc/functions.texi: Remove file, now redundant through
32917         doc/functions/*.texi.
32918
32919 2007-05-01  Bruno Haible  <bruno@clisp.org>
32920
32921         * modules/argp (Depends-on): Add sleep.
32922
32923 2007-05-01  Bruno Haible  <bruno@clisp.org>
32924
32925         * modules/sleep-tests: New file.
32926         * tests/test-sleep.c: New file.
32927
32928         * modules/sleep: New file.
32929         * lib/sleep.c: New file.
32930         * m4/sleep.m4: New file.
32931         * lib/unistd_.h (sleep): New declaration.
32932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
32933         HAVE_SLEEP.
32934         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
32935         * doc/functions/sleep.texi: Document the sleep module.
32936
32937 2007-05-01  Bruno Haible  <bruno@clisp.org>
32938
32939         * lib/sigprocmask.h: Remove file.
32940         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
32941         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
32942         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
32943         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
32944         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
32945         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
32946         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
32947         HAVE_SIGSET_T as a shell variable.
32948         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
32949         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
32950         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
32951         (Depends-on): Add signal. Remove verify.
32952         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
32953         (Include): Mention <signal.h> instead of sigprocmask.h.
32954         * NEWS: Mention the change.
32955         * lib/fatal-signal.c: Don't include sigprocmask.h.
32956
32957 2007-05-01  Bruno Haible  <bruno@clisp.org>
32958
32959         * modules/signal: New file.
32960         * lib/signal_.h: New file.
32961         * m4/signal_h.m4: New file.
32962
32963 2007-05-01  Bruno Haible  <bruno@clisp.org>
32964
32965         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
32966         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
32967         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
32968         HAVE_WCTYPE_CTMP_BUG into wctype.h.
32969
32970 2007-05-01  Bruno Haible  <bruno@clisp.org>
32971
32972         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
32973         configure time.
32974         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
32975         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
32976         * modules/sys_stat (Makefile.am): Substitute their values into
32977         sys/stat.h.
32978
32979 2007-05-01  Bruno Haible  <bruno@clisp.org>
32980
32981         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
32982         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
32983         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
32984
32985 2007-05-01  Bruno Haible  <bruno@clisp.org>
32986
32987         * doc/header/assert.texi: Undo last change: don't mention the gnulib
32988         'assert' module here.
32989
32990 2007-05-01  Bruno Haible  <bruno@clisp.org>
32991
32992         * doc/functions/*.texi: New files.
32993         * doc/functions/google-ranking.txt: New file.
32994         * doc/gnulib.texi (Function Substitutes): New chapter.
32995         (ctime, inet_ntoa): Remove sections.
32996         * doc/ctime.texi: Remove file.
32997         * doc/inet_ntoa.texi: Remove file.
32998         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
32999         dependencies.
33000         (%.info): New rule, specifying a --reference-limit.
33001
33002 2007-05-01  Bruno Haible  <bruno@clisp.org>
33003
33004         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
33005
33006 2007-05-01  Bruno Haible  <bruno@clisp.org>
33007
33008         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
33009         the portability of 'mkdir' to mingw systems.
33010
33011 2007-05-01  Bruno Haible  <bruno@clisp.org>
33012
33013         * doc/headers/google-ranking.txt: New file.
33014
33015 2007-04-30  Eric Blake  <ebb9@byu.net>
33016
33017         Prefer fseeko to fseek.
33018         * modules/getpass (Depends-on): Add fseeko.
33019         * lib/getpass.c (getpass): Use fseeko, not fseek.
33020
33021 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
33022
33023         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
33024         assumes the sorting is stable, while most qsort implementations
33025         are not.  Use argument addresses to ensure they never compare as
33026         equal.
33027
33028         * tests/test-argp-2.sh (usage-indent test): Fix output
33029         (func_compare): Restore diff options
33030         * tests/test-argp.c: Restore #include "progname.h"
33031
33032 2007-04-29  Bruno Haible  <bruno@clisp.org>
33033
33034         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
33035         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
33036         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
33037         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33038         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
33039         (configure.ac): Define CHECK_SNPRINTF_POSIX.
33040         (TESTS, check_PROGRAMS): Add test-snprintf.
33041         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
33042         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
33043         (TESTS, check_PROGRAMS): Add test-vsnprintf.
33044         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
33045         assertions that fail on HP-UX, OSF/1, or IRIX.
33046         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
33047
33048 2007-04-29  Bruno Haible  <bruno@clisp.org>
33049
33050         * MODULES.html.sh (posix_functions): Remove 'contents'.
33051
33052 2007-04-29  Karl Berry  <karl@gnu.org>
33053
33054         * config/srclist.txt (gendocs_template_min): new entry.
33055
33056 2007-04-29  Bruno Haible  <bruno@clisp.org>
33057
33058         Work around fpurge bug on BSD systems.
33059         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
33060         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
33061         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
33062         fpurge to rpl_fpurge if the system already has this function.
33063         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
33064         the case where the system already has this function. Correct invariants
33065         on BSD systems.
33066         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
33067         BSD systems.
33068
33069 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
33070
33071         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
33072         proposed by Sven Verdoolaege.
33073
33074         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
33075         options.
33076         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
33077         (usage and help tests): Update
33078
33079 2007-04-29  Bruno Haible  <bruno@clisp.org>
33080
33081         * tests/test-fflush.c (main): Use a file of size 17, not 10.
33082         Print more information in case of failure. Disable a test on BeOS.
33083
33084 2007-04-29  Bruno Haible  <bruno@clisp.org>
33085
33086         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
33087         This helps debugging on systems on which no gdb is available.
33088
33089 2007-04-29  Bruno Haible  <bruno@clisp.org>
33090
33091         * lib/freading.h: Improve comments.
33092         * lib/fwriting.h: Likewise.
33093         * tests/test-freading.c (main): Don't check freading immediately after
33094         repositioning. Needed for glibc.
33095
33096 2007-04-29  Bruno Haible  <bruno@clisp.org>
33097
33098         * lib/freading.c (freading): Trivial simplification.
33099
33100 2007-04-28  Bruno Haible  <bruno@clisp.org>
33101
33102         * tests/test-fwriting.c (main): Also test the interaction between
33103         fflush and fwriting.
33104         * modules/fwriting-tests (Depends-on): Add fflush.
33105
33106         * tests/test-freading.c (main): Also test the interaction between
33107         fflush and freading.
33108         * modules/freading-tests (Depends-on): Add fflush.
33109
33110 2007-04-28  Bruno Haible  <bruno@clisp.org>
33111
33112         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
33113         fseeko and ftello.
33114         Suggested by Eric Blake.
33115
33116 2007-04-28  Jim Meyering  <jim@meyering.net>
33117
33118         Avoid false-negative in gl_STDINT_H's C99 conformance test.
33119         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
33120         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
33121
33122 2007-04-27  Eric Blake  <ebb9@byu.net>
33123
33124         * doc/headers/assert.texi (assert.h): Document assert module use.
33125
33126 2007-04-27  Bruno Haible  <bruno@clisp.org>
33127
33128         * doc/headers/*.texi: New files.
33129         * doc/gnulib.texi (Header File Substitutes): New chapter.
33130         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
33131         dependencies.
33132         (standards.info ,standards.html, standards.dvi): Update dependencies.
33133         (mostlyclean, clean): New targets.
33134
33135 2007-04-27  Bruno Haible  <bruno@clisp.org>
33136
33137         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
33138         * modules/sysexits (Files, Makefile.am): Update.
33139
33140         * lib/sys_socket_.h: Renamed from lib/socket_.h.
33141         * modules/sys_socket (Files, Makefile.am): Update.
33142
33143         * lib/sys_stat_.h: Renamed from lib/stat_.h.
33144         * modules/sys_stat (Files, Makefile.am): Update.
33145
33146 2007-04-27  Eric Blake  <ebb9@byu.net>
33147
33148         * lib/freading.h: Improve comments.
33149         * lib/fwriting.h: Likewise.
33150         * lib/fflush.c: Likewise.
33151
33152         Fix closein for mingw.
33153         * modules/closein-tests: Add tests for closein.
33154         * tests/test-closein.c: New file.
33155         * tests/test-closein.sh: Likewise.
33156         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
33157         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
33158
33159 2007-04-27  Bruno Haible  <bruno@clisp.org>
33160
33161         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
33162         version is < 6.
33163         * lib/math_.h [__DECC]: Likewise.
33164         * lib/stdio_.h [__DECC]: Likewise.
33165         * lib/stdlib_.h [__DECC]: Likewise.
33166         * lib/string_.h [__DECC]: Likewise.
33167         * lib/time_.h [__DECC]: Likewise.
33168         * lib/wchar_.h [__DECC]: Likewise.
33169         * lib/wctype_.h [__DECC]: Likewise.
33170
33171 2007-04-27  Bruno Haible  <bruno@clisp.org>
33172
33173         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
33174
33175 2007-04-27  Bruno Haible  <bruno@clisp.org>
33176
33177         * lib/fflush.c: Add comments.
33178         * modules/fpurge-tests (Depends-on): Add fflush.
33179         * modules/freadable-tests (Depends-on): Likewise.
33180         * modules/fwritable-tests (Depends-on): Likewise.
33181
33182 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
33183
33184         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
33185         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
33186         Report by Bruno Haible <bruno@clisp.org>.
33187
33188 2007-04-26  Eric Blake  <ebb9@byu.net>
33189
33190         Fix fflush on mingw.
33191         * modules/fflush (Depends-on): Add freading.
33192         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
33193         but unread data.
33194
33195 2007-04-26  Eric Blake  <ebb9@byu.net>
33196         and Bruno Haible  <bruno@clisp.org>
33197
33198         Implement freading and fwriting.
33199         * lib/freading.c: New file.
33200         * lib/freading.h: Likewise.
33201         * m4/freading.m4: Likewise.
33202         * modules/freading: Likewise.
33203         * modules/freading-tests: Likewise.
33204         * tests/test-freading.c: Likewise.
33205         * lib/fwriting.c: New file.
33206         * lib/fwriting.h: Likewise.
33207         * m4/fwriting.m4: Likewise.
33208         * modules/fwriting: Likewise.
33209         * modules/fwriting-tests: Likewise.
33210         * tests/test-fwriting.c: Likewise.
33211         * MODULES.html.sh (File stream based Input/Output): Mention them.
33212
33213 2007-04-26  Bruno Haible  <bruno@clisp.org>
33214
33215         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
33216         'long' when we assume it.
33217         Suggested by Eric Blake.
33218
33219 2007-04-26  Bruno Haible  <bruno@clisp.org>
33220
33221         Ensure fseeko, ftello are declared on glibc systems.
33222         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
33223         * modules/fseeko (configure.ac-early): Likewise.
33224         * modules/ftello (configure.ac-early): Likewise.
33225         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
33226         AC_FUNC_FSEEKO for this.
33227         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
33228         (gl_CHECK_FSEEKO): Remove macro.
33229
33230 2007-04-26  Bruno Haible  <bruno@clisp.org>
33231
33232         * tests/test-fflush.c (main): Also check the ftell result after
33233         fflush and fseek/fseeko.
33234         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
33235         file descriptor position cache in the stream.
33236         * lib/fseeko.c (rpl_fseeko): Likewise.
33237
33238 2007-04-26  Bruno Haible  <bruno@clisp.org>
33239
33240         * modules/fflush-tests (Depends-on): Add fseeko.
33241
33242 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
33243             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33244
33245         * lib/argz_.h: ensure error_t definition is obtained in same
33246         mechanism system argz.h would have.
33247         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
33248         argz facilities are known bad.  Err on the side of caution if
33249         cross-compiling.
33250
33251 2007-04-25  Eric Blake  <ebb9@byu.net>
33252
33253         * lib/fpurge.c (includes): Use stdlib.h for free.
33254         * tests/test-fflush.c (main): Also test fflush-fseeko.
33255
33256 2007-04-25  Bruno Haible  <bruno@clisp.org>
33257
33258         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
33259         * lib/fseeko.c: New file.
33260         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
33261         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
33262         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
33263         gl_FUNC_FSEEKO.
33264         (gl_FUNC_FSEEKO): Invoke it.
33265         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
33266         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
33267         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
33268
33269 2007-04-25  Bruno Haible  <bruno@clisp.org>
33270
33271         * modules/fflush (Depends-on): Add ftello.
33272
33273 2007-04-25  Bruno Haible  <bruno@clisp.org>
33274
33275         * modules/ftello-tests: New file.
33276         * tests/test-ftello.c: New file.
33277
33278         * modules/ftello: New file.
33279         * m4/ftello.m4: New file.
33280         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
33281         HAVE_FTELLO.
33282         * lib/stdio_.h (ftello): New declaration.
33283         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
33284         HAVE_FTELLO.
33285
33286 2007-04-25  Bruno Haible  <bruno@clisp.org>
33287
33288         * modules/fseeko-tests: New file.
33289         * tests/test-fseeko.c: New file.
33290
33291         * modules/fseeko: New file.
33292         * m4/fseeko.m4: New file.
33293         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
33294         HAVE_FSEEKO.
33295         * lib/stdio_.h (fseeko): New declaration.
33296         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
33297         HAVE_FSEEKO.
33298
33299 2007-04-25  Bruno Haible  <bruno@clisp.org>
33300
33301         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
33302
33303 2007-04-25  Bruno Haible  <bruno@clisp.org>
33304
33305         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
33306         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
33307         * tests/test-unistd.c: Likewise.
33308         * tests/test-fcntl.c: Likewise.
33309
33310 2007-04-23  Eric Blake  <ebb9@byu.net>
33311
33312         * lib/fflush.c: Fix missing include.
33313         Reported by Bruno Haible.
33314
33315 2007-04-23  Bruno Haible  <bruno@clisp.org>
33316
33317         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
33318         Reported by Eric Blake.
33319
33320 2007-04-23  Bruno Haible  <bruno@clisp.org>
33321
33322         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
33323
33324 2007-04-23  Bruno Haible  <bruno@clisp.org>
33325
33326         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
33327
33328 2007-04-23  Bruno Haible  <bruno@clisp.org>
33329
33330         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
33331         Needed on HP-UX 11.
33332
33333 2007-04-16  Eric Blake  <ebb9@byu.net>
33334
33335         Make fflush rely on fpurge.
33336         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
33337         open coding all variants.
33338         * modules/fflush (Depends-on): Add fpurge and unistd.
33339         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
33340         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
33341
33342         Fix --with-tests compilation on cygwin.
33343         * modules/argmatch-tests (Makefile.am): List gnulib library first
33344         in LDADD.
33345         * modules/argp-tests (Makefile.am): Likewise.
33346         * modules/array-list-tests (Makefile.am): Likewise.
33347         * modules/array-oset-tests (Makefile.am): Likewise.
33348         * modules/avltree-list-tests (Makefile.am): Likewise.
33349         * modules/avltree-oset-tests (Makefile.am): Likewise.
33350         * modules/avltreehash-list-tests (Makefile.am): Likewise.
33351         * modules/carray-list-tests (Makefile.am): Likewise.
33352         * modules/dirname-tests (Makefile.am): Likewise.
33353         * modules/frexp-tests (Makefile.am): Likewise.
33354         * modules/isnanl-tests (Makefile.am): Likewise.
33355         * modules/linked-list-tests (Makefile.am): Likewise.
33356         * modules/linkedhash-list-tests (Makefile.am): Likewise.
33357         * modules/lock-tests (Makefile.am): Likewise.
33358         * modules/rbtree-list-tests (Makefile.am): Likewise.
33359         * modules/rbtree-oset-tests (Makefile.am): Likewise.
33360         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
33361         * modules/tls-tests (Makefile.am): Likewise.
33362         * modules/tsearch-tests (Makefile.am): Likewise.
33363         * modules/xvasprintf-tests (Makefile.am): Likewise.
33364
33365         Fix fpurge for cygwin.
33366         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
33367         value.
33368         * modules/fpurge-tests (Depends-on): Clean up trash.
33369
33370 2007-04-16  Simon Josefsson  <simon@josefsson.org>
33371
33372         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
33373
33374         * m4/autobuild.m4: Re-indent.
33375
33376 2007-04-13  Bruno Haible  <bruno@clisp.org>
33377
33378         * modules/fpurge-tests: New file.
33379         * tests/test-fpurge.c: New file.
33380
33381         * modules/fpurge: New file.
33382         * lib/fpurge.h: New file.
33383         * lib/fpurge.c: New file.
33384         * m4/fpurge.m4: New file.
33385
33386 2007-04-13  Bruno Haible  <bruno@clisp.org>
33387
33388         * modules/fbufmode-tests: New file.
33389         * tests/test-fbufmode.c: New file.
33390
33391         * modules/fbufmode: New file.
33392         * lib/fbufmode.h: New file.
33393         * lib/fbufmode.c: New file.
33394         * m4/fbufmode.m4: New file.
33395
33396 2007-04-13  Bruno Haible  <bruno@clisp.org>
33397
33398         * modules/fwritable-tests: New file.
33399         * tests/test-fwritable.c: New file.
33400
33401         * modules/fwritable: New file.
33402         * lib/fwritable.h: New file.
33403         * lib/fwritable.c: New file.
33404         * m4/fwritable.m4: New file.
33405
33406 2007-04-13  Bruno Haible  <bruno@clisp.org>
33407
33408         * modules/freadable-tests: New file.
33409         * tests/test-freadable.c: New file.
33410
33411         * modules/freadable: New file.
33412         * lib/freadable.h: New file.
33413         * lib/freadable.c: New file.
33414         * m4/freadable.m4: New file.
33415
33416 2007-04-13  Bruno Haible  <bruno@clisp.org>
33417
33418         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
33419         MOSTLYCLEANFILES.
33420
33421 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
33422
33423         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
33424         gzip bootstrap.conf to avoid dragging in i18n machinery.
33425         (gnulib_tool_option): Use it.
33426
33427 2007-04-13  Bruno Haible  <bruno@clisp.org>
33428
33429         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
33430         %F directives.
33431         * tests/test-vasprintf-posix.c (test_function): Likewise.
33432         * tests/test-snprintf-posix.h (test_function): Likewise.
33433         * tests/test-sprintf-posix.h (test_function): Likewise.
33434         * tests/test-fprintf-posix.h (test_function): Likewise.
33435         * tests/test-printf-posix.h (test_function): Likewise.
33436         * tests/test-fprintf-posix.out: Likewise.
33437
33438 2007-04-13  Bruno Haible  <bruno@clisp.org>
33439
33440         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
33441         * modules/tls-tests (configure.ac): Likewise.
33442         Reported by Arto C. Nirkko <anirkko@insel.ch>.
33443
33444 2007-04-13  Bruno Haible  <bruno@clisp.org>
33445
33446         * lib/tls.c (glthread_tls_get): Fix return type.
33447         Patch by Arto C. Nirkko <anirkko@insel.ch>.
33448
33449 2007-04-12  Eric Blake  <ebb9@byu.net>
33450
33451         * modules/gettime (Depends-on): Remove gettime.
33452         Reported by Dmitry V. Levin.
33453
33454 2007-04-12  Bruno Haible  <bruno@clisp.org>
33455
33456         * modules/fflush (Include): Mention <stdio.h>.
33457         * modules/strtoimax (Include): Mention <inttypes.h>.
33458         * modules/strtoumax (Include): Likewise.
33459
33460 2007-04-12  Eric Blake  <ebb9@byu.net>
33461
33462         * .cvsignore: New file.
33463         * .gitignore: Likewise.
33464
33465 2007-04-12  Bruno Haible  <bruno@clisp.org>
33466
33467         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
33468         not before, since $(LDADD) often contains libgnu.a.
33469         * modules/striconv-tests (test_striconv_LDADD): Likewise.
33470         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
33471         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
33472         Needed on Cygwin.
33473
33474 2007-04-12  Eric Blake  <ebb9@byu.net>
33475
33476         Work around glibc's failure to flush stdin on fclose.
33477         * lib/closein.c (close_stdin): Flush stdin before closing.
33478
33479         Work around glibc's failure to reset seekable stdin on exit.
33480         * modules/closein: New module.
33481         * lib/closein.c: New file.
33482         * lib/closein.h: Likewise.
33483         * m4/closein.m4: Likewise.
33484         * MODULES.html.sh (File stream based Input/Output): Document it.
33485
33486 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33487
33488         * gnulib-tool: Rename generated 'autobuild' script to
33489         'do-autobuild' in --create-megatestdir output.
33490
33491         * doc/gnulib.texi (Build robot for gnulib): Fix.
33492
33493 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33494
33495         * modules/sysexits (Depends-on): Add absolute-header.
33496
33497 2007-04-12  Eric Blake  <ebb9@byu.net>
33498
33499         No need to preserve errno on success.
33500         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
33501         Reported by Bruno Haible.
33502
33503 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33504
33505         * MODULES.html.sh (Support for maintaining and releasing
33506         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
33507
33508 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33509
33510         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
33511
33512 2007-04-12  Simon Josefsson  <simon@josefsson.org>
33513
33514         * modules/autobuild: New module.
33515
33516         * m4/autobuild.m4: New file.
33517
33518 2007-04-11  Bruno Haible  <bruno@clisp.org>
33519
33520         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
33521         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
33522         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
33523         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
33524         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33525         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33526         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33527         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
33528         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33529         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33530         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
33531         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33532         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33533         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
33534         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33535         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33536         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
33537         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33538         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33539         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
33540         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33541         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33542         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
33543         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33544         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33545         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
33546         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
33547         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
33548         Reported by Eric Blake.
33549
33550 2007-04-11  Bruno Haible  <bruno@clisp.org>
33551
33552         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
33553
33554 2007-04-10  Bruno Haible  <bruno@clisp.org>
33555
33556         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
33557         for NaN and Infinity. Needed on FreeBSD 6.1.
33558         * tests/test-vasnprintf-posix.c (test_function): Undo last change
33559         regarding results for "%010a" of Infinity and NaN.
33560         * tests/test-vasprintf-posix.c (test_function): Likewise.
33561         * tests/test-snprintf-posix.h (test_function): Likewise.
33562         * tests/test-sprintf-posix.h (test_function): Likewise.
33563         * tests/test-fprintf-posix.h (test_function): Likewise.
33564         * tests/test-printf-posix.h (test_function): Likewise.
33565         * tests/test-fprintf-posix.out: Likewise.
33566
33567 2007-04-10  Bruno Haible  <bruno@clisp.org>
33568
33569         * modules/locale-tests: New file.
33570         * tests/test-locale.c: New file.
33571
33572         * modules/locale: New file.
33573         * lib/locale_.h: New file.
33574         * m4/locale_h.m4: New file.
33575
33576 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
33577             Bruno Haible  <bruno@clisp.org>
33578
33579         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
33580         be determined, test for availability of the copysignf, copysign,
33581         copysignl functions.
33582         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
33583         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
33584         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
33585
33586 2007-04-09  Eric Blake  <ebb9@byu.net>
33587
33588         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
33589         * modules/stdio (Makefile.am): Support fflush.
33590         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
33591         * modules/fflush: New file.
33592         * lib/fflush.c: Likewise.
33593         * m4/fflush.m4: Likewise.
33594         * modules/fflush-tests: New test.
33595         * tests/test-fflush.c: Likewise.
33596         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
33597
33598 2007-04-06  Bruno Haible  <bruno@clisp.org>
33599
33600         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
33601         (VASNPRINTF): Use signbit for faster determination whether to print a
33602         minus sign.
33603         * modules/vasnprintf (Files): Remove lib/float+.h.
33604         * modules/fprintf-posix (Depends-on): Add signbit.
33605         * modules/snprintf-posix (Depends-on): Likewise.
33606         * modules/sprintf-posix (Depends-on): Likewise.
33607         * modules/vasnprintf-posix (Depends-on): Likewise.
33608         * modules/vasprintf-posix (Depends-on): Likewise.
33609         * modules/vfprintf-posix (Depends-on): Likewise.
33610         * modules/vsnprintf-posix (Depends-on): Likewise.
33611         * modules/vsprintf-posix (Depends-on): Likewise.
33612
33613 2007-04-06  Bruno Haible  <bruno@clisp.org>
33614
33615         * tests/test-frexp.c (main): Test also the sign bit of zero results.
33616         * tests/test-frexpl.c (main): Likewise.
33617         * tests/test-ldexpl.c (main): Likewise.
33618         * modules/frexp-tests (Depends-on): Add signbit.
33619         * modules/frexpl-tests (Depdends-on): Likewise.
33620         * modules/ldexpl-tests (Depdends-on): Likewise.
33621
33622 2007-04-06  Bruno Haible  <bruno@clisp.org>
33623
33624         * modules/signbit-tests: New file.
33625         * tests/test-signbit.c: New file.
33626
33627         * modules/signbit: New file.
33628         * lib/signbitf.c: New file.
33629         * lib/signbitd.c: New file.
33630         * lib/signbitl.c: New file.
33631         * m4/signbit.m4: New file.
33632         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
33633         (signbit): New macro.
33634         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
33635         REPLACE_SIGNBIT.
33636         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
33637         REPLACE_FREXPL into math.h.
33638
33639 2007-04-06  Bruno Haible  <bruno@clisp.org>
33640
33641         * modules/isnanf-nolibm-tests: New file.
33642         * tests/test-isnanf.c: New file.
33643
33644         * modules/isnanf-nolibm: New file.
33645         * lib/isnanf.h: New file.
33646         * lib/isnanf.c: New file.
33647         * lib/isnan.c: Consider the USE_FLOAT macro.
33648         * m4/isnanf.m4: New file.
33649
33650 2007-04-06  Bruno Haible  <bruno@clisp.org>
33651
33652         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
33653         (Link): New section.
33654
33655         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
33656
33657 2007-04-06  Bruno Haible  <bruno@clisp.org>
33658
33659         Assume the 'long double' type.
33660         * m4/longdouble.m4: Remove file.
33661         * config/srclist.txt: Don't mention longdouble.m4.
33662         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
33663         * lib/float+.h: Likewise.
33664         * lib/frexp.c: Likewise.
33665         * lib/printf-args.h: Likewise.
33666         * lib/printf-args.c: Likewise.
33667         * lib/printf-frexp.c: Likewise.
33668         * lib/printf-parse.c: Likewise.
33669         * lib/vasnprintf.c: Likewise.
33670         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
33671         * m4/intl.m4: Likewise.
33672         * m4/isnanl.m4: Likewise.
33673         * m4/printf.m4: Likewise.
33674         * m4/printf-frexpl.m4: Likewise.
33675         * m4/vasnprintf.m4: Likewise.
33676         * modules/allocsa (Files): Remove m4/longdouble.m4.
33677         * modules/gettext (Files): Likewise.
33678         * modules/relocatable-prog-wrapper (Files): Likewise.
33679         * modules/vasnprintf (Files): Likewise.
33680         * modules/isnanl (Files): Likewise.
33681         (Include): Simplify.
33682         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
33683         (Include): Simplify.
33684         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
33685         (Include): Simplify.
33686         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
33687         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33688         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
33689         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33690         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
33691         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33692         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
33693         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33694         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
33695         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33696         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
33697         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
33698         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
33699         * tests/test-isnanl.c: Likewise.
33700         * tests/test-snprintf-posix.h: Likewise.
33701         * tests/test-sprintf-posix.h: Likewise.
33702         * tests/test-vasnprintf-posix.c: Likewise.
33703         * tests/test-vasnprintf-posix2.c: Likewise.
33704         * tests/test-vasprintf-posix.c: Likewise.
33705
33706 2007-04-06  Bruno Haible  <bruno@clisp.org>
33707
33708         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
33709         * lib/math_.h [__DECC]: Include the overridden include file through
33710         #include_next, outside the double-inclusion guard.
33711         * lib/stdio_.h [__DECC]: Likewise.
33712         * lib/stdlib_.h [__DECC]: Likewise.
33713         * lib/string_.h [__DECC]: Likewise.
33714         * lib/time_.h [__DECC]: Likewise.
33715         * lib/wchar_.h [__DECC]: Likewise.
33716         * lib/wctype_.h [__DECC]: Likewise.
33717         * lib/inttypes_.h [__DECC]: Likewise.
33718         Reported by Albert Chin <china@thewrittenword.com> in
33719         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
33720
33721 2007-04-04  Eric Blake  <ebb9@byu.net>
33722
33723         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
33724         1.5.x.
33725
33726 2007-04-04  Bruno Haible  <bruno@clisp.org>
33727
33728         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
33729         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
33730
33731 2007-04-04  Bruno Haible  <bruno@clisp.org>
33732
33733         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
33734         results for "%010a" of Infinity and NaN.
33735         * tests/test-vasprintf-posix.c (test_function): Likewise.
33736         * tests/test-snprintf-posix.h (test_function): Likewise.
33737         * tests/test-sprintf-posix.h (test_function): Likewise.
33738         * tests/test-fprintf-posix.h (test_function): Remove these tests.
33739         * tests/test-printf-posix.h (test_function): Likewise.
33740         * tests/test-fprintf-posix.out: Update.
33741         Needed for FreeBSD 6.1.
33742
33743 2007-04-04  Bruno Haible  <bruno@clisp.org>
33744
33745         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
33746         directly used by the gnulib modules nor by gnulib-tool.
33747
33748 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
33749
33750         * DEPENDENCIES: Give overall description of version dependency
33751         desirability.  Use more-typical names for apps.
33752         Add shell, coreutils, diffutils, grep, tar, gzip.
33753
33754 2007-04-04  Simon Josefsson  <simon@josefsson.org>
33755
33756         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
33757
33758 2007-04-04  Karl Berry  <karl@gnu.org>
33759
33760         * MODULES.html.sh (func_module): missing '.
33761
33762 2007-04-03  Bruno Haible  <bruno@clisp.org>
33763
33764         * modules/argmatch-tests (Makefile.am): New variable
33765         test_argmatch_LDADD.
33766         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
33767         * modules/array-list-tests (Makefile.am): New variable
33768         test_array_list_LDADD.
33769         * modules/array-oset-tests (Makefile.am): New variable
33770         test_array_oset_LDADD.
33771         * modules/avltree-list-tests (Makefile.am): New variable
33772         test_avltree_list_LDADD.
33773         * modules/avltree-oset-tests (Makefile.am): New variable
33774         test_avltree_oset_LDADD.
33775         * modules/avltreehash-list-tests (Makefile.am): New variable
33776         test_avltreehash_list_LDADD.
33777         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
33778         test_canonicalize_lgpl_LDADD.
33779         * modules/carray-list-tests (Makefile.am): New variable
33780         test_carray_list_LDADD.
33781         * modules/dirname-tests (Makefile.am): New variable
33782         test_dirname_LDADD.
33783         * modules/linked-list-tests (Makefile.am): New variable
33784         test_linked_list_LDADD.
33785         * modules/linkedhash-list-tests (Makefile.am): New variable
33786         test_linkedhash_list_LDADD.
33787         * modules/rbtree-list-tests (Makefile.am): New variable
33788         test_rbtree_list_LDADD.
33789         * modules/rbtree-oset-tests (Makefile.am): New variable
33790         test_rbtree_oset_LDADD.
33791         * modules/rbtreehash-list-tests (Makefile.am): New variable
33792         test_rbtreehash_list_LDADD.
33793         * modules/xvasprintf-tests (Makefile.am): New variable
33794         test_xvasprintf_LDADD.
33795         Reported by Eric Blake.
33796
33797 2007-04-03  Eric Blake  <ebb9@byu.net>
33798
33799         * DEPENDENCIES: Weaken m4 requirements.
33800
33801 2007-04-03  Bruno Haible  <bruno@clisp.org>
33802
33803         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
33804         * modules/isnanl-tests (configure.ac): Likewise.
33805
33806 2007-04-03  Ben Pfaff  <blp@gnu.org>
33807
33808         * modules/iconv_open: Add $(srcdir)/ to source directory
33809         references in Makefile fragments that call gperf, to fix VPATH
33810         builds.
33811
33812 2007-04-03  Bruno Haible  <bruno@clisp.org>
33813
33814         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
33815         * lib/ldexpl.c: Undo last change.
33816
33817 2007-04-03  Bruno Haible  <bruno@clisp.org>
33818
33819         * modules/printf-frexpl (Depends-on): Undo last change.
33820         (Files): Add m4/ldexpl.m4.
33821
33822 2007-04-03  Bruno Haible  <bruno@clisp.org>
33823
33824         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
33825         * modules/isnanl (Link): New section.
33826
33827         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
33828         * modules/frexp (Link): New section.
33829
33830         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
33831         * modules/frexpl (Link): New section.
33832
33833         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
33834         * modules/ldexpl (Link): New section.
33835
33836 2007-04-03  Bruno Haible  <bruno@clisp.org>
33837
33838         * modules/TEMPLATE-EXTENDED: New file.
33839         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
33840
33841 2007-04-03  Bruno Haible  <bruno@clisp.org>
33842
33843         * DEPENDENCIES: New file.
33844         Suggested by Simon Josefsson.
33845
33846 2007-04-03  Bruno Haible  <bruno@clisp.org>
33847
33848         * doc/gnulib.texi: Escape @.
33849
33850 2007-04-03  James Youngman  <jay@gnu.org>
33851         and Paul Eggert  <eggert@cs.ucla.edu>
33852
33853         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
33854         birthtime on all systems that have birthtime, not just those which
33855         use st_birthtimensec rather than st_birthtim.  Putting zero in
33856         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
33857         that the birth time is not available for files on an NFS mount.
33858
33859 2007-04-03  Simon Josefsson  <simon@josefsson.org>
33860
33861         * modules/memxor: Move back from crypto/, suggested by Bruno.
33862         * modules/crypto/hmac-sha1: Fix memxor dependency.
33863
33864         * modules/crypto/gc: Moved from ../.
33865
33866 2007-04-02  Eric Blake  <ebb9@byu.net>
33867
33868         * lib/ldexpl.c (includes): Avoid libm.
33869
33870         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
33871
33872 2007-04-02  Bruno Haible  <bruno@clisp.org>
33873
33874         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
33875         on IRIX.
33876
33877 2007-04-02  Bruno Haible  <bruno@clisp.org>
33878
33879         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
33880         x86 or x86_64 platforms running MacOS X.
33881         Reported by Ryan Schmidt <@ryandesign.com>.
33882
33883 2007-04-02  Bruno Haible  <bruno@clisp.org>
33884
33885         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
33886         i386.
33887
33888 2007-04-01  Simon Josefsson  <simon@josefsson.org>
33889
33890         * modules/crypto/arcfour: Moved from ../.
33891         * modules/crypto/arcfour-tests: Moved from ../.
33892         * modules/crypto/arctwo: Moved from ../.
33893         * modules/crypto/arctwo-tests: Moved from ../.
33894         * modules/crypto/des: Moved from ../.
33895         * modules/crypto/des-tests: Moved from ../.
33896         * modules/crypto/gc-arcfour: Moved from ../.
33897         * modules/crypto/gc-arcfour-tests: Moved from ../.
33898         * modules/crypto/gc-arctwo: Moved from ../.
33899         * modules/crypto/gc-arctwo-tests: Moved from ../.
33900         * modules/crypto/gc-des: Moved from ../.
33901         * modules/crypto/gc-des-tests: Moved from ../.
33902         * modules/crypto/gc-hmac-md5: Moved from ../.
33903         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
33904         * modules/crypto/gc-hmac-sha1: Moved from ../.
33905         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
33906         * modules/crypto/gc-md2: Moved from ../.
33907         * modules/crypto/gc-md2-tests: Moved from ../.
33908         * modules/crypto/gc-md4: Moved from ../.
33909         * modules/crypto/gc-md4-tests: Moved from ../.
33910         * modules/crypto/gc-md5: Moved from ../.
33911         * modules/crypto/gc-md5-tests: Moved from ../.
33912         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
33913         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
33914         * modules/crypto/gc-random: Moved from ../.
33915         * modules/crypto/gc-rijndael: Moved from ../.
33916         * modules/crypto/gc-rijndael-tests: Moved from ../.
33917         * modules/crypto/gc-sha1: Moved from ../.
33918         * modules/crypto/gc-sha1-tests: Moved from ../.
33919         * modules/crypto/gc-tests: Moved from ../.
33920         * modules/crypto/hmac-md5: Moved from ../.
33921         * modules/crypto/hmac-md5-tests: Moved from ../.
33922         * modules/crypto/hmac-sha1: Moved from ../.
33923         * modules/crypto/hmac-sha1-tests: Moved from ../.
33924         * modules/crypto/md2: Moved from ../.
33925         * modules/crypto/md2-tests: Moved from ../.
33926         * modules/crypto/md4: Moved from ../.
33927         * modules/crypto/md4-tests: Moved from ../.
33928         * modules/crypto/md5: Moved from ../.
33929         * modules/crypto/md5-tests: Moved from ../.
33930         * modules/crypto/memxor: Moved from ../.
33931         * modules/crypto/rijndael: Moved from ../.
33932         * modules/crypto/rijndael-tests: Moved from ../.
33933         * modules/crypto/sha1: Moved from ../.
33934
33935 2007-03-30  James Youngman  <jay@gnu.org>
33936
33937         * tests/test-stat-time.c (prepare_test): use chmod() rather than
33938         rename() to change the ctime of a file (because ctime is unaffected
33939         by rename on jfs2 on AIX 5.1).
33940         (main): Start by doing cleanup, in case a previous run failed leaving
33941         test files behind.
33942
33943 2007-03-31  Bruno Haible  <bruno@clisp.org>
33944
33945         Support old proprietary implementations of iconv.
33946         * modules/iconv_open: New file.
33947         * lib/iconv_.h: New file.
33948         * m4/iconv_h.m4: New file.
33949         * lib/iconv_open.c: New file.
33950         * lib/iconv_open-aix.gperf: New file.
33951         * lib/iconv_open-hpux.gperf: New file.
33952         * lib/iconv_open-irix.gperf: New file.
33953         * lib/iconv_open-osf.gperf: New file.
33954         * m4/iconv_open.m4: New file.
33955         * modules/linebreak (Depends-on): Add iconv_open.
33956         * modules/striconv (Depends-on): Likewise.
33957         * modules/striconveh (Depends-on): Likewise.
33958         * modules/unicodeio (Depends-on): Likewise.
33959         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
33960         (iconv_t)(-1).
33961         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
33962         conversion if cd is (iconv_t)(-1).
33963         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
33964         is not possible.
33965
33966 2007-03-31  Bruno Haible  <bruno@clisp.org>
33967
33968         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
33969         work on Solaris either. Protect also second use of "autodetect_jp".
33970
33971 2007-03-31  Bruno Haible  <bruno@clisp.org>
33972
33973         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
33974         the function is not present.
33975
33976 2007-03-31  Bruno Haible  <bruno@clisp.org>
33977
33978         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
33979         the function is not present.
33980
33981 2007-03-31  Bruno Haible  <bruno@clisp.org>
33982
33983         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
33984         a bug in HP-UX iconv_open().
33985
33986 2007-03-31  Bruno Haible  <bruno@clisp.org>
33987
33988         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
33989         (Mathematics <math.h>): New section, add fpieee.
33990         (Input/output <stdio.h>): Add fseterr.
33991         (Mathematics <math.h>): New section, add printf-frexp.
33992         (Container data structures): Add sublist.
33993         (Core language properties): Add fpucw, inline.
33994         (Functions for greatest-width integer types <inttypes.h>): Add
33995         imaxabs, imaxdiv, inttypes.
33996         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
33997         isnanl-nolibm, ldexp.
33998         (Mathematics <math.h>): New section, add printf-frexpl.
33999         (Support for systems lacking POSIX:2001): Add fprintf-posix,
34000         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
34001         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
34002         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
34003         (Unicode string functions): Add unistr/u*-mbtoucr.
34004         (Java): Add javacomp-script, javaexec-script.
34005         (C#): Add csharpcomp-script, csharpexec-script.
34006         (Support for building libraries and executables): Add havelib,
34007         relocatable-*.
34008         (Support for maintaining and releasing projects): Renamed from
34009         'Support for maintaining and release projects'. Add announce-gen.
34010
34011 2007-03-31  Bruno Haible  <bruno@clisp.org>
34012
34013         * README: Talk primarily about git.
34014         (git and CVS): Renamed from CVS.
34015         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
34016         gnulib is available through git.
34017         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
34018
34019 2007-03-30  Bruno Haible  <bruno@clisp.org>
34020
34021         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
34022         * lib/poll_.h: Likewise.
34023         * lib/stat_.h: Likewise.
34024         * lib/sys_time_.h: Likewise.
34025         * lib/sysexit_.h: Likewise.
34026         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
34027         * lib/stdbool_.h: Likewise.
34028         * lib/byteswap_.h: Add double-inclusion guard.
34029
34030 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
34031
34032         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
34033
34034 2007-03-30  Karl Berry  <karl@gnu.org>
34035
34036         * config/srclist-update: double space after USA in the license
34037         substitution, since that's how it's usually (?) written.
34038
34039 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
34040
34041         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
34042         reported by Bruno Haible.
34043
34044 2007-03-29  Bruno Haible  <bruno@clisp.org>
34045
34046         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
34047         a bug in AIX iconv().
34048
34049 2007-03-29  Bruno Haible  <bruno@clisp.org>
34050
34051         * modules/ldexpl-tests: New file.
34052         * tests/test-ldexpl.c: New file.
34053
34054 2007-03-29  Bruno Haible  <bruno@clisp.org>
34055
34056         * lib/ldexpl.c: Include fpucw.h.
34057         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
34058         multiplication.
34059         * modules/ldexpl (Depends-on): Add fpucw.
34060
34061 2007-03-29  Bruno Haible  <bruno@clisp.org>
34062
34063         * modules/ldexpl: New file.
34064         * m4/ldexpl.m4: New file.
34065         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
34066         set.
34067         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
34068         REPLACE_LDEXPL.
34069         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
34070         REPLACE_LDEXPL.
34071         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
34072         gl_FUNC_LDEXPL_WORKS.
34073         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
34074         * modules/mathl (Files): Remove lib/ldexpl.c.
34075         (Depends-on): Add ldexpl.
34076
34077 2007-03-29  Bruno Haible  <bruno@clisp.org>
34078
34079         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
34080
34081 2007-03-29  Bruno Haible  <bruno@clisp.org>
34082
34083         * tests/test-striconveh.c (main): Don't assume that a direct conversion
34084         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
34085         and possibly also HP-UX.
34086         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
34087         work on AIX, IRIX, HP-UX, OSF/1.
34088         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
34089         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
34090         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
34091         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
34092         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
34093         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
34094
34095 2007-03-29  Bruno Haible  <bruno@clisp.org>
34096
34097         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
34098
34099 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
34100
34101         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
34102         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
34103
34104 2007-03-29  Eric Blake  <ebb9@byu.net>
34105
34106         * lib/acl-internal.h: Remove redundant include.
34107         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
34108         Cygwin when a file is locked.
34109
34110 2007-03-29  Bruno Haible  <bruno@clisp.org>
34111
34112         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
34113         file.
34114         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
34115
34116 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
34117
34118         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
34119         try to remove a parent directory if the child couldn't be removed
34120         (except for the first rmdir, which could fail because the child
34121         doesn't exist).  Problem reported by Jeff Blaine in
34122         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
34123
34124 2007-03-28  Bruno Haible  <bruno@clisp.org>
34125
34126         * lib/striconveh.c (utf8conv_carefully): New function.
34127         (mem_cd_iconveh_internal): Invoke it.
34128
34129 2007-03-28  Bruno Haible  <bruno@clisp.org>
34130
34131         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
34132         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
34133         input.
34134         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
34135         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
34136         unistr/u8-uctomb.
34137
34138 2007-03-28  Bruno Haible  <bruno@clisp.org>
34139
34140         * modules/unistr/u8-mbtoucr: New file.
34141         * lib/unistr/u8-mbtoucr.c: New file.
34142         * modules/unistr/u16-mbtoucr: New file.
34143         * lib/unistr/u16-mbtoucr.c: New file.
34144         * modules/unistr/u16-mbtoucr: New file.
34145         * lib/unistr/u16-mbtoucr.c: New file.
34146         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
34147
34148 2007-03-27  Simon Josefsson  <simon@josefsson.org>
34149             Bruno Haible  <bruno@clisp.org>
34150
34151         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
34152         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
34153         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
34154
34155         * m4/stdio_h.m4: Add stubs for vasprintf too.
34156
34157         * modules/stdio: Support vasprintf in sed command.
34158
34159         * modules/vasprintf: Depend on stdio for prototypes.  Remove
34160         vasprintf.h.  Add stdio module indicator.
34161
34162         * lib/stdio_.h: Declare asprintf and vasprintf, based on
34163         vasprintf.h.
34164
34165         * lib/vasprintf.h: File removed.
34166
34167         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
34168         * lib/vasprintf.c: Ditto.
34169         * lib/xvasprintf.c: Ditto.
34170         * tests/test-vasprintf-posix.c: Ditto.
34171         * tests/test-vasprintf.c: Ditto.
34172
34173 2007-03-27  Bruno Haible  <bruno@clisp.org>
34174
34175         Make vasnprintf multithread-safe.
34176         * lib/vasnprintf.c (decimal_point_char): New function.
34177         (VASNPRINTF): Use it.
34178         Suggested by Simon Josefsson.
34179
34180 2007-03-27  Eric Blake  <ebb9@byu.net>
34181
34182         Support sub-second birthtime on cygwin.
34183         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
34184         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
34185         (get_stat_birthtime): Also work with st_birthtim.
34186
34187 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
34188
34189         * lib/stat-time.h (USE_BIRTHTIME): Remove.
34190         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
34191         (get_stat_birthtime_ns): Do not try to use "spare" fields.
34192         (get_stat_birthtime_ns): Simplify compile-time tests.
34193         (get_stat_birthtime): Change the API to look like
34194         get_stat_mtime etc., except return a negative tv_nsec on error.
34195         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
34196         Don't check for "spare" fields.
34197         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
34198         or for struct stat.st_birthtime, as these tests aren't used.
34199         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
34200
34201 2007-03-27  Bruno Haible  <bruno@clisp.org>
34202
34203         * lib/stat-time.h: Include <sys/stat.h>.
34204
34205 2007-03-27  James Youngman  <jay@gnu.org>
34206
34207         * lib/stat-time.h (get_stat_birthtime): New function for
34208           retrieving st_birthtime as provided by UFS2 (hence *BSD).
34209         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
34210           and its variants.
34211         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
34212         * modules/stat-time-test: New file.
34213         * tests/test-stat-time.c: New test, devised by Bruno Haible.
34214
34215 2007-03-26  Bruno Haible  <bruno@clisp.org>
34216
34217         Better support of signalling NaNs.
34218         * lib/atanl.c: Include isnanl.h.
34219         (atanl): Perform test for NaN at the beginning of the function and
34220         through a call to isnanl.
34221         * lib/cosl.c: Include isnanl.h.
34222         (cosl): Perform test for NaN at the beginning of the function and
34223         through a call to isnanl.
34224         * lib/ldexpl.c: Include isnanl.h.
34225         (ldexpl): Perform test for NaN through a call to isnanl.
34226         * lib/logl.c: Include isnanl.h.
34227         (logl): Perform test for NaN at the beginning of the function and
34228         through a call to isnanl.
34229         * lib/sinl.c: Include isnanl.h.
34230         (sinl): Perform test for NaN at the beginning of the function and
34231         through a call to isnanl.
34232         * lib/sqrtl.c: Include isnanl.h.
34233         (sqrtl): Perform test for NaN at the beginning of the function and
34234         through a call to isnanl.
34235         * lib/tanl.c: Include isnanl.h.
34236         (tanl): Perform test for NaN at the beginning of the function and
34237         through a call to isnanl.
34238         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
34239         * modules/mathl (Depends-on): Add isnanl.
34240
34241 2007-03-26  Eric Blake  <ebb9@byu.net>
34242
34243         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
34244         regression in logic sense of previous patch.
34245
34246 2007-03-26  Bruno Haible  <bruno@clisp.org>
34247
34248         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
34249         unportable shell command "if ! ...".
34250         Reported by Ralf Wildenhues.
34251
34252 2007-03-25  Bruno Haible  <bruno@clisp.org>
34253
34254         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
34255         <sysexits.h> file, and only add EX_CONFIG.
34256         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
34257         absolute file name and whether it is sufficient. Substitute also
34258         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
34259         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
34260         ABSOLUTE_SYSEXITS_H into sysexits.h.
34261
34262 2007-03-25  Bruno Haible  <bruno@clisp.org>
34263
34264         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
34265         hints is NULL.
34266
34267 2007-03-25  Bruno Haible  <bruno@clisp.org>
34268
34269         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
34270         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
34271
34272 2007-03-25  Bruno Haible  <bruno@clisp.org>
34273
34274         * lib/vasnprintf.c: Include langinfo.h.
34275         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
34276         multithread-safe.
34277         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
34278         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
34279         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
34280         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
34281         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
34282         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
34283         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
34284         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
34285         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
34286         Reported by Simon Josefsson.
34287
34288 2007-03-25  Bruno Haible  <bruno@clisp.org>
34289
34290         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
34291         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
34292         * modules/vasnprintf (Depends-on): Add stdint.
34293
34294 2007-03-25  Bruno Haible  <bruno@clisp.org>
34295
34296         * modules/fpieee: New file.
34297         * m4/fpieee.m4: New file.
34298         * modules/isnan-nolibm (Depends-on): Add fpieee.
34299         * modules/isnanl-nolibm (Depends-on): Add fpieee.
34300         * modules/isnanl (Depends-on): Add fpieee.
34301
34302 2007-03-25  Bruno Haible  <bruno@clisp.org>
34303
34304         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
34305
34306 2007-03-25  Bruno Haible  <bruno@clisp.org>
34307
34308         Avoid test failures on IRIX 6.5.
34309         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
34310         (main): Use it.
34311         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
34312         macros.
34313         (main): Use them.
34314
34315 2007-03-25  Bruno Haible  <bruno@clisp.org>
34316
34317         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
34318         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
34319         exists but doesn't work.
34320         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
34321         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
34322         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
34323         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
34324
34325 2007-03-25  Bruno Haible  <bruno@clisp.org>
34326
34327         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
34328         returns inf. Needed on IRIX 6.5.
34329
34330 2007-03-25  Bruno Haible  <bruno@clisp.org>
34331
34332         * tests/test-frexpl.c: Include isnanl-nolibm.h.
34333         (main): Use isnanl instead of x != x idiom.
34334         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
34335
34336         * tests/test-frexp.c: Include isnan.h.
34337         (main): Use isnan instead of x != x idiom.
34338         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
34339
34340 2007-03-25  Bruno Haible  <bruno@clisp.org>
34341
34342         * tests/test-frexp.c (NaN): New function/macro.
34343         (main): Use it instead of 0.0 / 0.0.
34344         * tests/test-isnan.c (NaN): New function/macro.
34345         (main): Use it instead of 0.0 / 0.0.
34346         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
34347         (test_function): Use it instead of 0.0 / 0.0.
34348         * tests/test-vasprintf-posix.c (NaN): New function/macro.
34349         (test_function): Use it instead of 0.0 / 0.0.
34350         * tests/test-snprintf-posix.h (NaN): New function/macro.
34351         (test_function): Use it instead of 0.0 / 0.0.
34352         * tests/test-sprintf-posix.h (NaN): New function/macro.
34353         (test_function): Use it instead of 0.0 / 0.0.
34354         * tests/test-fprintf-posix.h (NaN): New function/macro.
34355         (test_function): Use it instead of 0.0 / 0.0.
34356         * tests/test-printf-posix.h (NaN): New function/macro.
34357         (test_function): Use it instead of 0.0 / 0.0.
34358
34359         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
34360
34361 2007-03-25  Bruno Haible  <bruno@clisp.org>
34362
34363         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
34364
34365 2007-03-25  Bruno Haible  <bruno@clisp.org>
34366
34367         * lib/regexec.c (merge_state_with_log): Make static.
34368
34369 2007-03-25  Bruno Haible  <bruno@clisp.org>
34370
34371         * lib/trigl.c (kernel_rem_pio2): Make static.
34372
34373 2007-03-25  Bruno Haible  <bruno@clisp.org>
34374
34375         * lib/sincosl.c (sincosl_table): Make static.
34376
34377 2007-03-25  Bruno Haible  <bruno@clisp.org>
34378
34379         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
34380         if the compiler does not support C99.
34381
34382 2007-03-25  Bruno Haible  <bruno@clisp.org>
34383
34384         * modules/time (Makefile.am): Ensure all rule action lines start with a
34385         tab.
34386
34387 2007-03-24  Bruno Haible  <bruno@clisp.org>
34388
34389         * modules/tsearch-tests: New file.
34390         * tests/test-tsearch.sh: New file.
34391         * tests/test-tsearch.c: New file, mostly copied from glibc.
34392
34393         * modules/search-tests: New file.
34394         * tests/test-search.c: New file.
34395
34396         * modules/search: New file.
34397         * lib/search_.h: New file, incorporating lib/tsearch.h.
34398         * m4/search_h.m4: New file.
34399         * lib/tsearch.h: Remove file.
34400         * lib/tsearch.c: Include search.h instead of tsearch.h.
34401         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
34402         HAVE_TSEARCH.
34403         * modules/tsearch (Files): Remove lib/tsearch.h.
34404         (Depends-on): Add search.
34405         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
34406         (Include): Change tsearch.h into search.h.
34407
34408 2007-03-24  Bruno Haible  <bruno@clisp.org>
34409
34410         * modules/fpucw: New file.
34411         * lib/fpucw.h: New file.
34412         * lib/frexp.c: Include fpucw.h.
34413         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
34414         (FUNC): Use them.
34415         * lib/printf-frexp.c: Include fpucw.h.
34416         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
34417         (FUNC): Use them.
34418         * lib/vasnprintf.c: Include fpucw.h.
34419         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
34420         'long double' calculations.
34421         * tests/test-frexpl.c: Include fpucw.h.
34422         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
34423         * tests/test-printf-frexpl.c: Include fpucw.h.
34424         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
34425         * modules/frexpl (Depends-on): Add fpucw.
34426         * modules/printf-frexpl (Depends-on): Likewise.
34427         * modules/fprintf-posix (Depends-on): Likewise.
34428         * modules/snprintf-posix (Depends-on): Likewise.
34429         * modules/sprintf-posix (Depends-on): Likewise.
34430         * modules/vasnprintf-posix (Depends-on): Likewise.
34431         * modules/vasprintf-posix (Depends-on): Likewise.
34432         * modules/vfprintf-posix (Depends-on): Likewise.
34433         * modules/vsnprintf-posix (Depends-on): Likewise.
34434         * modules/vsprintf-posix (Depends-on): Likewise.
34435         * modules/frexpl-tests (Depends-on): Likewise.
34436         * modules/printf-frexpl-tests (Depends-on): Likewise.
34437
34438 2007-03-24  Bruno Haible  <bruno@clisp.org>
34439
34440         * lib/float+.h: New file.
34441         * lib/isnan.c: Include float+.h.
34442         (SIZE): New macro.
34443         (FUNC): Compare only SIZE bytes of the value.
34444         * lib/vasnprintf.c: Include float+.h.
34445         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
34446         SIZEOF_LDBL or SIZEOF_DBL bytes.
34447         * modules/isnan-nolibm (Files): Add lib/float+.h.
34448         * modules/isnanl-nolibm (Files): Add lib/float+.h.
34449         * modules/isnanl (Files): Add lib/float+.h.
34450         * modules/vasnprintf (Files): Add lib/float+.h.
34451
34452 2007-03-24  Bruno Haible  <bruno@clisp.org>
34453
34454         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
34455         include isnanl-nolibm.h.
34456
34457 2007-03-24  Bruno Haible  <bruno@clisp.org>
34458
34459         * tests/test-read-file.c (main): Don't produce spurious output for
34460         expected situations. Make the test fail if it encountered unexpected
34461         results.
34462
34463 2007-03-24  Bruno Haible  <bruno@clisp.org>
34464
34465         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
34466         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
34467
34468 2007-03-24  Bruno Haible  <bruno@clisp.org>
34469
34470         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
34471
34472 2007-03-24  Bruno Haible  <bruno@clisp.org>
34473
34474         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
34475         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
34476
34477         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
34478         * modules/utf8-ucs4: Turn into a symbolic link to module
34479         unistr/u8-mbtouc.
34480
34481         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
34482         utf8-ucs4-unsafe.
34483         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
34484         unistr/u8-mbtouc-unsafe.
34485
34486         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
34487         * modules/utf16-ucs4: Turn into a symbolic link to module
34488         unistr/u16-mbtouc.
34489
34490         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
34491         utf16-ucs4-unsafe.
34492         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
34493         unistr/u16-mbtouc-unsafe.
34494
34495         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
34496         * modules/ucs4-utf8: Turn into a symbolic link to module
34497         unistr/u8-ubtomb.
34498
34499         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
34500         * modules/ucs4-utf16: Turn into a symbolic link to module
34501         unistr/u16-ubtomb.
34502
34503 2007-03-24  Bruno Haible  <bruno@clisp.org>
34504
34505         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
34506         Enable the function only if HAVE_INLINE.
34507         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
34508         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
34509         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
34510         Enable the function only if HAVE_INLINE.
34511         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
34512         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
34513         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
34514         Enable the function only if HAVE_INLINE.
34515         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
34516         Enable the function only if HAVE_INLINE.
34517         * modules/utf8-ucs4: Update.
34518         * modules/utf8-ucs4-unsafe: Update.
34519         * modules/utf16-ucs4: Update.
34520         * modules/utf16-ucs4-unsafe: Update.
34521         * modules/ucs4-utf8: Update.
34522         * modules/ucs4-utf16: Update.
34523
34524 2007-03-24  Bruno Haible  <bruno@clisp.org>
34525
34526         * lib/utf8-ucs4.h: Remove file.
34527         * lib/utf8-ucs4-unsafe.h: Remove file.
34528         * lib/utf16-ucs4.h: Remove file.
34529         * lib/utf16-ucs4-unsafe.h: Remove file.
34530         * lib/ucs4-utf8.h: Remove file.
34531         * lib/ucs4-utf16.h: Remove file.
34532         * lib/unistr.h: Include their previous contents.
34533         * m4/utf-ucs4.m4: Remove file.
34534         * m4/ucs4-utf.m4: Remove file.
34535         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
34536         (Depends-on): Add unistr/base.
34537         (configure.ac): Remove gl_UTF_UCS4.
34538         (Makefile.am): Update.
34539         (Include): Change to unistr.h.
34540         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
34541         (Depends-on): Add unistr/base.
34542         (configure.ac): Remove gl_UTF_UCS4.
34543         (Makefile.am): Update.
34544         (Include): Change to unistr.h.
34545         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
34546         (Depends-on): Add unistr/base.
34547         (configure.ac): Remove gl_UTF_UCS4.
34548         (Makefile.am): Update.
34549         (Include): Change to unistr.h.
34550         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
34551         (Depends-on): Add unistr/base.
34552         (configure.ac): Remove gl_UTF_UCS4.
34553         (Makefile.am): Update.
34554         (Include): Change to unistr.h.
34555         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
34556         (Depends-on): Add unistr/base.
34557         (configure.ac): Remove gl_UCS4_UTF.
34558         (Makefile.am): Update.
34559         (Include): Change to unistr.h.
34560         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
34561         (Depends-on): Add unistr/base.
34562         (configure.ac): Remove gl_UCS4_UTF.
34563         (Makefile.am): Update.
34564         (Include): Change to unistr.h.
34565         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
34566         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
34567         utf8-ucs4-unsafe.h.
34568         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
34569         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
34570         utf16-ucs4-unsafe.h.
34571         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
34572         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
34573         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
34574         * lib/unistr/u8-strchr.c: Likewise.
34575         * lib/unistr/u8-strrchr.c: Likewise.
34576         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
34577         * lib/unistr/u16-strchr.c: Likewise.
34578         * lib/unistr/u16-strrchr.c: Likewise.
34579         * lib/striconveh.c: Update.
34580         * lib/linebreak.c: Update.
34581
34582 2007-03-24  Bruno Haible  <bruno@clisp.org>
34583
34584         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
34585         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
34586
34587 2007-03-22  Bruno Haible  <bruno@clisp.org>
34588
34589         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
34590
34591 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
34592
34593         * MODULES.html.sh (File system functions): New module write-any-file.
34594         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
34595         * m4/write-any-file.m4: New files.
34596
34597 2007-03-23  Eric Blake  <ebb9@byu.net>
34598
34599         * gnulib-tool: Rearrange space-tab sequences, since some editors
34600         like to eat them.
34601
34602 2007-03-23  Eric Blake  <ebb9@byu.net>
34603
34604         * lib/version-etc.c (version_etc_va): Update license wording to
34605         be more concise.  Recommended by Richard Stallman.
34606
34607 2007-03-22  Bruno Haible  <bruno@clisp.org>
34608
34609         * lib/poll.c (MSG_PEEK): New fallback definition.
34610
34611 2007-03-22  Bruno Haible  <bruno@clisp.org>
34612
34613         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
34614         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
34615         (main): Update.
34616         Fixes a compilation error on BeOS.
34617
34618 2007-03-22  Bruno Haible  <bruno@clisp.org>
34619
34620         * modules/frexpl-tests: New file.
34621         * tests/test-frexpl.c: New file.
34622
34623         * modules/frexpl: New file.
34624         * m4/frexpl.m4: New file.
34625         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
34626         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
34627         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
34628         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
34629         (Depends-on): Add frexpl. Remove isnanl-nolibm.
34630         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
34631
34632 2007-03-22  Bruno Haible  <bruno@clisp.org>
34633
34634         * lib/frexpl.c: Share code with lib/frexp.c.
34635         * modules/mathl (Files): Add lib/frexp.c.
34636         (Depends-on): Add isnanl-nolibm.
34637
34638 2007-03-22  Bruno Haible  <bruno@clisp.org>
34639
34640         * modules/printf-frexp (Files): Add m4/frexp.m4.
34641         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
34642         only if the found frexp function actually works.
34643
34644 2007-03-22  Bruno Haible  <bruno@clisp.org>
34645
34646         * lib/frexp.c: Remove older implementation that uses divisions.
34647
34648 2007-03-21  Bruno Haible  <bruno@clisp.org>
34649
34650         * modules/frexp-tests: New file.
34651         * tests/test-frexp.c: New file.
34652
34653         * modules/frexp: New file.
34654         * lib/frexp.c: New file.
34655         * m4/frexp.m4: New file.
34656         * lib/math_.h (frexp): New declaration.
34657         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
34658         REPLACE_FREXP.
34659         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
34660
34661 2007-03-21  Bruno Haible  <bruno@clisp.org>
34662
34663         * modules/isnanl-tests: New file.
34664         * tests/test-isnanl.c: New file.
34665
34666         * modules/isnanl: New file.
34667         * lib/isnanl.h: New file.
34668         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
34669         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
34670         gl_FUNC_ISNANL_WORKS.
34671         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
34672         New macros.
34673
34674 2007-03-21  Bruno Haible  <bruno@clisp.org>
34675
34676         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
34677         lib/isnanl.h.
34678         (Include): Update.
34679         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
34680         * lib/vasnprintf.c: Update.
34681         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
34682         tests/test-isnanl.h, remove tests/test-isnanl.c.
34683         (Makefile.am): Update.
34684         * tests/test-isnanl-nolibm.c: New file.
34685         * tests/test-isnanl.h: New file.
34686         * tests/test-isnanl.c: Remove file.
34687
34688 2007-03-21  Jim Meyering  <jim@meyering.net>
34689
34690         When trying to open ".", treat ESTALE like EACCES.
34691         * lib/savewd.c (savewd_save): Resort to forking not just upon
34692         failure with EACCES, but also when errno is ESTALE.
34693
34694 2007-03-20  Bruno Haible  <bruno@clisp.org>
34695
34696         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
34697         Needed on AIX 5.1. Reported by Matthew Woehlke.
34698
34699 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34700
34701         Suggestions by Bruno Haible:
34702         * lib/acl-internal.h: Include "gettext.h" rather than rolling
34703         our own.
34704         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
34705         * modules/acl (Depends-on): Add gettext.
34706
34707 2007-03-19  Bruno Haible  <bruno@clisp.org>
34708
34709         * modules/iconvme: Remove file.
34710         * lib/iconvme.h: Remove file.
34711         * lib/iconvme.c: Remove file.
34712         * m4/iconvme.m4: Remove file.
34713
34714 2007-03-19  Bruno Haible  <bruno@clisp.org>
34715
34716         * doc/relocatable-maint.texi: Break long shell script line.
34717         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
34718
34719 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34720
34721         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
34722         handle file_has_acl.
34723         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
34724         * lib/acl.c: Move header inclusions and related macro defns into
34725         lib/acl-internal.h.
34726         (S_ISLNK): Remove defn, since that's now done for us.
34727         (file_has_acl): Move to lib/file-has-acl.c.
34728         Call acl_trivial if available.  This is the crucial part of the fix.
34729         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
34730         shared within the library.  Rewrite a bit, partly to make it compatible
34731         with the GNU coding style.
34732         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
34733         Remove unnecessary double-quotes.
34734         Don't test for acl_to_text; the build will catch that.
34735         Replace acl_entries if it doesn't exist and it is needed.
34736         Check for -lsec and acl_trivial (as used on Solaris 10).
34737         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
34738         lib/file-has-acl.c.
34739         (Depends-on): Add sys_stat, for S_ISLNK.
34740
34741 2007-03-19  Ben Pfaff  <blp@gnu.org>
34742
34743         * doc/gnulib.texi: Fix typos.
34744         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
34745
34746 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34747
34748         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
34749         If size is zero here, buf must be zero.
34750
34751 2007-03-19  Simon Josefsson  <simon@josefsson.org>
34752
34753         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
34754         <bruno@clisp.org>.
34755
34756 2007-03-18  Bruno Haible  <bruno@clisp.org>
34757
34758         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
34759         Suggested by Eric Blake.
34760
34761 2007-03-18  Ben Pfaff  <blp@gnu.org>
34762
34763         * doc/relocatable.texi: Recommend using as prefix a directory
34764         that does not exist and will never be created.  Based on
34765         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
34766         and others.
34767
34768 2007-03-17  Bruno Haible  <bruno@clisp.org>
34769
34770         * lib/fchownat.c: Include lchown.h.
34771
34772 2007-03-17  Bruno Haible  <bruno@clisp.org>
34773
34774         Fix endless loop when the given allocated size was > INT_MAX.
34775         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
34776         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
34777         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
34778         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
34779         * lib/sprintf.c (sprintf): Likewise.
34780
34781 2007-03-17  Bruno Haible  <bruno@clisp.org>
34782
34783         * tests/test-argp-2.sh (func_compare): Output a context diff.
34784
34785 2007-03-17  Bruno Haible  <bruno@clisp.org>
34786
34787         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
34788         locale's decimal-point character.
34789
34790 2007-03-17  Bruno Haible  <bruno@clisp.org>
34791
34792         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
34793         before comparing it. Needed because on some platforms (e.g. x86) a
34794         'long double' occupies less bytes than sizeof (long double).
34795
34796 2007-03-17  Bruno Haible  <bruno@clisp.org>
34797
34798         * tests/test-crc.c (main): Make printf statements 64-bit clean.
34799         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
34800         * tests/test-getaddrinfo.c (simple): Likewise.
34801         * tests/test-read-file.c (main): Likewise.
34802
34803 2007-03-17  Bruno Haible  <bruno@clisp.org>
34804
34805         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
34806
34807 2007-03-17  Bruno Haible  <bruno@clisp.org>
34808
34809         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
34810         unused variable.
34811
34812 2007-03-17  Bruno Haible  <bruno@clisp.org>
34813
34814         * tests/test-c-strcasecmp.c: Include c-strcase.h.
34815         * tests/test-c-strncasecmp.c: Likewise.
34816
34817 2007-03-17  Bruno Haible  <bruno@clisp.org>
34818
34819         * modules/stdlib (Depends-on): Add unistd.
34820         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
34821         Needed for MacOS X 10.3.
34822
34823 2007-03-17  Bruno Haible  <bruno@clisp.org>
34824
34825         * lib/unistr/u-strdup.h: Include <stdlib.h>.
34826
34827 2007-03-17  Bruno Haible  <bruno@clisp.org>
34828
34829         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
34830
34831 2007-03-17  Bruno Haible  <bruno@clisp.org>
34832
34833         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
34834         to reflect files copied from gnulib (with or without modifications).
34835         Suggested by Jim Meyering.
34836
34837 2007-03-17  Eric Blake  <ebb9@byu.net>
34838
34839         * NEWS: Document stdlib change from 2007-02-18.
34840
34841 2007-03-17  Jim Meyering  <jim@meyering.net>
34842
34843         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
34844         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
34845         someone uses a name containing shell meta-characters.
34846         Reported by Alfred M. Szmidt.
34847
34848         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
34849
34850 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
34851
34852         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
34853         and copy gettext configuration files only if configure.ac contains
34854         a use of AM_GNU_GETTEXT_VERSION.
34855
34856 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
34857
34858         * build-aux/bootstrap (gnulib_name): New variable.
34859         (gnulib_tool_options): Use it.
34860
34861 2007-03-13  Simon Josefsson  <simon@josefsson.org>
34862
34863         * tests/test-des.c: Use new namespace.
34864
34865 2007-03-15  Bruno Haible  <bruno@clisp.org>
34866
34867         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
34868         Reported by James Youngman <jay@gnu.org>.
34869
34870 2007-03-15  Bruno Haible  <bruno@clisp.org>
34871
34872         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
34873         declared prototype. Needed with cc on OSF/1 5.1.
34874
34875 2007-03-15  Bruno Haible  <bruno@clisp.org>
34876
34877         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
34878         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
34879         (struct gl_list_implementation): Add dispose_fn argument to the
34880         'create_empty', 'create' methods.
34881         (struct gl_list_impl_base): Add field 'dispose_fn'.
34882         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
34883         argument.
34884         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
34885         dispose_fn argument.
34886         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
34887         dispose_fn on the dropped values.
34888         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
34889         dispose_fn argument.
34890         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
34891         dropped values.
34892         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
34893         (gl_tree_remove_node): Call dispose_fn on the dropped value.
34894         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
34895         (gl_tree_remove_node): Call dispose_fn on the dropped value.
34896         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
34897         argument.
34898         (gl_tree_list_free): Call dispose_fn on the dropped values.
34899         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
34900         the dropped values.
34901         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
34902         Add dispose_fn argument.
34903         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
34904         Call dispose_fn on the dropped values.
34905         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
34906         Add dispose_fn argument.
34907         (gl_sublist_create): Initialize the 'dispose_fn' field.
34908         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
34909         * tests/test-array_list.c (main): Update.
34910         * tests/test-carray_list.c (main): Update.
34911         * tests/test-avltree_list.c (main): Update.
34912         * tests/test-rbtree_list.c (main): Update.
34913         * tests/test-avltreehash_list.c (main): Update.
34914         * tests/test-rbtreehash_list.c (main): Update.
34915         * tests/test-linked_list.c (main): Update.
34916         * tests/test-linkedhash_list.c (main): Update.
34917         * tests/test-array_oset.c (main): Update.
34918
34919 2007-03-15  Bruno Haible  <bruno@clisp.org>
34920
34921         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
34922         (gl_oset_create_empty): Add dispose_fn argument.
34923         (struct gl_oset_implementation): Add dispose_fn argument to
34924         'create_empty' method.
34925         (struct gl_oset_impl_base): Add dispose_fn field.
34926         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
34927         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
34928         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
34929         values.
34930         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
34931         (gl_tree_oset_free): Call dispose_fn on the dropped values.
34932         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
34933         dropped value.
34934         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
34935         dropped value.
34936         * tests/test-array_oset.c (main): Update.
34937         * tests/test-avltree_oset.c (main): Update.
34938         * tests/test-rbtree_oset.c (main): Update.
34939         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
34940
34941 2007-03-13  Bruno Haible  <bruno@clisp.org>
34942
34943         * tests/test-stdbool.c (i): Update after last patch.
34944
34945 2007-03-12  Bruno Haible  <bruno@clisp.org>
34946
34947         * lib/quotearg.c: Include <wctype.h> early, before the definition of
34948         the iswprint macro. Needed on Solaris 2.5.1.
34949
34950 2007-03-12  Bruno Haible  <bruno@clisp.org>
34951
34952         * tests/test-printf-frexp.c (main): Declare x as volatile.
34953
34954 2007-03-12  Simon Josefsson  <simon@josefsson.org>
34955
34956         * doc/gnulib.texi (Build robot for gnulib): New section.
34957
34958 2007-03-12  Jim Meyering  <jim@meyering.net>
34959
34960         * build-aux/bootstrap: New file.
34961         * build-aux/bootstrap.conf: New file, from coreutils.
34962
34963 2007-03-11  Bruno Haible  <bruno@clisp.org>
34964
34965         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
34966
34967 2007-03-12  Simon Josefsson  <simon@josefsson.org>
34968
34969         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
34970         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
34971         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
34972
34973 2007-03-11  Bruno Haible  <bruno@clisp.org>
34974
34975         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
34976         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
34977
34978 2007-03-11  Bruno Haible  <bruno@clisp.org>
34979
34980         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
34981         formula. Needed for SunPRO C 5.0.
34982
34983 2007-03-11  Bruno Haible  <bruno@clisp.org>
34984
34985         * modules/long-options (Depends-on): Add getopt.
34986
34987 2007-03-11  Bruno Haible  <bruno@clisp.org>
34988
34989         * modules/modechange (Depends-on): Add stdbool.
34990
34991 2007-03-11  Bruno Haible  <bruno@clisp.org>
34992
34993         * modules/i-ring (Depends-on): Add stdbool.
34994
34995 2007-03-11  Bruno Haible  <bruno@clisp.org>
34996
34997         * modules/gc-des (Depends-on): Add stdbool.
34998
34999 2007-03-11  Bruno Haible  <bruno@clisp.org>
35000
35001         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
35002
35003 2007-03-11  Bruno Haible  <bruno@clisp.org>
35004
35005         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
35006
35007 2007-03-11  Bruno Haible  <bruno@clisp.org>
35008
35009         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
35010
35011 2007-03-11  Bruno Haible  <bruno@clisp.org>
35012
35013         * lib/vasnprintf.c (sprintf): Undefine.
35014
35015 2007-03-11  Bruno Haible  <bruno@clisp.org>
35016
35017         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
35018         initializers in SunPRO C and Compaq C compilers.
35019
35020 2007-03-11  Bruno Haible  <bruno@clisp.org>
35021
35022         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
35023         decrementing code ANSI C compliant.
35024
35025 2007-03-11  Bruno Haible  <bruno@clisp.org>
35026
35027         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
35028         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
35029
35030 2007-03-11  Bruno Haible  <bruno@clisp.org>
35031
35032         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
35033         <stdbool.h> substitute doesn't pass.
35034
35035 2007-03-11  Bruno Haible  <bruno@clisp.org>
35036
35037         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
35038
35039 2007-03-11  Bruno Haible  <bruno@clisp.org>
35040
35041         * gnulib-tool (func_create_megatestdir): Create also an autobuild
35042         script, for submission to autobuild.josefsson.org.
35043
35044 2007-03-10  Bruno Haible  <bruno@clisp.org>
35045
35046         * modules/canonicalize-lgpl-tests: New file.
35047         * tests/test-canonicalize-lgpl.sh: New file.
35048         * tests/test-canonicalize-lgpl.c: New file.
35049
35050         * modules/c-strcase-tests: New file.
35051         * tests/test-c-strcase.sh: New file.
35052         * tests/test-c-strcasecmp.c: New file.
35053         * tests/test-c-strncasecmp.c: New file.
35054
35055         * modules/atexit-tests: New file.
35056         * tests/test-atexit.sh: New file.
35057         * tests/test-atexit.c: New file.
35058
35059 2007-03-10  Bruno Haible  <bruno@clisp.org>
35060
35061         * tests/test-binary-io.sh: Use temporary filenames that are not so
35062         likely to clash with those of other tests (in a parallel make).
35063         * tests/test-binary-io.c: Likewise.
35064
35065 2007-03-10  Bruno Haible  <bruno@clisp.org>
35066
35067         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
35068         fallback; use #error instead.
35069         Suggested by Simon Josefsson.
35070
35071 2007-03-10  Bruno Haible  <bruno@clisp.org>
35072
35073         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
35074         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
35075         first and the last.
35076
35077 2007-03-10  Bruno Haible  <bruno@clisp.org>
35078
35079         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
35080
35081 2007-03-10  Bruno Haible  <bruno@clisp.org>
35082
35083         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
35084         "make distcheck".
35085         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
35086         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
35087         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
35088
35089 2007-03-10  Bruno Haible  <bruno@clisp.org>
35090
35091         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
35092         variable.
35093         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
35094         variable.
35095
35096 2007-03-09  Eric Blake  <ebb9@byu.net>
35097         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
35098
35099         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
35100         types are not being provided by gnulib.
35101         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
35102         types are supported.
35103
35104 2007-03-10  Bruno Haible  <bruno@clisp.org>
35105
35106         * lib/stdio_.h (__attribute__): New macro.
35107         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
35108         vsprintf): Specify __attribute__ __format__ for GCC.
35109         Suggested by Eric Blake.
35110
35111 2007-03-09  Bruno Haible  <bruno@clisp.org>
35112
35113         * modules/printf-posix-tests: New file.
35114         * tests/test-printf-posix.sh: New file.
35115         * tests/test-printf-posix.c: New file.
35116
35117         * modules/printf-posix: New file.
35118         * lib/printf.c: New file.
35119         * m4/printf-posix-rpl.m4: New file.
35120         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
35121         REPLACE_PRINTF.
35122         * lib/stdio_.h (printf): New declaration.
35123         (format, __format__, ____printf____, ____scanf____, ____strftime____,
35124         ____strfmon____): New macros.
35125         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
35126         REPLACE_PRINTF.
35127
35128 2007-03-09  Bruno Haible  <bruno@clisp.org>
35129
35130         * tests/test-vasnprintf-posix2.sh: New file.
35131         * tests/test-vasnprintf-posix2.c: New file.
35132         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
35133         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
35134         (Makefile.am): Activate test-vasnprintf-posix2.sh.
35135
35136         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
35137         a locale dependent decimal point, rather than always '.'.
35138
35139 2007-03-09  Eric Blake  <ebb9@byu.net>
35140
35141         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
35142         spite of platforms like Tandem/NSK that define it to -1.
35143
35144 2007-03-08  Bruno Haible  <bruno@clisp.org>
35145
35146         * modules/vprintf-posix-tests: New file.
35147         * tests/test-vprintf-posix.sh: New file.
35148         * tests/test-vprintf-posix.c: New file.
35149         * tests/test-printf-posix.h: New file.
35150
35151         * modules/vprintf-posix: New file.
35152         * lib/vprintf.c: New file.
35153         * m4/vprintf-posix.m4: New file.
35154         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
35155         REPLACE_VPRINTF.
35156         * lib/stdio_.h (vprintf): New declaration.
35157         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
35158         REPLACE_VPRINTF.
35159
35160 2007-03-08  Bruno Haible  <bruno@clisp.org>
35161
35162         * modules/fprintf-posix-tests: New file.
35163         * tests/test-fprintf-posix.sh: New file.
35164         * tests/test-fprintf-posix.c: New file.
35165
35166         * modules/fprintf-posix: New file.
35167         * lib/fprintf.c: New file.
35168         * m4/fprintf-posix.m4: New file.
35169         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
35170         REPLACE_FPRINTF.
35171         * lib/stdio_.h (fprintf): New declaration.
35172         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
35173         REPLACE_FPRINTF.
35174
35175 2007-03-08  Bruno Haible  <bruno@clisp.org>
35176
35177         * modules/vfprintf-posix-tests: New file.
35178         * tests/test-vfprintf-posix.sh: New file.
35179         * tests/test-vfprintf-posix.c: New file.
35180         * tests/test-fprintf-posix.h: New file.
35181         * tests/test-fprintf-posix.out: New file.
35182
35183         * modules/vfprintf-posix: New file.
35184         * lib/vfprintf.c: New file.
35185         * m4/vfprintf-posix.m4: New file.
35186         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
35187         REPLACE_VFPRINTF.
35188         * lib/stdio_.h (vfprintf): New declaration.
35189         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
35190         REPLACE_VFPRINTF.
35191
35192 2007-03-08  Bruno Haible  <bruno@clisp.org>
35193
35194         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
35195
35196 2007-03-08  Bruno Haible  <bruno@clisp.org>
35197
35198         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
35199         instead of 'expr' invocations.
35200         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35201         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35202         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35203         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35204         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35205         Suggested by Paul Eggert.
35206
35207 2007-03-08  Bruno Haible  <bruno@clisp.org>
35208
35209         * modules/fseterr-tests: New file.
35210         * tests/test-fseterr.c: New file.
35211
35212         * modules/fseterr: New file.
35213         * lib/fseterr.h: New file.
35214         * lib/fseterr.c: New file.
35215
35216 2007-03-08  Bruno Haible  <bruno@clisp.org>
35217
35218         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
35219         * lib/getopt_.h: Likewise.
35220         * lib/mbswidth.h: Likewise.
35221         * lib/setenv.h: Likewise.
35222         * lib/vasnprintf.h: Likewise.
35223         * lib/vasprintf.h: Likewise.
35224         * lib/verror.h: Likewise.
35225         * lib/xsetenv.h: Likewise.
35226         * lib/xvasprintf.h: Likewise.
35227
35228 2007-03-08  Jim Meyering  <jim@meyering.net>
35229
35230         * users.txt: Add parted.
35231
35232         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
35233
35234 2007-03-07  Bruno Haible  <bruno@clisp.org>
35235
35236         * m4/printf.m4: Make the shell script snippets copy&pastable.
35237
35238 2007-03-02  Bruno Haible  <bruno@clisp.org>
35239
35240         * lib/netinet_in_.h: New file.
35241         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
35242         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
35243         * modules/netinet_in (Files): Add lib/netinet_in_.h.
35244         (Depends-on): Add absolute-header.
35245         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
35246         into netinet/in.h.
35247
35248 2007-03-03  Bruno Haible  <bruno@clisp.org>
35249
35250         * lib/sys_select_.h: New file.
35251         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
35252         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
35253         * modules/sys_select (Files): Add lib/sys_select_.h.
35254         (Depends-on): Add absolute-header.
35255         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
35256         into sys/select.h.
35257
35258 2007-03-02  Bruno Haible  <bruno@clisp.org>
35259
35260         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
35261         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
35262         values.
35263         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
35264         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
35265         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
35266         * modules/sys_socket (Depends-on): Add absolute-header.
35267         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
35268         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
35269         (Include): Remove requirement of inclusion of <sys/types.h>.
35270
35271 2007-03-02  Bruno Haible  <bruno@clisp.org>
35272
35273         * lib/byteswap_.h (bswap_32): Fix formula.
35274
35275 2007-03-06  Bruno Haible  <bruno@clisp.org>
35276
35277         * modules/sprintf-posix-tests: New file.
35278         * tests/test-sprintf-posix.c: New file.
35279
35280         * modules/sprintf-posix: New file.
35281         * lib/sprintf.c: New file.
35282         * m4/sprintf-posix.m4: New file.
35283         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
35284         REPLACE_SPRINTF.
35285         * lib/stdio_.h (sprintf): New declaration.
35286         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
35287         REPLACE_SPRINTF.
35288
35289 2007-03-06  Bruno Haible  <bruno@clisp.org>
35290
35291         * modules/vsprintf-posix-tests: New file.
35292         * tests/test-vsprintf-posix.c: New file.
35293         * tests/test-sprintf-posix.h: New file.
35294
35295         * modules/vsprintf-posix: New file.
35296         * lib/vsprintf.c: New file.
35297         * m4/vsprintf-posix.m4: New file.
35298         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
35299         REPLACE_VSPRINTF.
35300         * lib/stdio_.h (vsprintf): New declaration.
35301         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
35302         REPLACE_VSPRINTF.
35303
35304 2007-03-06  Bruno Haible  <bruno@clisp.org>
35305
35306         * modules/vsnprintf (Depend-on): Remove minmax.
35307
35308 2007-03-06  Bruno Haible  <bruno@clisp.org>
35309
35310         * modules/snprintf-posix-tests: New file.
35311         * tests/test-snprintf-posix.c: New file.
35312
35313         * modules/snprintf-posix: New file.
35314         * m4/snprintf-posix.m4: New file.
35315         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
35316         gl_FUNC_SNPRINTF.
35317         (gl_FUNC_SNPRINTF): Invoke it.
35318         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
35319         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
35320         is set.
35321         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
35322
35323 2007-03-06  Bruno Haible  <bruno@clisp.org>
35324
35325         * modules/vsnprintf-posix-tests: New file.
35326         * tests/test-vsnprintf-posix.c: New file.
35327         * tests/test-snprintf-posix.h: New file.
35328
35329         * modules/vsnprintf-posix: New file.
35330         * m4/vsnprintf-posix.m4: New file.
35331         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
35332         gl_FUNC_VSNPRINTF.
35333         (gl_FUNC_VSNPRINTF): Invoke it.
35334         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
35335         * lib/stdio_.h (vsnprintf): Define as a replacement if
35336         REPLACE_VSNPRINTF is set.
35337         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
35338
35339 2007-03-06  Bruno Haible  <bruno@clisp.org>
35340
35341         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
35342         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
35343
35344 2007-03-06  Bruno Haible  <bruno@clisp.org>
35345
35346         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
35347         (asinl): Declare also if HAVE_DECL_ASINL is set.
35348         (atanl): Declare also if HAVE_DECL_ATANL is set.
35349         (ceill): Declare also if HAVE_DECL_CEILL is set.
35350         (cosl): Declare also if HAVE_DECL_COSL is set.
35351         (expl): Declare also if HAVE_DECL_EXPL is set.
35352         (floorl): Declare also if HAVE_DECL_FLOORL is set.
35353         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
35354         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
35355         (logl): Declare also if HAVE_DECL_LOGL is set.
35356         (sinl): Declare also if HAVE_DECL_SINL is set.
35357         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
35358         (tanl): Declare also if HAVE_DECL_TANL is set.
35359         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
35360         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
35361         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
35362         declaration of frexpl, ldexpl.
35363         * modules/printf-frexpl (Depends-on): Add math.
35364         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
35365
35366 2007-03-05  Bruno Haible  <bruno@clisp.org>
35367
35368         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
35369         frexpl and ldexpl are declared.
35370         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
35371
35372 2007-03-05  Bruno Haible  <bruno@clisp.org>
35373
35374         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
35375         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
35376
35377 2007-03-05  Bruno Haible  <bruno@clisp.org>
35378
35379         * lib/stdio_.h: Include <stddef.h>.
35380
35381 2007-03-05  Bruno Haible  <bruno@clisp.org>
35382
35383         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
35384
35385 2007-03-05  Bruno Haible  <bruno@clisp.org>
35386
35387         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
35388         NetBSD 4, from Ralf Wildenhues.
35389
35390 2007-03-04  Bruno Haible  <bruno@clisp.org>
35391
35392         * lib/vasprintf.h: Update #if logic for the case when the functions
35393         exist but are overridden.
35394
35395 2007-03-04  Bruno Haible  <bruno@clisp.org>
35396
35397         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
35398         implementations: glibc-2.4 and MacOS X 10.3.
35399         * tests/test-vasnprintf-posix.c (test_function): Test also the case
35400         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
35401         * tests/test-vasprintf-posix.c (test_function): Likewise.
35402
35403 2007-03-04  Bruno Haible  <bruno@clisp.org>
35404
35405         * modules/vasprintf-posix-tests: New file.
35406         * tests/test-vasprintf-posix.c: New file.
35407
35408         * modules/vasprintf-posix: New file.
35409         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
35410         defined.
35411         * m4/vasprintf-posix.m4: New file.
35412         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
35413         gl_FUNC_VASPRINTF.
35414         (gl_FUNC_VASPRINTF): Invoke it.
35415         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
35416         here.
35417         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
35418
35419 2007-03-04  Bruno Haible  <bruno@clisp.org>
35420
35421         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
35422         REPLACE_GETTIMEOFDAY.
35423         * modules/sys_time (Makefile.am): Likewise.
35424         * m4/sys_time_h.m4: Likewise.
35425         * m4/gettimeofday.m4: Likewise.
35426
35427 2007-03-04  Bruno Haible  <bruno@clisp.org>
35428
35429         * modules/vasnprintf-posix-tests: New file.
35430         * tests/test-vasnprintf-posix.c: New file.
35431
35432         * modules/vasnprintf-posix: New file.
35433         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
35434         printf-frexpl.h.
35435         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
35436         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
35437         REPLACE_VASNPRINTF is defined.
35438         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
35439         gl_FUNC_VASNPRINTF.
35440         (gl_FUNC_VASNPRINTF): Invoke it.
35441         * m4/vasnprintf-posix.m4: New file.
35442         * m4/printf.m4: New file.
35443
35444 2007-03-04  Bruno Haible  <bruno@clisp.org>
35445
35446         Compile progreloc.c only if --enable-relocatable is specified.
35447         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
35448         if --enable-relocatable was specified.
35449         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
35450         lib_SOURCES.
35451
35452 2007-03-04  Jim Meyering  <jim@meyering.net>
35453
35454         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
35455         Use it consistently, rather than enumerating errno constants.
35456
35457 2007-03-04  Bruno Haible  <bruno@clisp.org>
35458
35459         * modules/xvasprintf-tests: New file.
35460         * tests/test-xvasprintf.c: New file.
35461
35462         * modules/vasprintf-tests: New file.
35463         * tests/test-vasprintf.c: New file.
35464
35465         * modules/vasnprintf-tests: New file.
35466         * tests/test-vasnprintf.c: New file.
35467
35468         * modules/vsnprintf-tests: New file.
35469         * tests/test-vsnprintf.c: New file.
35470
35471         * modules/snprintf-tests: New file.
35472         * tests/test-snprintf.c: New file.
35473
35474 2007-03-04  Bruno Haible  <bruno@clisp.org>
35475
35476         Compile relocatable.c only if --enable-relocatable is specified.
35477         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
35478         gl_RELOCATABLE_LIBRARY.
35479         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
35480         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
35481         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
35482         gl_RELOCATABLE_LIBRARY.
35483         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
35484         (Makefile.am): Remove lib_SOURCES.
35485         * modules/relocatable-lib-lgpl (configure.ac): Invoke
35486         gl_RELOCATABLE_LIBRARY.
35487         (Makefile.am): Remove lib_SOURCES.
35488         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
35489         always.
35490         * modules/relocatable-prog-wrapper (configure.ac): Invoke
35491         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
35492
35493 2007-03-04  Bruno Haible  <bruno@clisp.org>
35494
35495         * modules/argmatch-tests: New file.
35496         * tests/test-argmatch.c: New file.
35497
35498         * tests/test-allocsa.c (main): Halve the number of loop runs.
35499
35500         * modules/alloca-opt-tests: New file.
35501         * tests/test-alloca-opt.c: New file.
35502
35503 2007-03-04  Jim Meyering  <jim@meyering.net>
35504
35505         Work around difference between Linux ACLs and Solaris 10 ZFS.
35506         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
35507         for EINVAL.
35508
35509 2007-03-03  Bruno Haible  <bruno@clisp.org>
35510
35511         * modules/relocatable-prog (Depends-on): Add back progreloc's
35512         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
35513
35514 2007-03-03  Bruno Haible  <bruno@clisp.org>
35515
35516         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
35517         * modules/relocatable-lib: New file.
35518
35519 2007-03-03  Bruno Haible  <bruno@clisp.org>
35520
35521         * modules/relocatable-prog: Renamed from modules/relocatable.
35522         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
35523
35524 2007-03-03  Bruno Haible  <bruno@clisp.org>
35525
35526         * modules/relocatable-script (Files): Add doc/relocatable.texi,
35527         m4/relocatable-lib.m4.
35528         (Depends-on): Remove 'relocatable'.
35529         (configure.ac): Add gl_RELOCATABLE_NOP.
35530
35531 2007-03-03  Bruno Haible  <bruno@clisp.org>
35532
35533         * modules/relocatable-prog-wrapper: New file.
35534         * modules/relocatable (Depends-on): Add it. Remove all other
35535         dependencies except progname.
35536         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
35537
35538         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
35539         (gl_FUNC_STRERROR): Nop.
35540         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
35541
35542         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
35543         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
35544
35545         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
35546         (gl_FUNC_READLINK): Update.
35547
35548         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
35549
35550 2007-03-03  Bruno Haible  <bruno@clisp.org>
35551
35552         * lib/xreadlink.c: Include <unistd.h> unconditionally.
35553         * modules/xreadlink (Depends-on): Add unistd.
35554         * modules/xreadlink-with-size (Depends-on): Likewise.
35555
35556 2007-03-03  Bruno Haible  <bruno@clisp.org>
35557
35558         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
35559         extracted from gt_FUNC_SETENV.
35560         (gt_FUNC_SETENV): Remove macro.
35561         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
35562         remove gt_FUNC_SETENV.
35563
35564 2007-03-03  Bruno Haible  <bruno@clisp.org>
35565
35566         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
35567         ENABLE_RELOCATABLE here.
35568         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
35569
35570 2007-03-03  Bruno Haible  <bruno@clisp.org>
35571
35572         * modules/rbtreehash-list-tests (Depends-on): Add progname.
35573         * tests/test-rbtreehash_list.c: Include progname.h.
35574         (main): Call set_program_name.
35575
35576         * modules/rbtree-oset-tests (Depends-on): Add progname.
35577         * tests/test-rbtree_oset.c: Include progname.h.
35578         (main): Call set_program_name.
35579
35580         * modules/rbtree-list-tests (Depends-on): Add progname.
35581         * tests/test-rbtree_list.c: Include progname.h.
35582         (main): Call set_program_name.
35583
35584         * modules/linked-list-tests (Depends-on): Add progname.
35585         * tests/test-linked_list.c: Include progname.h.
35586         (main): Call set_program_name.
35587
35588 2007-03-03  Bruno Haible  <bruno@clisp.org>
35589
35590         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
35591         All uses of __restrict changed to _Restrict_.
35592         * lib/glob_.h (__restrict): Remove macro.
35593
35594 2007-03-02  Bruno Haible  <bruno@clisp.org>
35595
35596         * modules/gettext (configure.ac): Require gettext infrastructure
35597         from version 0.16.1.
35598
35599 2007-03-02  Bruno Haible  <bruno@clisp.org>
35600
35601         * modules/linkedhash-list-tests (Depends-on): Add progname.
35602         * tests/test-linkedhash_list.c: Include progname.h.
35603         (main): Call set_program_name.
35604
35605         * modules/carray-list-tests (Depends-on): Add progname.
35606         * tests/test-carray_list.c: Include progname.h.
35607         (main): Call set_program_name.
35608
35609         * modules/avltreehash-list-tests (Depends-on): Add progname.
35610         * tests/test-avltreehash_list.c: Include progname.h.
35611         (main): Call set_program_name.
35612
35613         * modules/avltree-oset-tests (Depends-on): Add progname.
35614         * tests/test-avltree_oset.c: Include progname.h.
35615         (main): Call set_program_name.
35616
35617         * modules/avltree-list-tests (Depends-on): Add progname.
35618         * tests/test-avltree_list.c: Include progname.h.
35619         (main): Call set_program_name.
35620
35621         * modules/array-oset-tests (Depends-on): Add progname.
35622         * tests/test-array_oset.c: Include progname.h.
35623         (main): Call set_program_name.
35624
35625         * modules/array-list-tests (Depends-on): Add progname.
35626         * tests/test-array_list.c: Include progname.h.
35627         (main): Call set_program_name.
35628
35629         * modules/argp-tests (Depends-on): Add progname.
35630         * tests/test-argp.c: Include argp.h first. Include progname.h.
35631         (main): Call set_program_name.
35632
35633 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
35634
35635         * doc/gnulib-tool.texi (Initial import): Reword description of
35636         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
35637         limited effect even if defined after the first system include.
35638
35639 2007-03-01  Bruno Haible  <bruno@clisp.org>
35640
35641         * build-aux/config.libpath: Update to libtool-1.5.22.
35642         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35643
35644 2007-03-01  Bruno Haible  <bruno@clisp.org>
35645
35646         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
35647         foo_CFLAGS.
35648         Reported by Ralf Wildenhues.
35649
35650 2007-03-01  Bruno Haible  <bruno@clisp.org>
35651
35652         * build-aux/install-reloc: Remove object files left over by some
35653         compilers.
35654         Reported by Ralf Wildenhues.
35655
35656 2007-03-01  Bruno Haible  <bruno@clisp.org>
35657
35658         * build-aux/install-reloc: Break long lines.
35659
35660 2007-03-01  Bruno Haible  <bruno@clisp.org>
35661
35662         * doc/relocatable.texi: Document that it may not work on OpenBSD.
35663         Reported by Ralf Wildenhues.
35664
35665 2007-03-01  Bruno Haible  <bruno@clisp.org>
35666
35667         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
35668         include ordering constraints.
35669
35670 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
35671
35672         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
35673         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
35674         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
35675         as another example.
35676         * lib/time_.h: Fix misspelling.
35677         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
35678         Require gl_HEADER_TIME_H_DEFAULTS.
35679         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
35680         * m4/time_r.m4 (gl_TIME_R): Likewise.
35681         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
35682
35683 2007-03-01  Bruno Haible  <bruno@clisp.org>
35684
35685         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
35686         * m4/utimens.m4 (gl_UTIMENS): Likewise.
35687
35688 2007-03-01  Jim Meyering  <jim@meyering.net>
35689
35690         * modules/xreadlink (Maintainer): Add my name.
35691         * modules/xreadlink-with-size (Depends-on): Alphabetize.
35692
35693 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
35694             Bruno Haible  <bruno@clisp.org>
35695
35696         * build-aux/install-reloc: Compile also c-ctype.c.
35697         * build-aux/relocatable.sh.in: New file.
35698         * doc/relocatable.texi: New file.
35699         * doc/relocatable-maint.texi: New file.
35700         * doc/gnulib.texi: Include relocatable-maint.texi.
35701         * lib/progreloc.c: Include unistd.h unconditionally.
35702         * lib/relocwrapper.c: Include unistd.h unconditionally.
35703         Include c-ctype.h.
35704         (add_dotbin): Use c_tolower.
35705         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
35706         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
35707         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
35708         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
35709         to m4/relocatable-lib.m4.
35710         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
35711         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
35712         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
35713         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
35714         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
35715         * modules/relocatable: New file.
35716         * modules/relocatable-lib: New file.
35717         * modules/relocatable-script: New file.
35718
35719 2007-02-28  Bruno Haible  <bruno@clisp.org>
35720
35721         Import --enable-relocatable infrastructure.
35722         * build-aux/config.libpath: New file, from GNU gettext.
35723         * build-aux/install-reloc: New file, from GNU gettext.
35724         * build-aux/reloc-ldflags: New file, from GNU gettext.
35725         * lib/relocatable.h: New file, from GNU gettext.
35726         * lib/relocatable.c: New file, from GNU gettext.
35727         * lib/relocwrapper.c: New file, from GNU gettext.
35728         * m4/relocatable.m4: New file, from GNU gettext.
35729
35730 2007-02-28  Bruno Haible  <bruno@clisp.org>
35731
35732         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
35733
35734         * modules/xreadlink: New file, from GNU gettext with modifications.
35735         * lib/xreadlink.c: New file, from GNU gettext.
35736         * lib/xreadlink.h: Add comments.
35737         (xreadlink): New declaration.
35738
35739         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
35740         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
35741         lib/xreadlink-with-size.c.
35742         (configure.ac): Remove gl_XREADLINK invocation.
35743         (Makefile.am): Augment lib_SOURCES.
35744         * m4/xreadlink.m4: Remove file.
35745         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
35746         (xreadlink_with_size): Renamed from xreadink.
35747         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
35748         * modules/canonicalize (Depends-on): Replace xreadlink with
35749         xreadlink-with-size.
35750         * lib/canonicalize.c (canonicalize_filename_mode): Update.
35751
35752 2007-02-25  Jim Meyering  <jim@meyering.net>
35753
35754         * build-aux/announce-gen: When complaining about excess arguments,
35755         list them.
35756
35757 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
35758
35759         * README: Document signed integer overflow situation more
35760         accurately.
35761
35762 2007-02-25  Bruno Haible  <bruno@clisp.org>
35763
35764         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
35765         'a' or 'A' conversion.
35766
35767 2007-02-25  Bruno Haible  <bruno@clisp.org>
35768
35769         * modules/filename: Renamed from modules/pathname.
35770         (Files): Replace lib/pathname.h with lib/filename.h. Replace
35771         lib/concatpath.c with lib/concat-filename.c.
35772         (Makefile.am): Update.
35773         (Include): Replace pathname.h with filename.h.
35774         * lib/filename.h: Renamed from lib/pathname.h.
35775         (concatenated_filename): Renamed from concatenated_pathname.
35776         * lib/concat-filename.c: Renamed from lib/concatpath.c.
35777         (concatenated_filename): Renamed from concatenated_pathname.
35778         * lib/findprog.c: Include filename.h instead of pathname.h.
35779         (find_in_path): Update.
35780         * lib/javacomp.c: Include filename.h instead of pathname.h.
35781         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
35782         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
35783         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
35784         is_oldgcj_14_13_usable, is_javac_usable): Update.
35785         * lib/javaexec.c: Include filename.h instead of pathname.h.
35786         (execute_java_class): Update.
35787         * modules/findprog: Update.
35788         * modules/javacomp: Update.
35789         * modules/javaexec: Update.
35790         * MODULES.html.sh (File system functions): Add 'filename', remove
35791         'pathname'.
35792
35793 2007-02-25  Bruno Haible  <bruno@clisp.org>
35794
35795         * modules/printf-frexpl-tests: New file.
35796         * tests/test-printf-frexpl.c: New file.
35797
35798         * modules/printf-frexpl: New file.
35799         * lib/printf-frexpl.h: New file.
35800         * lib/printf-frexpl.c: New file.
35801         * m4/printf-frexpl.m4: New file.
35802
35803 2007-02-25  Bruno Haible  <bruno@clisp.org>
35804
35805         * modules/printf-frexp-tests: New file.
35806         * tests/test-printf-frexp.c: New file.
35807
35808         * modules/printf-frexp: New file.
35809         * lib/printf-frexp.h: New file.
35810         * lib/printf-frexp.c: New file.
35811         * m4/printf-frexp.m4: New file.
35812
35813 2007-02-25  Bruno Haible  <bruno@clisp.org>
35814
35815         Assume automake >= 1.10 for the tests.
35816         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
35817         * modules/arctwo-tests: Likewise.
35818         * modules/argp-tests: Likewise.
35819         * modules/avltree-list-tests: Likewise.
35820         * modules/avltree-oset-tests: Likewise.
35821         * modules/avltreehash-list-tests: Likewise.
35822         * modules/carray-list-tests: Likewise.
35823         * modules/crc-tests: Likewise.
35824         * modules/des-tests: Likewise.
35825         * modules/gc-arcfour-tests: Likewise.
35826         * modules/gc-arctwo-tests: Likewise.
35827         * modules/gc-des-tests: Likewise.
35828         * modules/gc-hmac-md5-tests: Likewise.
35829         * modules/gc-hmac-sha1-tests: Likewise.
35830         * modules/gc-md2-tests: Likewise.
35831         * modules/gc-md4-tests: Likewise.
35832         * modules/gc-md5-tests: Likewise.
35833         * modules/gc-pbkdf2-sha1-tests: Likewise.
35834         * modules/gc-rijndael-tests: Likewise.
35835         * modules/gc-sha1-tests: Likewise.
35836         * modules/gc-tests: Likewise.
35837         * modules/getaddrinfo-tests: Likewise.
35838         * modules/hmac-md5-tests: Likewise.
35839         * modules/hmac-sha1-tests: Likewise.
35840         * modules/linked-list-tests: Likewise.
35841         * modules/linkedhash-list-tests: Likewise.
35842         * modules/lock-tests: Likewise.
35843         * modules/md2-tests: Likewise.
35844         * modules/md4-tests: Likewise.
35845         * modules/md5-tests: Likewise.
35846         * modules/rbtree-list-tests: Likewise.
35847         * modules/rbtree-oset-tests: Likewise.
35848         * modules/rbtreehash-list-tests: Likewise.
35849         * modules/read-file-tests: Likewise.
35850         * modules/rijndael-tests: Likewise.
35851         * modules/stdint-tests: Likewise.
35852         * modules/tls-tests: Likewise.
35853
35854 2007-02-24  Bruno Haible  <bruno@clisp.org>
35855
35856         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
35857         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
35858         function; instead check whether isnan with a double argument links.
35859         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
35860         function; instead check whether isnan with a 'long double' argument
35861         links.
35862         Reported by Eric Blake <ebb9@byu.net>.
35863
35864 2007-02-24  Bruno Haible  <bruno@clisp.org>
35865
35866         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
35867         defined.
35868         * lib/isnanl.c: Remove all code. Just include isnan.c.
35869         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
35870
35871 2007-02-25  Jim Meyering  <jim@meyering.net>
35872
35873         Avoid conflicting types for 'unsetenv' on FreeBSD.
35874         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
35875         conflicting with FreeBSD's (5.0 and 6.1) function declaration
35876         in stdlib.h.
35877
35878 2007-02-24  Bruno Haible  <bruno@clisp.org>
35879
35880         * modules/isnanl-nolibm-tests: New file.
35881         * tests/test-isnanl.c: New file.
35882
35883         * modules/isnanl-nolibm: New file.
35884         * lib/isnanl.h: New file.
35885         * lib/isnanl.c: New file.
35886         * m4/isnanl.m4: New file.
35887
35888 2007-02-24  Bruno Haible  <bruno@clisp.org>
35889
35890         * modules/isnan-nolibm-tests: New file.
35891         * tests/test-isnan.c: New file.
35892
35893         * modules/isnan-nolibm: New file.
35894         * lib/isnan.h: New file.
35895         * lib/isnan.c: New file.
35896         * m4/isnan.m4: New file.
35897
35898 2007-02-24  Bruno Haible  <bruno@clisp.org>
35899
35900         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
35901         assume that an exponent fits in 20 bits.
35902
35903 2007-02-24  Jim Meyering  <jim@meyering.net>
35904
35905         * m4/regex.m4: Update the description of the configure-time option,
35906         --without-included-regex, to state accurately what the defaults are,
35907         and perhaps to give people an idea why using this option is risky.
35908
35909 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
35910
35911         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
35912         loops on small arguments.  This attempts to avoid the problem
35913         Bruno Haible reported for AIX 4.3.2 in
35914         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
35915
35916 2007-02-23  Bruno Haible  <bruno@clisp.org>
35917
35918         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
35919         Needed for help2man.
35920
35921 2007-02-23  Karl Berry  <karl@gnu.org>
35922
35923         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
35924         exists, foo.h should be cvs-ignored, not committed.
35925
35926 2007-02-23  Eric Blake  <ebb9@byu.net>
35927
35928         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
35929         * lib/stat-time.h (includes): Likewise.
35930         * lib/utimecmp.c (includes): Likewise.
35931         * lib/utimens.h (includes): Likewise.
35932         * lib/getdate.y (includes): Also include "timespec.h" for use
35933         internal to the module.
35934         * modules/utimens (Depends-on): Revert yesterday's patch.
35935         * modules/nanosleep (Depends-on): Add missing dependency.
35936
35937 2007-02-22  Bruno Haible  <bruno@clisp.org>
35938
35939         * lib/glob.c: Don't include getlogin_r.h.
35940
35941 2007-02-22  Jim Meyering  <jim@meyering.net>
35942
35943         * modules/utimens (Depends-on): Add timespec, required for
35944         utimens.h's inclusion of timespec.h.
35945
35946 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
35947
35948         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
35949         long unreadable paths in GNU/Linux.  Problem reported by Andreas
35950         Schwab in
35951         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
35952         I'll try to think of a better way to fix the Solaris problem.
35953
35954         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
35955         like glibc; on Solaris 10, it fails with errno == EINVAL.
35956         POSIX says the behavior is unspecified if the first argument is NULL,
35957         so play it safe and never pass NULL to the system getcwd.
35958
35959 2007-02-21  Jim Meyering  <jim@meyering.net>
35960
35961         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
35962         of gettimeofday.  It would conflict with the one now always
35963         provided via sys_time_.h.  Reported by Matthew Woehlke, as
35964         an IRIX 6.5 build failure.
35965
35966 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
35967
35968         Minor fixups to port to Solaris 10 with Sun C 5.8.
35969         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
35970         * modules/getcwd (Depends-on): Add dirfd.
35971         * lib/putenv.c (putenv): #undef it.
35972         (rpl_putenv): New decl.
35973         (malloc, free): Include <stdlib.h> rather than prototyping separately.
35974
35975 2007-02-20  Bruno Haible  <bruno@clisp.org>
35976
35977         * modules/stdio-tests: New file.
35978         * tests/test-stdio.c: New file.
35979
35980         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
35981         (Depends-on): Add stdio.
35982         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
35983         (Include): Use <stdio.h> instead of vsnprintf.h.
35984         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
35985         HAVE_DECL_VSNPRINTF.
35986         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
35987
35988         * modules/snprintf (Files): Remove lib/snprintf.h.
35989         (Depends-on): Add stdio.
35990         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
35991         (Include): Use <stdio.h> instead of snprintf.h.
35992         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
35993         HAVE_DECL_SNPRINTF.
35994         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
35995         * lib/getaddrinfo.c: Likewise.
35996
35997         * modules/stdio: New file.
35998         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
35999         * lib/snprintf.h: Remove file.
36000         * lib/vsnprintf.h: Remove file.
36001         * lib/.cppi-disable: Remove snprintf.h.
36002         * m4/stdio_h.m4: New file.
36003         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
36004
36005 2007-02-20  Jim Meyering  <jim@meyering.net>
36006
36007         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
36008         used by e.g., mingw.  From Bruno Haible.
36009
36010 2007-02-19  Bruno Haible  <bruno@clisp.org>
36011
36012         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
36013         warnings.
36014         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36015
36016 2007-02-19  Bruno Haible  <bruno@clisp.org>
36017
36018         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
36019         from mingw users.
36020
36021 2007-02-19  Bruno Haible  <bruno@clisp.org>
36022
36023         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
36024         warnings.
36025         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
36026
36027 2007-02-19  Jim Meyering  <jim@meyering.net>
36028
36029         Don't use FD after a successful "fdopendir (fd)".
36030         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
36031         Reset it by calling dirfd on the just-obtained DIR*.
36032
36033         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
36034         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
36035
36036 2007-02-18  Bruno Haible  <bruno@clisp.org>
36037
36038         * lib/readlink.c: Include <unistd.h>.
36039         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
36040         HAVE_READLINK.
36041         * modules/readlink (Depends-on): Add unistd.
36042         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36043         (Include): Add <unistd.h>.
36044
36045         * lib/getlogin_r.h: Remove file.
36046         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
36047         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
36048         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
36049         HAVE_DECL_GETLOGIN_R.
36050         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
36051         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36052         (Include): Use <unistd.h> instead of getlogin_r.h.
36053
36054         * lib/getcwd.h: Remove file.
36055         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
36056         * lib/xgetcwd.c: Likewise.
36057         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
36058         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
36059         * modules/getcwd (Files): Remove lib/getcwd.h.
36060         (Depends-on): Add unistd.
36061         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36062         (Include): Use <unistd.h> instad of getcwd.h.
36063
36064         * lib/ftruncate.c: Include <unistd.h> first.
36065         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
36066         Set HAVE_FTRUNCATE.
36067         * modules/ftruncate (Depends-on): Add unistd.
36068         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36069
36070         * lib/fchdir.c: Include <unistd.h> first.
36071         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
36072         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
36073         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
36074         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36075         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
36076
36077         * lib/dup2.c: Include <unistd.h> first.
36078         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
36079         HAVE_DUP2.
36080         * modules/dup2 (Depends-on): Add unistd.
36081         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36082
36083         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
36084         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
36085         REPLACE_CHOWN. Don't define chown as a macro here.
36086         * modules/chown (Depends-on): Add unistd.
36087         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36088
36089         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
36090         Add definition for GL_LINK_WARNING.
36091         (chown, dup2): New declarations.
36092         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
36093         link warning.
36094         (ftruncate): New declaration.
36095         (getcwd): New declaration, taken from old getcwd.h.
36096         (getlogin_r): New declaration, taken from old getlogin_r.h.
36097         (readlink): New declaration.
36098         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
36099         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
36100         (gl_PREREQ_UNISTD): Remove macro.
36101         (gl_UNISTD_MODULE_INDICATOR): New macro.
36102         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
36103         many new variables. Don't set UNISTD_H.
36104         * modules/unistd (Description): Change.
36105         (Depends-on): Add link-warning.
36106         (configure.ac): Update.
36107         (Makefile.am): Create unistd.h always. Substitute many new variables
36108         into it.
36109
36110 2007-02-18  Bruno Haible  <bruno@clisp.org>
36111
36112         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
36113         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
36114         HAVE_GETSUBOPT.
36115         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
36116         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
36117         * lib/getsubopt.h: Remove file.
36118         * modules/getsubopt (Files): Remove lib/getsubopt.h.
36119         (Depends-on): Add stdlib.
36120         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36121         (Includes): Use <stdlib.h> instead of getsubopt.h.
36122         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
36123         Set HAVE_GETSUBOPT.
36124         * lib/getsubopt.c: Don't include getsubopt.h.
36125
36126 2007-02-18  Bruno Haible  <bruno@clisp.org>
36127
36128         * modules/fchdir (Depends-on): Add dup2.
36129
36130 2007-02-18  Bruno Haible  <bruno@clisp.org>
36131
36132         * lib/stdlib_.h: Handle glibc's special invocation convention
36133         specially.
36134
36135 2007-02-18  Bruno Haible  <bruno@clisp.org>
36136
36137         * modules/stdlib-tests: New file.
36138         * tests/test-stdlib.c: New file.
36139
36140         * modules/mkstemp (Files): Remove lib/mkstemp.h.
36141         (Depends-on): Add stdlib.
36142         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36143         (Includes): Use <stdlib.h> instead of mkstemp.h.
36144         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
36145         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
36146         * lib/mkstemp.c: Don't include mkstemp.h.
36147         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
36148         * lib/stdlib--.h: Don't include mkstemp.h.
36149
36150         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
36151         (Depends-on): Add stdlib.
36152         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36153         (Includes): Use <stdlib.h> instead of mkdtemp.h.
36154         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
36155         HAVE_MKDTEMP.
36156         * lib/mkdtemp.c: Don't include mkdtemp.h.
36157         * lib/clean-temp.c: Don't include mkdtemp.h.
36158
36159         * modules/exit (Files): Remove lib/exit.h.
36160         (Depends-on): Add stdlib.
36161         (Makefile.am): Remove lib_SOURCES.
36162         (Include): Use <stdlib.h> instead of exit.h.
36163         * lib/argmatch.c: Don't include exit.h.
36164         * lib/execute.c: Likewise.
36165         * lib/pagealign_alloc.c: Likewise.
36166         * lib/pipe.c: Likewise.
36167         * lib/wait-process.c: Likewise.
36168         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
36169         * lib/exitfail.c: Likewise.
36170         * lib/savewd.c: Likewise.
36171         * lib/xsetenv.c: Likewise.
36172
36173         * modules/stdlib: New file.
36174         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
36175         and extra comments about mkstemp().
36176         * lib/exit.h: Remove file.
36177         * lib/mkdtemp.h: Remove file.
36178         * lib/mkstemp.h: Remove file.
36179         * m4/stdlib_h.m4: New file.
36180         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
36181
36182 2007-02-18  Bruno Haible  <bruno@clisp.org>
36183
36184         * modules/math-tests: New file.
36185         * tests/test-math.c: New file.
36186
36187         * modules/math: New file.
36188         * modules/mathl (Files): Remove lib/mathl.h.
36189         (Depends-on): Add math.
36190         (Makefile.am): Don't mention mathl.h.
36191         (Include): Use <math.h> instead of mathl.h.
36192         * lib/math_.h: New file.
36193         * lib/mathl.h: Remove file.
36194         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
36195         mathl.h.
36196         * lib/asinl.c: Likewise.
36197         * lib/atanl.c: Likewise.
36198         * lib/ceill.c: Likewise.
36199         * lib/cosl.c: Likewise.
36200         * lib/expl.c: Likewise.
36201         * lib/floorl.c: Likewise.
36202         * lib/frexpl.c: Likewise.
36203         * lib/ldexpl.c: Likewise.
36204         * lib/logl.c: Likewise.
36205         * lib/sincosl.c: Likewise.
36206         * lib/sinl.c: Likewise.
36207         * lib/sqrtl.c: Likewise.
36208         * lib/tanl.c: Likewise.
36209         * lib/trigl.c: Likewise.
36210         * m4/math_h.m4: New file.
36211         * MODULES.html.sh (Mathematics): Add math.
36212
36213 2007-02-17  Bruno Haible  <bruno@clisp.org>
36214
36215         * modules/wctype-tests: New file.
36216         * tests/test-wctype.c: New file.
36217
36218         * modules/wchar-tests: New file.
36219         * tests/test-wchar.c: New file.
36220
36221         * modules/unistd-tests: New file.
36222         * tests/test-unistd.c: New file.
36223
36224         * modules/time-tests: New file.
36225         * tests/test-time.c: New file.
36226
36227         * modules/sysexits-tests: New file.
36228         * tests/test-sysexits.c: New file.
36229
36230         * modules/sys_time-tests: New file.
36231         * tests/test-sys_time.c: New file.
36232
36233         * modules/sys_stat-tests: New file.
36234         * tests/test-sys_stat.c: New file.
36235
36236         * modules/sys_socket-tests: New file.
36237         * tests/test-sys_socket.c: New file.
36238
36239         * modules/sys_select-tests: New file.
36240         * tests/test-sys_select.c: New file.
36241
36242         * modules/string-tests: New file.
36243         * tests/test-string.c: New file.
36244
36245         * modules/stdbool-tests: New file.
36246         * tests/test-stdbool.c: New file.
36247
36248         * modules/netinet_in-tests: New file.
36249         * tests/test-netinet_in.c: New file.
36250
36251         * modules/inttypes-tests: New file.
36252         * tests/test-inttypes.c: New file.
36253
36254         * modules/fcntl-tests: New file.
36255         * tests/test-fcntl.c: New file.
36256
36257         * modules/byteswap-tests: New file.
36258         * tests/test-byteswap.c: New file.
36259
36260         * modules/arpa_inet-tests: New file.
36261         * tests/test-arpa_inet.c: New file.
36262
36263 2007-02-17  Bruno Haible  <bruno@clisp.org>
36264
36265         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
36266         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
36267         if the corresponding module is not enabled. Emit link warnings if
36268         the function is used nevertheless.
36269         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
36270         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
36271         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
36272         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
36273         * modules/inttypes (Depends-on): Add link-warning.
36274         (Makefile.am): Copy the contents of build-aux/link-warning.h into
36275         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
36276         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
36277         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
36278         * modules/imaxdiv (configure.ac): Likewise.
36279         * modules/strtoimax (configure.ac): Likewise.
36280         * modules/strtoumax (configure.ac): Likewise.
36281
36282 2007-02-17  Bruno Haible  <bruno@clisp.org>
36283
36284         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
36285         gl_STRING_MODULE_INDICATOR_DEFAULTS.
36286         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
36287         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
36288
36289 2007-02-17  Bruno Haible  <bruno@clisp.org>
36290
36291         * modules/link-warning: New file.
36292         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
36293         * lib/string_.h (GL_LINK_WARNING): Remove definition.
36294         * modules/string (Depends-on): Add link-warning.
36295         (Makefile.am): Copy the contents of build-aux/link-warning.h into
36296         string.h.
36297         * MODULES.html.sh (Support for building libraries and executables): Add
36298         link-warning.
36299
36300 2007-02-17  Bruno Haible  <bruno@clisp.org>
36301
36302         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
36303         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
36304         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
36305         long lines.
36306
36307 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
36308             Bruno Haible  <bruno@clisp.org>
36309
36310         * modules/tmpfile: New file.
36311         * lib/tmpfile.c: New file.
36312         * m4/tmpfile.m4: New file.
36313         * MODULES.html.sh (func_all_modules): New section "Input/output".
36314
36315 2007-02-15  Bruno Haible  <bruno@clisp.org>
36316
36317         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
36318         (supports_delete_on_close): New function.
36319         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
36320
36321 2007-02-14  Bruno Haible  <bruno@clisp.org>
36322
36323         * modules/mbspcasecmp-tests: New file.
36324         * tests/test-mbspcasecmp.sh: New file.
36325         * tests/test-mbspcasecmp.c: New file.
36326
36327         New module mbspcasecmp.
36328         * modules/mbspcasecmp: New file.
36329         * lib/mbspcasecmp.c: New file.
36330         * lib/string_.h (strncasecmp): Change warning message.
36331         (mbspcasecmp): New declaration.
36332         * m4/mbspcasecmp.m4: New file.
36333         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36334         GNULIB_MBSPCASECMP.
36335         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
36336         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
36337
36338 2007-02-14  Bruno Haible  <bruno@clisp.org>
36339
36340         * modules/mbsncasecmp-tests: New file.
36341         * tests/test-mbsncasecmp.sh: New file.
36342         * tests/test-mbsncasecmp.c: New file.
36343
36344         New module mbsncasecmp.
36345         * modules/mbsncasecmp: New file.
36346         * lib/mbsncasecmp.c: New file.
36347         * lib/string_.h (mbsncasecmp): New declaration.
36348         * m4/mbsncasecmp.m4: New file.
36349         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36350         GNULIB_MBSNCASECMP.
36351         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
36352         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
36353
36354 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
36355
36356         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
36357         Verify that it doesn't overlap with our flags.
36358         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
36359         do not have the desired effect in multibyte locales; instead, use
36360         mbscasecmp.
36361         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
36362         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
36363         we don't require GNU fnmatch ourselves (if our users require it, they
36364         should do so explicitly).
36365
36366         Fix regex code so it doesn't rely on strcasecmp.
36367         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
36368         Otherwise, include gnulib's langinfo.h.
36369         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
36370         undesirable behavior in non-C locales.  Instead, rely on localecharset.
36371         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
36372         * modules/regex (FILES): Remove m4/codeset.m4.
36373         (Depends-on): Add localcharset.  Remove strcase.
36374
36375 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36376
36377         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
36378         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
36379
36380 2007-02-13  Bruno Haible  <bruno@clisp.org>
36381
36382         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
36383         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36384
36385 2007-02-12  Bruno Haible  <bruno@clisp.org>
36386
36387         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
36388         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
36389         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
36390         time warning rather than a link error.
36391
36392 2007-02-12  Bruno Haible  <bruno@clisp.org>
36393
36394         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
36395         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
36396         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36397
36398 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
36399
36400         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
36401         args, not 2.
36402
36403 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
36404
36405         New module 'time', so that apps can include <time.h> as per
36406         POSIX and GNU instead of separate include files like time_r.h
36407         and timegm.h.  This implementation tries out a simpler approach
36408         for replacing decls in standard include files (as compared to
36409         the string module), somewhat as an experiment.
36410
36411         * config/srclist.txt: Comment out mktime.c for now.
36412         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
36413         since it doesn't apply any more.  Use generic wording instead.
36414         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
36415         'time'.
36416         * lib/time_.h, m4/time_h.m4, modules/time: New files.
36417         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
36418         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
36419         Don't include <sys/types.h>; no longer needed since we assume C89.
36420         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
36421         * lib/strftime.c: Likewise.
36422         * lib/time_r.c: Likewise.
36423         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
36424         * lib/nanosleep.c: Include <time.h> first, to check interface.
36425         * lib/strptime.c: Likewise.
36426         * lib/time_r.c: Likewise.
36427         * lib/timegm.c: Likewise.
36428         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
36429         needed.
36430         * lib/timegm.c: Don't include timegm.h; no longer needed.
36431         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
36432         time.h now handles any problems in that area.
36433         (struct timespec, nanosleep): Remove; time.h now arranges for these.
36434         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
36435         that time.h defines struct timespec.
36436         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
36437         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
36438         handles that.
36439         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
36440         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
36441         needed.  Set REPLACE_LOCALTIME.
36442         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
36443         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
36444         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
36445         nanosleep; time_h.m4 now does that.  Don't require
36446         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
36447         module handles this now.
36448         * modules/getdate (Depends-on): Remove timespec.  Add time.
36449         * modules/nanosleep (Depends-on): Likewise.
36450         * modules/stat-time (Depends-on): Likewise.
36451         * modules/nanosleep (Include): Include time.h, not timespec.h.
36452         * modules/strptime (Files): Remove lib/strptime.h.
36453         (Depends-on): Add extensions, time.
36454         (Include): Include time.h, not strptime.h.
36455         * modules/time_r (Files): Remove lib/time_r.h.
36456         (Depends-on): Add time.
36457         (Include): Include time.h, not time_r.h.
36458         * modules/timegm: Likewise.
36459         * modules/timespec (Description): Now does timespec-related decls
36460         of our own, instead of struct timespec itself.
36461         (Depends-on): Add time; remove extensions.
36462         (Maintainer): Add self.
36463         * modules/utimecmp (Depends-on): Add time; remove timespec.
36464         * modules/utimens (Depends-on): Likewise.
36465         * modules/xnanosleep (Depends-on): Likewise.
36466
36467 2007-02-11  Bruno Haible  <bruno@clisp.org>
36468
36469         * lib/c-strstr.c: Include allocsa.h.
36470         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
36471         * lib/c-strcasestr.c: Include allocsa.h.
36472         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
36473         * lib/strcasestr.c: Include allocsa.h.
36474         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
36475         * lib/mbsstr.c: Include allocsa.h.
36476         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
36477         allocsa/freesa instead of malloc/free.
36478         * lib/mbscasestr.c: Include allocsa.h.
36479         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
36480         allocsa/freesa instead of malloc/free.
36481         * modules/c-strstr (Depends-on): Add allocsa.
36482         * modules/c-strcasestr (Depends-on): Likewise.
36483         * modules/strcasestr (Depends-on): Likewise.
36484         * modules/mbsstr (Depends-on): Likewise.
36485         * modules/mbscasestr (Depends-on): Likewise.
36486
36487 2007-02-11  Bruno Haible  <bruno@clisp.org>
36488
36489         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
36490
36491         * modules/mbsspn-tests: New file.
36492         * tests/test-mbsspn.sh: New file.
36493         * tests/test-mbsspn.c: New file.
36494
36495 2007-02-11  Bruno Haible  <bruno@clisp.org>
36496
36497         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
36498
36499         * modules/mbspbrk-tests: New file.
36500         * tests/test-mbspbrk.sh: New file.
36501         * tests/test-mbspbrk.c: New file.
36502
36503 2007-02-11  Bruno Haible  <bruno@clisp.org>
36504
36505         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
36506         unneeded cast.
36507
36508         * modules/mbscspn-tests: New file.
36509         * tests/test-mbscspn.sh: New file.
36510         * tests/test-mbscspn.c: New file.
36511
36512 2007-02-11  Bruno Haible  <bruno@clisp.org>
36513
36514         * modules/mbscasecmp-tests: New file.
36515         * tests/test-mbscasecmp.sh: New file.
36516         * tests/test-mbscasecmp.c: New file.
36517
36518 2007-02-11  Bruno Haible  <bruno@clisp.org>
36519
36520         Ensure O(n) worst-case complexity of mbscasestr.
36521         * lib/mbscasestr.c: Include stdbool.h.
36522         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
36523         functions.
36524         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
36525         the bookkeeping indicates that it's worth it.
36526         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
36527
36528         * modules/mbscasestr-tests: New file.
36529         * tests/test-mbscasestr1.c: New file.
36530         * tests/test-mbscasestr2.sh: New file.
36531         * tests/test-mbscasestr2.c: New file.
36532         * tests/test-mbscasestr3.sh: New file.
36533         * tests/test-mbscasestr3.c: New file.
36534         * tests/test-mbscasestr4.sh: New file.
36535         * tests/test-mbscasestr4.c: New file.
36536         * m4/locale-tr.m4: New file.
36537
36538 2007-02-11  Bruno Haible  <bruno@clisp.org>
36539
36540         Ensure O(n) worst-case complexity of mbsstr.
36541         * lib/mbsstr.c: Include stdbool.h.
36542         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
36543         functions.
36544         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
36545         bookkeeping indicates that it's worth it.
36546         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
36547
36548         * modules/mbsstr-tests: New file.
36549         * tests/test-mbsstr1.c: New file.
36550         * tests/test-mbsstr2.sh: New file.
36551         * tests/test-mbsstr2.c: New file.
36552         * tests/test-mbsstr3.sh: New file.
36553         * tests/test-mbsstr3.c: New file.
36554         * m4/locale-fr.m4: New file.
36555
36556 2007-02-11  Bruno Haible  <bruno@clisp.org>
36557
36558         * lib/mbsrchr.c (mbsrchr): Fix bug.
36559
36560         * modules/mbsrchr-tests: New file.
36561         * tests/test-mbsrchr.sh: New file.
36562         * tests/test-mbsrchr.c: New file.
36563
36564 2007-02-11  Bruno Haible  <bruno@clisp.org>
36565
36566         * lib/mbschr.c (mbschr): Fix bug.
36567
36568         * modules/mbschr-tests: New file.
36569         * tests/test-mbschr.sh: New file.
36570         * tests/test-mbschr.c: New file.
36571         * m4/locale-zh.m4: New file.
36572
36573 2007-02-11  Bruno Haible  <bruno@clisp.org>
36574
36575         Support for copying multibyte string iterators.
36576         * lib/mbiter.h: Include <string.h>.
36577         (mbiter_multi_copy): New function.
36578         (mbi_copy): New macro.
36579         * lib/mbuiter.h: Include <string.h>.
36580         (mbuiter_multi_copy): New function.
36581         (mbui_copy): New macro.
36582
36583 2007-02-11  Bruno Haible  <bruno@clisp.org>
36584
36585         New module mbslen.
36586         * modules/mbslen: New file.
36587         * lib/mbslen.c: New file.
36588         * lib/string_.h (mbslen): New declaration.
36589         * m4/mbslen.m4: New file.
36590         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36591         GNULIB_MBSLEN.
36592         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
36593         * MODULES.html.sh (Internationalization functions): Add mbslen.
36594
36595 2007-02-11  Bruno Haible  <bruno@clisp.org>
36596
36597         Ensure O(n) worst-case complexity of strcasestr substitute.
36598         * lib/strcasestr.c: Include stdbool.h.
36599         (knuth_morris_pratt): New function.
36600         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
36601         bookkeeping indicates that it's worth it.
36602         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
36603
36604         * modules/strcasestr-tests: New file.
36605         * tests/test-strcasestr.c: New file.
36606
36607 2007-02-11  Bruno Haible  <bruno@clisp.org>
36608
36609         Ensure O(n) worst-case complexity of c_strcasestr.
36610         * lib/c-strcasestr.c: Include stdbool.h, string.h.
36611         (knuth_morris_pratt): New function.
36612         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
36613         the bookkeeping indicates that it's worth it.
36614         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
36615
36616         * modules/c-strcasestr-tests: New file.
36617         * tests/test-c-strcasestr.c: New file.
36618
36619 2007-02-11  Bruno Haible  <bruno@clisp.org>
36620
36621         Ensure O(n) worst-case complexity of c_strstr.
36622         * lib/c-strstr.c: Include stdbool.h, string.h.
36623         (knuth_morris_pratt): New function.
36624         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
36625         bookkeeping indicates that it's worth it.
36626         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
36627
36628         * lib/c-strstr.c: Complete rewrite for maintainability.
36629
36630         * modules/c-strstr-tests: New file.
36631         * tests/test-c-strstr.c: New file.
36632
36633 2007-02-11  Bruno Haible  <bruno@clisp.org>
36634
36635         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
36636         5.2.1 and earlier, whereby \055 was treated just like the range
36637         delimiter '-'.
36638         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
36639
36640 2007-02-08  Bruno Haible  <bruno@clisp.org>
36641
36642         * modules/regex (Depends-on): Add stdbool.
36643         Reported by Dalibor Topic <robilad@kaffe.org>.
36644
36645 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
36646
36647         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
36648         Prefer returning from main to exiting from it.
36649         Remove unnecessary parens after sizeof.
36650
36651 2007-02-05  Bruno Haible  <bruno@clisp.org>
36652
36653         New module mbssep.
36654         * modules/mbssep: New file.
36655         * lib/mbssep.c: New file.
36656         * lib/string_.h (strsep): Add a conditional link warning.
36657         (mbssep): New declaration.
36658         * m4/mbssep.m4: New file.
36659         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36660         GNULIB_MBSSEP.
36661         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
36662         * MODULES.html.sh (Internationalization functions): Add mbssep.
36663
36664 2007-02-05  Bruno Haible  <bruno@clisp.org>
36665
36666         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
36667         Optimize search in case of 1 delimiter.
36668
36669 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
36670
36671         * lib/acl.h: Include sys/types.h before sys/acl.h.
36672
36673 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
36674
36675         Merge upstream fix for glibc bugzilla #3957:
36676
36677         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
36678
36679         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
36680         bit for RE_HAT_LISTS_NOT_NEWLINE.
36681         (build_charclass_op): Remove bogus comment.
36682
36683 2007-02-05  Simon Josefsson  <simon@josefsson.org>
36684
36685         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
36686
36687 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36688
36689         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
36690         * lib/memmem.c [!defined _LIBC]: Include config.h.
36691
36692 2007-02-04  Bruno Haible  <bruno@clisp.org>
36693
36694         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
36695         warning message.
36696
36697 2007-02-04  Bruno Haible  <bruno@clisp.org>
36698
36699         New module mbstok_r.
36700         * modules/mbstok_r: New file.
36701         * lib/mbstok_r.c: New file.
36702         * lib/string_.h (strtok_r): Change argument names to match the
36703         comments. Add a conditional link warning.
36704         (mbstok_r): New declaration.
36705         * m4/mbstok_r.m4: New file.
36706         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36707         GNULIB_MBSTOK_R.
36708         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
36709         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
36710
36711 2007-02-04  Bruno Haible  <bruno@clisp.org>
36712
36713         New module mbsspn.
36714         * modules/mbsspn: New file.
36715         * lib/mbsspn.c: New file.
36716         * lib/string_.h (strspn): Add a conditional link warning.
36717         (mbsspn): New declaration.
36718         * m4/mbsspn.m4: New file.
36719         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36720         GNULIB_MBSSPN.
36721         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
36722         * MODULES.html.sh (Internationalization functions): Add mbsspn.
36723
36724 2007-02-04  Bruno Haible  <bruno@clisp.org>
36725
36726         New module mbspbrk.
36727         * modules/mbspbrk: New file.
36728         * lib/mbspbrk.c: New file.
36729         * lib/string_.h (strpbrk): Add a conditional link warning.
36730         (mbspbrk): New declaration.
36731         * m4/mbspbrk.m4: New file.
36732         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36733         GNULIB_MBSPBRK.
36734         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
36735         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
36736
36737 2007-02-04  Bruno Haible  <bruno@clisp.org>
36738
36739         New module mbscspn.
36740         * modules/mbscspn: New file.
36741         * lib/mbscspn.c: New file.
36742         * lib/string_.h (strcspn): Add a conditional link warning.
36743         (mbscspn): New declaration.
36744         * m4/mbscspn.m4: New file.
36745         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36746         GNULIB_MBSCSPN.
36747         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
36748         * MODULES.html.sh (Internationalization functions): Add mbscspn.
36749
36750 2007-02-04  Bruno Haible  <bruno@clisp.org>
36751
36752         New module mbscasestr, reduced goal of strcasestr.
36753         * modules/mbscasestr: New file.
36754         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
36755         (mbscasestr): Renamed from strcasestr.
36756         * lib/strcasestr.c: Don't include mbuiter.h.
36757         (strcasestr): Remove support for multibyte locales.
36758         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
36759         Change the conditional link warning.
36760         (mbscasestr): New declaration.
36761         * m4/mbscasestr.m4: New file.
36762         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
36763         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
36764         REPLACE_STRCASESTR.
36765         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
36766         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36767         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
36768         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
36769         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
36770         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
36771         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
36772         (Depends-on): Remove mbuiter.
36773         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
36774
36775 2007-02-04  Bruno Haible  <bruno@clisp.org>
36776
36777         Simplify handling of strncasecmp.
36778         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
36779         the conditional link warning.
36780         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36781         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
36782         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
36783         * modules/strcase (configure.ac): Don't invoke
36784         gl_STRING_MODULE_INDICATOR.
36785         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
36786
36787 2007-02-04  Bruno Haible  <bruno@clisp.org>
36788
36789         New module mbscasecmp, reduced goal of strcasecmp.
36790         * modules/mbscasecmp: New file.
36791         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
36792         (mbscasecmp): Renamed from strcasecmp.
36793         * lib/strcasecmp.c: Don't include mbuiter.h.
36794         (strcasecmp): Remove support for multibyte locales.
36795         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
36796         Change the conditional link warning.
36797         (mbscasecmp): New declaration.
36798         * m4/mbscasecmp.m4: New file.
36799         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
36800         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
36801         REPLACE_STRCASECMP.
36802         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
36803         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36804         GNULIB_MBSCASECMP.
36805         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
36806         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
36807         * modules/strcase (Files): Remove m4/mbrtowc.m4.
36808         (Depends-on): Remove mbuiter.
36809         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
36810
36811 2007-02-04  Bruno Haible  <bruno@clisp.org>
36812
36813         New module mbsstr. Remove module strstr.
36814         * modules/mbsstr: New file.
36815         * modules/strstr: Remove file.
36816         * lib/mbsstr.c: Renamed from lib/strstr.c.
36817         (mbsstr): Renamed from strstr.
36818         * lib/string_.h (strstr): Remove declaration. Change the conditional
36819         link warning.
36820         (mbsstr): New declaration.
36821         * m4/mbsstr.m4: New file.
36822         * m4/strstr.m4: Remove file.
36823         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
36824         REPLACE_STRSTR.
36825         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
36826         Don't initialize GNULIB_STRSTR.
36827         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
36828         substitute GNULIB_STRSTR and REPLACE_STRSTR.
36829         * MODULES.html.sh (Internationalization functions): Add mbsstr.
36830         (Support for systems lacking ANSI C 89): Remove strstr.
36831
36832 2007-02-04  Bruno Haible  <bruno@clisp.org>
36833
36834         New module mbsrchr.
36835         * modules/mbsrchr: New file.
36836         * lib/mbsrchr.c: New file.
36837         * lib/string_.h (strrchr): Add a conditional link warning.
36838         (mbsrchr): New declaration.
36839         * m4/mbsrchr.m4: New file.
36840         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36841         GNULIB_MBSRCHR.
36842         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
36843         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
36844
36845 2007-02-04  Bruno Haible  <bruno@clisp.org>
36846
36847         New module mbschr.
36848         * modules/mbschr: New file.
36849         * lib/mbschr.c: New file.
36850         * lib/string_.h (strchr): Add a conditional link warning.
36851         (mbschr): New declaration.
36852         * m4/mbschr.m4: New file.
36853         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
36854         GNULIB_MBSCHR.
36855         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
36856         * MODULES.html.sh (Internationalization functions): Add mbschr.
36857
36858 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36859
36860         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
36861
36862         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
36863
36864 2007-02-04  Bruno Haible  <bruno@clisp.org>
36865
36866         New module description section 'configure.ac-early'.
36867         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
36868         (func_get_autoconf_early_snippet): New function.
36869         (func_import, func_create_testdir): Use it. Remove special cases for
36870         modules 'extensions' and 'lock'.
36871         * modules/extensions (configure.ac-early): Require
36872         gl_USE_SYSTEM_EXTENSIONS.
36873         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
36874
36875 2007-02-04  Bruno Haible  <bruno@clisp.org>
36876
36877         Make use of gcj-4.3's -fsource and -ftarget option.
36878         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
36879         and if so try the options -fsource and -ftarget.
36880         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
36881         source_version, ftarget_option, target_version arguments.
36882         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
36883         (is_envjavac_oldgcj_14_14_usable): Renamed from
36884         is_envjavac_gcj_14_14_usable.
36885         (is_envjavac_oldgcj_14_13_usable): Renamed from
36886         is_envjavac_gcj_14_13_usable.
36887         (is_gcj_present): Update.
36888         (is_gcj_43, is_gcj43_usable): New functions.
36889         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
36890         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
36891         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
36892         try the options -fsource and -ftarget.
36893
36894 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
36895
36896         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
36897         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
36898         larger value.
36899
36900 2007-02-03  Jim Meyering  <jim@meyering.net>
36901
36902         Give tools a better chance to allocate space for very large buffers.
36903         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
36904
36905         Make pwd and readlink work also when run with an unreadable parent dir
36906         on systems with openat support.
36907         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
36908         provided getcwd function, even when we have openat support.
36909         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
36910
36911 2007-02-02  Bruno Haible  <bruno@clisp.org>
36912
36913         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
36914         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
36915         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
36916         portability problems if one of these functions is only used on specific
36917         platforms.
36918         Reported by Paul Eggert.
36919
36920 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
36921
36922         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
36923         is causing more trouble than it's curing.
36924         * lib/regex_internal.h (__mempcpy): Remove.
36925         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
36926         (and make the code a tad smaller to boot).
36927         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
36928
36929 2007-02-02  Jim Meyering  <jim@meyering.net>
36930
36931         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
36932         section, not in the Makefile.am: one.
36933
36934 2007-02-02  Eric Blake  <ebb9@byu.net>
36935
36936         * lib/strchrnul.c: Always include config.h first.
36937
36938         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
36939         gnulib strstr is not necessary here.
36940
36941 2007-02-02  Simon Josefsson  <simon@josefsson.org>
36942
36943         * m4/socklen.m4: Fix typo.
36944
36945 2007-02-02  Eric Blake  <ebb9@byu.net>
36946
36947         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
36948         * modules/netinet_in (Makefile.am): Likewise.
36949
36950 2007-02-01  Bruno Haible  <bruno@clisp.org>
36951
36952         * lib/string_.h (GL_LINK_WARNING): New macro.
36953         (strcasecmp, strstr, strcasestr): If provided by the system,
36954         conditionally define as a macro that leads to a warning instead of to
36955         an error.
36956         (strncasecmp): Conditionally define as a macro that leads to a warning.
36957
36958 2007-02-01  Karl Berry  <karl@gnu.org>
36959
36960         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
36961
36962 2007-02-01  Bruno Haible  <bruno@clisp.org>
36963
36964         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
36965         renamings.
36966
36967 2007-02-01  Eric Blake  <ebb9@byu.net>
36968
36969         * modules/regex (Depends-on): Revert dependence on mempcpy.
36970         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
36971         module's definition of mempcpy.
36972         Reported by Paul Eggert.
36973
36974 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
36975
36976         * lib/string_.h: If the gnulib module XYZ is not present, undefine
36977         the symbol XYZ before redefining it.  This fixes a problem with
36978         programs that don't use XYZ, when compiled on systems that define
36979         XYZ to something else.
36980
36981 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
36982
36983         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
36984         occurs when "mkdir -m foo" creates a setgid directory that is (1)
36985         writeable to group or other and (2) is intended to have a special
36986         mode bit that is set or cleared.  In such a case, the directory
36987         should be neither group- nor other-writeable until the special
36988         mode bits are right.
36989
36990 2007-01-31  Eric Blake  <ebb9@byu.net>
36991
36992         * modules/mountlist (Depends-on): Add strstr.
36993
36994         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
36995         bug.
36996         * modules/string (Makefile.am): Remove redundant replacement.
36997         * modules/regex (Depends-on): Add mempcpy.
36998
36999 2007-01-31  Bruno Haible  <bruno@clisp.org>
37000
37001         New module description field 'Link'.
37002         * gnulib-tool (func_usage): Document --extract-link-directive.
37003         (sed_extract_prog): Recognize 'Link' directive.
37004         (func_get_link_directive): New function.
37005         (func_import): Show summary of link directives.
37006         Handle --extract-link-directive option.
37007         * modules/acl (Link): New section.
37008         * modules/clock-time (Link): New section.
37009         * modules/euidaccess (Link): New section.
37010         * modules/gettext (Link): New section.
37011         * modules/iconv (Link): New section.
37012         * modules/lock (Link): New section.
37013         * modules/nanosleep (Link): New section.
37014         * modules/readline (Link): New section.
37015
37016 2007-01-27  Bruno Haible  <bruno@clisp.org>
37017
37018         Enforce the use of gnulib modules for unportable <string.h> functions.
37019         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
37020         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
37021         (gl_HEADER_STRING_H_BODY): Require it.
37022         * lib/string_.h: If the gnulib module XYZ is not present, redefine
37023         the symbol XYZ to one that gives a link error.
37024         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
37025         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
37026         * modules/mempcpy (configure.ac): Likewise.
37027         * modules/memrchr (configure.ac): Likewise.
37028         * modules/stpcpy (configure.ac): Likewise.
37029         * modules/stpncpy (configure.ac): Likewise.
37030         * modules/strcase (configure.ac): Likewise.
37031         * modules/strcasestr (configure.ac): Likewise.
37032         * modules/strchrnul (configure.ac): Likewise.
37033         * modules/strdup (configure.ac): Likewise.
37034         * modules/strndup (configure.ac): Likewise.
37035         * modules/strnlen (configure.ac): Likewise.
37036         * modules/strpbrk (configure.ac): Likewise.
37037         * modules/strsep (configure.ac): Likewise.
37038         * modules/strstr (configure.ac): Likewise.
37039         * modules/strtok_r (configure.ac): Likewise.
37040
37041 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
37042
37043         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
37044
37045 2007-01-30  Jim Meyering  <jim@meyering.net>
37046
37047         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
37048
37049 2007-01-29  Bruno Haible  <bruno@clisp.org>
37050
37051         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
37052         * lib/execute.c: Likewise.
37053         * lib/pipe.c: Likewise.
37054         * lib/printf-args.h: Likewise.
37055         * lib/printf-args.c: Likewise.
37056         * lib/printf-parse.c: Likewise.
37057         * lib/vasnprintf.c: Likewise.
37058
37059 2007-01-29  Eric Blake  <ebb9@byu.net>
37060
37061         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
37062         declaration.
37063
37064 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
37065
37066         * lib/strptime.h (strptime): Use 'restrict' for args where
37067         POSIX requires this.
37068         * lib/strptime.c (strptime): Likewise.
37069         Change license notice from LGPL to GPL, since gnulib-tool will
37070         change this as needed.
37071         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
37072         defined.
37073         Include "strptime.h" first, to check interface.
37074         Do not #undef _LIBC and _NL_CURRENT.
37075         Do not include <stdlib.h>; no longer needed.
37076         Include "time_r.h" and declare ptime_locale_status
37077         only if _LIBC is not defined.
37078         (__P): Remove unused macro.
37079         (match_string): Bring back glibc version, but use it only if _LIBC
37080         is defined.
37081         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
37082         Remove unnecessary assertion and abort() call.
37083         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
37084         * m4/strptime.m4: Fix serial number comment.
37085         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
37086         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
37087         (Depends-on): Add time_r.
37088
37089 2007-01-29  Bruno Haible  <bruno@clisp.org>
37090
37091         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37092         strptime.
37093         * modules/strptime (Depends-on): Add stdbool.
37094         * lib/strptime.h: Include <time.h> always. Add comments.
37095
37096 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
37097
37098         * modules/strptime: New file.
37099         * lib/strptime.h: New file.
37100         * lib/strptime.c: New file.
37101         * m4/strptime.m4: New file.
37102
37103 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
37104
37105         * MODULES.html.sh: New module mpsort.
37106         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
37107
37108         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
37109         a circularity problem with HP-UX ia64 reported by Bob Proulx in
37110         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
37111         All uses changed.
37112         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
37113         All uses changed.
37114         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
37115         to _Restrict_.
37116         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
37117         the parameter matches the prototype.
37118
37119 2007-01-28  Jim Meyering  <jim@meyering.net>
37120
37121         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
37122         sys/time.h here, reverting that part of the previous patch:
37123         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
37124
37125 2007-01-28  Bruno Haible  <bruno@clisp.org>
37126
37127         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
37128         value of $(SYS_TIME_H).
37129         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
37130         remove it conditionally, too. [added by Jim Meyering]
37131         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
37132         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
37133         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
37134         GETTIMEOFDAY_REPLACEMENT to 1.
37135
37136 2007-01-28  Bruno Haible  <bruno@clisp.org>
37137
37138         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
37139         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
37140         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
37141         Set UNISTD_H instead of UNISTD_H2.
37142         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
37143
37144 2007-01-28  Bruno Haible  <bruno@clisp.org>
37145
37146         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
37147         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
37148
37149 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37150
37151         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
37152         (func_create_testdir): Ensure C locale for `grep' and `tr'
37153         character ranges.
37154         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
37155         ACLOCAL_AMFLAGS parsing state machine.
37156
37157 2007-01-27  Bruno Haible  <bruno@clisp.org>
37158
37159         * modules/unistr/base: Update.
37160
37161 2007-01-27  Bruno Haible  <bruno@clisp.org>
37162
37163         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
37164         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
37165         * modules/unistr/u32-mbtouc-unsafe: Renamed from
37166         modules/unistr/u32-mbtouc.
37167         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
37168         * lib/unistr.h: Update.
37169         * lib/linebreak.c: Update.
37170         * modules/unistr/u32-mbtouc: Renamed from
37171         modules/unistr/u32-mbtouc-safe.
37172         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
37173         * lib/unistr.h: Update.
37174         * lib/unistr/u32-to-u8.c: Update.
37175         * lib/unistr/u32-to-u16.c: Update.
37176
37177 2007-01-27  Bruno Haible  <bruno@clisp.org>
37178
37179         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
37180         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
37181         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
37182         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
37183         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
37184         * modules/unistr/u16-mbtouc-unsafe: Renamed from
37185         modules/unistr/u16-mbtouc.
37186         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
37187         * lib/unistr.h: Update.
37188         * lib/linebreak.c: Update.
37189         * modules/linebreak: Update.
37190         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
37191         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
37192         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
37193         * modules/unistr/u16-mbtouc: Renamed from
37194         modules/unistr/u16-mbtouc-safe.
37195         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
37196         * lib/unistr.h: Update.
37197         * lib/unistr/u16-to-u8.c: Update.
37198         * modules/unistr/u16-to-u8: Update.
37199         * lib/unistr/u16-to-u32.c: Update.
37200         * modules/unistr/u16-to-u32: Update.
37201
37202 2007-01-27  Bruno Haible  <bruno@clisp.org>
37203
37204         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
37205         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
37206         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
37207         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
37208         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
37209         * modules/unistr/u8-mbtouc-unsafe: Renamed from
37210         modules/unistr/u8-mbtouc.
37211         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
37212         * lib/unistr.h: Update.
37213         * lib/striconveh.c: Update.
37214         * modules/striconveh: Update.
37215         * lib/linebreak.c: Update.
37216         * modules/linebreak: Update.
37217         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
37218         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
37219         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
37220         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
37221         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
37222         * lib/unistr.h: Update.
37223         * lib/striconveh.c: Update.
37224         * modules/striconveh: Update.
37225         * lib/unistr/u8-to-u16.c: Update.
37226         * modules/unistr/u8-to-u16: Update.
37227         * lib/unistr/u8-to-u32.c: Update.
37228         * modules/unistr/u8-to-u32: Update.
37229
37230 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37231
37232         Sync from Libtool.
37233         * lib/argz.c: Do not include strings.h nor memory.h, include
37234         string.h unconditionally.  Patch by Simon Josefsson.
37235
37236 2007-01-27  Bruno Haible  <bruno@clisp.org>
37237
37238         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
37239         from gl_HEADER_STRING_H_BODY.
37240         (gl_HEADER_STRING_H_BODY): Require it.
37241         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
37242         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
37243         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
37244         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
37245         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
37246         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
37247         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37248         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
37249         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
37250         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
37251         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
37252         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
37253         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
37254         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37255         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
37256
37257 2007-01-27  Bruno Haible  <bruno@clisp.org>
37258
37259         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
37260         check_PROGRAMS into noinst_PROGRAMS.
37261         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
37262         check_PROGRAMS in this case.
37263         (func_import): Set for_test to false.
37264         (func_create_testdir): Set for_test to true.
37265
37266 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
37267             Bruno Haible  <bruno@clisp.org>
37268
37269         * modules/strcasestr (Files): Remove lib/strcasestr.h.
37270         (Depends-on): Add string.
37271         (Includes): Use <string.h> instead of strcasestr.h.
37272         * modules/string (Makefile.am): Also substitute the value of
37273         REPLACE_STRCASESTR.
37274         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
37275         assume strcasestr is declared in <string.h> not <strings.h>. Also
37276         set REPLACE_STRCASESTR.
37277         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
37278         REPLACE_STRCASESTR.
37279         * lib/strcasestr.h: Remove file.
37280         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
37281         * lib/string_.h (strcasestr): New declaration.
37282
37283 2007-01-27  Bruno Haible  <bruno@clisp.org>
37284
37285         * lib/string_.h: Use 'extern'.
37286
37287 2007-01-27  Jim Meyering  <jim@meyering.net>
37288
37289         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
37290         of set-but-not-used local, "q".
37291
37292         * lib/mempcpy.c: Include <config.h> before <string.h>.
37293         This fixes a compilation error on HP-UX, due to the system's
37294         "restrict"-using mempcpy prototype.
37295
37296 2007-01-26  Bruno Haible  <bruno@clisp.org>
37297
37298         Small optimization.
37299         * lib/javacomp.c: Include c-strstr.h.
37300          (is_envjavac_gcj): Use c_strstr instead of strstr.
37301         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
37302
37303 2007-01-26  Bruno Haible  <bruno@clisp.org>
37304
37305         * MODULES.html.sh (Unicode string functions): Add the new modules.
37306
37307         * modules/uniconv/u32-strconv-to-locale: New file.
37308         * lib/uniconv/u32-strconv-to-locale.c: New file.
37309
37310         * modules/uniconv/u16-strconv-to-locale: New file.
37311         * lib/uniconv/u16-strconv-to-locale.c: New file.
37312
37313         * modules/uniconv/u8-strconv-to-locale: New file.
37314         * lib/uniconv/u8-strconv-to-locale.c: New file.
37315
37316         * modules/uniconv/u32-strconv-from-locale: New file.
37317         * lib/uniconv/u32-strconv-from-locale.c: New file.
37318
37319         * modules/uniconv/u16-strconv-from-locale: New file.
37320         * lib/uniconv/u16-strconv-from-locale.c: New file.
37321
37322         * modules/uniconv/u8-strconv-from-locale: New file.
37323         * lib/uniconv/u8-strconv-from-locale.c: New file.
37324
37325         * modules/uniconv/u32-strconv-to-enc: New file.
37326         * lib/uniconv/u32-strconv-to-enc.c: New file.
37327         * modules/uniconv/u32-strconv-to-enc-tests: New file.
37328         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
37329
37330         * modules/uniconv/u16-strconv-to-enc: New file.
37331         * lib/uniconv/u16-strconv-to-enc.c: New file.
37332         * lib/uniconv/u-strconv-to-enc.h: New file.
37333         * modules/uniconv/u16-strconv-to-enc-tests: New file.
37334         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
37335
37336         * modules/uniconv/u8-strconv-to-enc: New file.
37337         * lib/uniconv/u8-strconv-to-enc.c: New file.
37338         * modules/uniconv/u8-strconv-to-enc-tests: New file.
37339         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
37340
37341         * modules/uniconv/u32-strconv-from-enc: New file.
37342         * lib/uniconv/u32-strconv-from-enc.c: New file.
37343         * modules/uniconv/u32-strconv-from-enc-tests: New file.
37344         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
37345
37346         * modules/uniconv/u16-strconv-from-enc: New file.
37347         * lib/uniconv/u16-strconv-from-enc.c: New file.
37348         * modules/uniconv/u16-strconv-from-enc-tests: New file.
37349         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
37350
37351         * modules/uniconv/u8-strconv-from-enc: New file.
37352         * lib/uniconv/u8-strconv-from-enc.c: New file.
37353         * lib/uniconv/u-strconv-from-enc.h: New file.
37354         * modules/uniconv/u8-strconv-from-enc-tests: New file.
37355         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
37356
37357         * modules/uniconv/u32-conv-from-enc: New file.
37358         * lib/uniconv/u32-conv-from-enc.c: New file.
37359         * modules/uniconv/u32-conv-from-enc-tests: New file.
37360         * tests/uniconv/test-u32-conv-from-enc.c: New file.
37361
37362         * modules/uniconv/u16-conv-from-enc: New file.
37363         * lib/uniconv/u16-conv-from-enc.c: New file.
37364         * lib/uniconv/u-conv-from-enc.h: New file.
37365         * modules/uniconv/u16-conv-from-enc-tests: New file.
37366         * tests/uniconv/test-u16-conv-from-enc.c: New file.
37367
37368         * modules/uniconv/u8-conv-from-enc: New file.
37369         * lib/uniconv/u8-conv-from-enc.c: New file.
37370         * modules/uniconv/u8-conv-from-enc-tests: New file.
37371         * tests/uniconv/test-u8-conv-from-enc.c: New file.
37372
37373         * modules/uniconv/base: New file.
37374         * lib/uniconv.h: New file.
37375
37376 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
37377
37378         * doc/gnulib-tool.texi (Initial import): Update to match current
37379         behavior with strdup module.
37380         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
37381         * lib/memmem.h: Remove; all uses removed.  This is now done
37382         by <string.h>.
37383         * lib/mempcpy.h: Likewise.
37384         * lib/memrchr.h: Likewise.
37385         * lib/stpcpy.h: Likewise.
37386         * lib/stpncpy.h: Likewise.
37387         * lib/strcase.h: Likewise.
37388         * lib/strchrnul.h: Likewise.
37389         * lib/strdup.h: Likewise.
37390         * lib/strndup.h: Likewise.
37391         * lib/strnlen.h: Likewise.
37392         * lib/strpbrk.h: Likewise.
37393         * lib/strsep.h: Likewise.
37394         * lib/strstr.h: Likewise.
37395         * lib/strtok_r.h: Likewise.
37396         * lib/string_.h: New file.
37397         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
37398         Rely on <string.h> instead.
37399         * lib/canon-host.c: Likewise.
37400         * lib/chdir-long.c: Likewise.
37401         * lib/concatpath.c: Likewise.
37402         * lib/exclude.c: Likewise.
37403         * lib/fchdir.c: Likewise.
37404         * lib/getaddrinfo.c: Likewise.
37405         * lib/getcwd.c: Likewise.
37406         * lib/getsubopt.c: Likewise.
37407         * lib/glob.c: Likewise.
37408         * lib/hard-locale.c: Likewise.
37409         * lib/iconvme.c: Likewise.
37410         * lib/javacomp.c: Likewise.
37411         * lib/mempcpy.c: Likewise.
37412         * lib/memrchr.c: Likewise.
37413         * lib/regex_internal.h: Likewise.
37414         * lib/stpncpy.c: Likewise.
37415         * lib/strcasecmp.c: Likewise.
37416         * lib/strchrnul.c: Likewise.
37417         * lib/strdup.c: Likewise.
37418         * lib/striconv.c: Likewise.
37419         * lib/striconveh.c: Likewise.
37420         * lib/striconveha.c: Likewise.
37421         * lib/strncasecmp.c: Likewise.
37422         * lib/strndup.c: Likewise.
37423         * lib/strnlen.c: Likewise.
37424         * lib/strsep.c: Likewise.
37425         * lib/strstr.c: Likewise.
37426         * lib/strtok_r.c: Likewise.
37427         * lib/userspec.c: Likewise.
37428         * lib/w32spawn.h: Likewise.
37429         * lib/xstrndup.c: Likewise.
37430         * lib/mountlist.c (strstr): Remove decl.
37431         * m4/string_h.m4: New file.
37432         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
37433         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
37434         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
37435         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
37436         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
37437         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
37438         Set REPLACE_STRCASECMP if necessary.
37439         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
37440         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
37441         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
37442         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
37443         HAVE_DECL_STRDUP if necessary.
37444         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
37445         since gl_FUNC_STRNDUP does that now.
37446         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
37447         Check for decl here...
37448         (gl_PREREQ_STRNLEN): ... not here.
37449         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
37450         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
37451         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
37452         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
37453         necessary.
37454         * modules/string: New file.
37455         * modules/memmem (Files): Remove special-purpose include file.
37456         (Depends-on): Add string.
37457         (Include): Include <string.h>, not the removed file.
37458         * modules/mempcpy: Likewise.
37459         * modules/memrchr: Likewise.
37460         * modules/stpcpy: Likewise.
37461         * modules/stpncpy: Likewise.
37462         * modules/strcase: Likewise.
37463         * modules/strchrnul: Likewise.
37464         * modules/strdup: Likewise.
37465         * modules/strndup: Likewise.
37466         * modules/strnlen: Likewise.
37467         * modules/strpbrk: Likewise.
37468         * modules/strsep: Likewise.
37469         * modules/strstr: Likewise.
37470         * modules/strtok_r: Likewise.
37471         * tests/test-dirname.c: Don't include "strdup.h", since
37472         <string.h> now suffices.
37473         * tests/test-memmem.c: Don't include "memmem.h", since
37474         <string.h> now suffices.
37475
37476 2007-01-25  Bruno Haible  <bruno@clisp.org>
37477
37478         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
37479         *resultp is 0.
37480
37481         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
37482         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
37483         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
37484         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
37485
37486         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
37487         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
37488         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
37489         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
37490         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
37491         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
37492
37493 2007-01-24  Bruno Haible  <bruno@clisp.org>
37494
37495         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
37496         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
37497         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
37498         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
37499         gl_FUNC_FTS_CORE.
37500         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
37501         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
37502         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
37503         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
37504         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
37505         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
37506         gl_FUNC_FCHOWNAT.
37507         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
37508         gl_FUNC_STRFTIME.
37509         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
37510         Reported by Ralf Wildenhues.
37511
37512 2007-01-24  Bruno Haible  <bruno@clisp.org>
37513
37514         Drop AC_REQUIRE calls that are redundant with the module dependencies.
37515         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
37516         gl_GETADDRINFO.
37517         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
37518         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
37519         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
37520
37521 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
37522
37523         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
37524         Don't use 'exit'; just return from 'main'.
37525         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
37526
37527         * lib/fnmatch_.h: Readjust white space and comments to match
37528         glibc, to avoid spurious diffs.
37529
37530 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
37531
37532         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
37533         2004-12-01 change by Jakub Jelinek, since this code won't compile
37534         if !LIBC.  Problem reported by Bob Proulx.
37535
37536 2007-01-23  Bruno Haible  <bruno@clisp.org>
37537
37538         * lib/striconveh.c: Include c-strcaseeq.h.
37539         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
37540         * modules/striconveh (Depends-on): Add c-strcaseeq.
37541
37542 2007-01-23  Bruno Haible  <bruno@clisp.org>
37543
37544         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
37545
37546         * modules/c-strcaseeq: New file.
37547         * lib/c-strcaseeq.h: New file.
37548
37549         * modules/streq: New file.
37550         * lib/streq.h: New file.
37551
37552 2007-01-23  Bruno Haible  <bruno@clisp.org>
37553
37554         * modules/striconveha-tests: New file.
37555         * tests/test-striconveha.c: New file.
37556
37557         * lib/striconveha.h: Include <stdbool.h>.
37558         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
37559         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
37560         (mem_iconveha_notranslit): Renamed from mem_iconveha.
37561         (mem_iconveha): New function.
37562         (str_iconveha_notranslit): Renamed from str_iconveha.
37563         (str_iconveha): New function.
37564         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
37565         c-strcase.
37566
37567 2007-01-23  Bruno Haible  <bruno@clisp.org>
37568
37569         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
37570         encodings without forgiving before trying any encoding with handler.
37571         (str_iconveha): Try all encodings without forgiving before trying any
37572         encoding with handler.
37573
37574 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
37575
37576         Import the following changes from libc.
37577
37578         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
37579
37580         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
37581
37582         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
37583
37584         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
37585         normal_bracket label.
37586
37587         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
37588
37589         [BZ #361]
37590         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
37591         to normal_bracket after fetching the next character.
37592
37593 2007-01-22  Bruno Haible  <bruno@clisp.org>
37594
37595         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
37596         argument.
37597         * lib/striconveh.c (iconv_carefully_1): New function.
37598         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
37599         argument.
37600         (str_cd_iconveh): Update.
37601         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
37602         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
37603         * tests/test-striconveh.c (MAGIC): New macro.
37604         (new_offsets): New function.
37605         (main): Test call with and without offsets.
37606
37607 2007-01-22  Bruno Haible  <bruno@clisp.org>
37608
37609         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
37610         * modules/sys_select (Makefile.am): Likewise.
37611         * modules/sys_socket (Makefile.am): Likewise.
37612         * modules/sys_time (Makefile.am): Likewise.
37613
37614 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
37615
37616         * modules/gettimeofday (License): Change from GPL to LGPL, since
37617         gettimeofday is a library function.
37618
37619 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37620
37621         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
37622
37623 2007-01-21  Bruno Haible  <bruno@clisp.org>
37624
37625         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
37626
37627 2007-01-21  Bruno Haible  <bruno@clisp.org>
37628
37629         * modules/striconveha: New file.
37630         * lib/striconveha.h: New file.
37631         * lib/striconveha.c: New file.
37632         * MODULES.html.sh (Internationalization functions): Add striconveha.
37633         * lib/striconv.c (str_iconv): Optimize the case of an empty input
37634         string.
37635         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
37636
37637 2007-01-21  Bruno Haible  <bruno@clisp.org>
37638
37639         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
37640         * lib/striconveh.c (str_iconveh): Likewise.
37641
37642 2007-01-21  Bruno Haible  <bruno@clisp.org>
37643
37644         * lib/striconveh.h (mem_iconveh): New declaration.
37645         * lib/striconveh.c (mem_iconveh): New function.
37646         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
37647
37648 2007-01-21  Bruno Haible  <bruno@clisp.org>
37649
37650         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
37651
37652         * lib/striconveh.h (mem_cd_iconveh): Change specification.
37653         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
37654         original result buffer.
37655         (str_cd_iconveh): Update.
37656         * tests/test-striconveh.c (main): Update.
37657
37658         * lib/striconv.h (mem_cd_iconv): Change specification.
37659         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
37660         result buffer.
37661         (str_cd_iconv): Update.
37662         * tests/test-striconv.c (main): Update.
37663
37664 2007-01-21  Bruno Haible  <bruno@clisp.org>
37665
37666         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
37667
37668 2007-01-20  Jim Meyering  <jim@meyering.net>
37669
37670         * lib/userspec.c (parse_with_separator): If a user or group string
37671         starts with "+", skip the corresponding name-to-ID look-up, since
37672         such a look-up must fail: user and group names may not include "+".
37673
37674 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
37675
37676         * lib/poll.c: Include sys/time.h and time.h unconditionally,
37677         since we now assume the sys_time module.
37678         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
37679         check for sys/time.h; no longer needed.
37680         * modules/poll (Depends-on): Depend on sys_time.
37681
37682 2007-01-18  Bruno Haible  <bruno@clisp.org>
37683
37684         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
37685         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
37686
37687         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
37688         gettimeofday.
37689
37690         * tests/test-gettimeofday.c: Include <time.h>.
37691         (dummy): Remove variable.
37692
37693         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
37694         gl_HEADER_SYS_TIME_H.
37695         (gl_HEADER_SYS_TIME_H): New macro.
37696
37697         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
37698         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37699         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
37700         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
37701         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37702         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
37703         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
37704         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37705         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
37706         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
37707         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37708
37709         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
37710         last change; it caused a compilation error when cross-compiling to
37711         Cygwin.
37712
37713 2007-01-18  Jim Meyering  <jim@meyering.net>
37714
37715         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
37716         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
37717         than the race-prone "test -d sys || mkdir sys".
37718         (configure.ac): Use AC_PROG_MKDIR_P.
37719         * modules/sys_select: Likewise.
37720         * modules/sys_socket: Likewise.
37721         * modules/sys_time: Likewise.
37722
37723 2007-01-18  Eric Blake  <ebb9@byu.net>
37724
37725         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
37726         replace gettimeofday.
37727         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
37728         name, to avoid infinite recursion.
37729
37730 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
37731
37732         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
37733         module sys_time.
37734         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
37735         assume timespec.h defines struct timeval.
37736         * lib/settime.c: Likewise.
37737         * lib/utimens.c: Likewise.
37738         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
37739         since we now assume the gettimeofday module.
37740         * lib/tempname.c (__gen_tempname): Likewise.
37741         * lib/gettimeofday.h: Remove.
37742         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
37743         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
37744         Include <time.h>, for 'time()'.
37745         (localtime_buffer_addr): Also use this workaround if
37746         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
37747         to simplify the uses.  All uses changed.
37748         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
37749         that #undef is inside {}, and 'const' follows type name consistently.
37750         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
37751         (gettimeofday): Do not use the maximum possible value for
37752         tv->tv_usec, since that might break usages other than ls.c.
37753         Instead, we'll leave ls.c alone.  This undoes today's patch
37754         by Bruno.  Add a compile-time warning for 1s-clock resolution;
37755         we've never observed the problem but might as well keep the
37756         canary.
37757         * lib/nanosleep.c: Include timespec.h first, for interface check.
37758         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
37759         now assume the sys_time module.
37760         * lib/tempname.c: Likewise.
37761         * lib/timespec.h: Likewise.
37762         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
37763         needed.
37764         * lib/strftime.c: Likewise.
37765         * lib/timespec.h: Likewise.
37766         * lib/posixtm.c: Include posixtm.h first, for interface check.
37767         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
37768         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
37769         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
37770         * lib/sys_time_.h: New file.
37771         * lib/timespec.h (struct timespec): Use long int, not long.
37772         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
37773         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
37774         Remove obsolescent call to AC_HEADER_TIME.
37775         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
37776         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37777         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
37778         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
37779         Likewise.
37780         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
37781         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
37782         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
37783         into the sys_time module.  Check for gettimeofday just once.
37784         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
37785         for gettimeofday signature to just check the signature.  Merely
37786         compile it, since linking doesn't test signature.  Improve test for
37787         whether gettimeofday.o is actually needed.
37788         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
37789         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
37790         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
37791         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37792         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
37793         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
37794         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
37795         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
37796         than worrying about sys/time.h.
37797         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
37798         Don't bother worrying about TIME_WITH_SYS_TIME.
37799         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
37800         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
37801         * m4/sys_time_h.m4: New file.
37802         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
37803         Don't include sys/time.h.  Return from main rather than exiting.
37804         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
37805         all uses changed.
37806         * modules/gethrxtime (Depends-on): Add sys_time.
37807         * modules/gettime (Depends-on): Likewise.
37808         * modules/gettimeofday (Depends-on): Likewise.
37809         * modules/nanosleep (Depends-on): Likewise.
37810         * modules/settime (Depends-on): Likewise.
37811         * modules/tempname (Depends-on): Likewise.
37812         * modules/utimens (Depends-on): Likewise.
37813         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
37814         (Include:) Change back to <sys/time.h>.
37815         (Maintainer:) Add self.
37816         * modules/sys_time: New file.
37817         * modules/tempname (Depends-on): Add gettimeofday.
37818         * tests/test-gettimeofday.c: Include <sys/time.h>
37819         rather than gettimeofday.h.
37820
37821 2007-01-17  Bruno Haible  <bruno@clisp.org>
37822
37823         * gnulib-tool (func_get_license): Revert last patch. Instead, let
37824         the license default to GPL.
37825         (func_create_testdir): Don't complain if a module is LGPL and its
37826         tests module depends on GPLed modules.
37827
37828 2007-01-17  Bruno Haible  <bruno@clisp.org>
37829
37830         * lib/gettimeofday.c (gettimeofday): Add code for the case
37831         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
37832         maximum possible value for tv->tv_usec, rather than the minimum one.
37833
37834 2005-10-08  Martin Lambers  <marlam@marlam.de>
37835 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
37836 2007-01-16  Bruno Haible  <bruno@clisp.org>
37837
37838         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
37839         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
37840         gl_FUNC_GETTIMEOFDAY.
37841         (Include): Add gettimeofday.h.
37842         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
37843         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
37844         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
37845         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
37846         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
37847         * lib/gettimeofday.h: New file.
37848         * lib/gettimeofday.c: Include <sys/timeb.h>.
37849         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
37850         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
37851         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
37852         fall back on time().
37853
37854         * tests/test-gettimeofday.c: New file.
37855         * modules/gettimeofday-tests: New file.
37856
37857 2007-01-16  Eric Blake  <ebb9@byu.net>
37858
37859         * modules/fnmatch (Depends-on): Depend on wchar.
37860         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
37861         * m4/fnmatch.m4: Likewise.
37862         * modules/mbchar (Makefile.am): Assume <wchar.h>.
37863         * m4/mbchar.m4: Likewise.
37864         * modules/mbswidth (Depends-on): Depend on wchar.
37865         * lib/mbswidth.c: Assume <wchar.h>.
37866         * m4/mbswidth.m4: Likewise.
37867         * modules/quotearg (Depends-on): Depend on wchar.
37868         * lib/quotearg.c: Assume <wchar.h>.
37869         * m4/quotearg.m4: Likewise.
37870         * modules/regex (Depends-on): Depend on wchar.
37871         * lib/regex_internal.h: Assume <wchar.h>.
37872         * m4/regex.m4: Likewise.
37873         * modules/stdint (Depends-on): Depend on wchar.
37874         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
37875         * m4/stdint.m4: Likewise.
37876         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
37877         * modules/strftime (Depends-on): Depend on wchar.
37878         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
37879         * modules/strtol (Depends-on): Depend on wchar.
37880         * lib/strtol.c: Assume <wchar.h>.
37881         * modules/wcwidth (Depends-on): Depend on wchar.
37882         * lib/wcwidth.h: Assume <wchar.h>.
37883         * m4/wcwidth.m4: Likewise.
37884
37885 2007-01-16  Bruno Haible  <bruno@clisp.org>
37886
37887         * modules/csharpexec-script: New, created from...
37888         * modules/csharpexec: ... this.
37889
37890 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
37891
37892         * modules/javaexec-script: New, created from...
37893         * modules/javaexec: ... this.
37894
37895 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37896
37897         * modules/poll (Dependencies): Add sys_select.
37898
37899 2007-01-15  Jim Meyering  <jim@meyering.net>
37900
37901         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
37902         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
37903         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
37904         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
37905
37906 2007-01-15  Bruno Haible  <bruno@clisp.org>
37907
37908         * modules/striconveh: New file.
37909         * lib/striconveh.h: New file.
37910         * lib/striconveh.c: New file.
37911         * MODULES.html.sh (Internationalization functions): Add striconveh.
37912
37913         * modules/striconveh-tests: New file.
37914         * tests/test-striconveh.c: New file.
37915
37916 2007-01-15  Bruno Haible  <bruno@clisp.org>
37917
37918         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
37919         not from GNU libiconv or GNU libc.
37920
37921 2007-01-15  Bruno Haible  <bruno@clisp.org>
37922
37923         * doc/gnulib-intro.texi (Copyright): Explain the different license
37924         terms for module descriptions, autoconf macros, tests, documentation.
37925
37926 2007-01-14  Bruno Haible  <bruno@clisp.org>
37927
37928         * modules/striconv-tests: New file.
37929         * tests/test-striconv.c: New file.
37930
37931 2007-01-14  Bruno Haible  <bruno@clisp.org>
37932
37933         * modules/iconv-tests: New file.
37934         * tests/test-iconv.c: New file.
37935
37936 2007-01-14  Bruno Haible  <bruno@clisp.org>
37937
37938         * gnulib-tool (func_get_license): For test modules, use the license of
37939         the main module.
37940
37941 2007-01-14  Bruno Haible  <bruno@clisp.org>
37942
37943         * modules/iconv (Include): Clarify that <iconv.h> can only be included
37944         if iconv is found to exist.
37945
37946 2007-01-14  Bruno Haible  <bruno@clisp.org>
37947
37948         * modules/c-ctype-tests: New file.
37949         * tests/test-c-ctype.c: New file.
37950
37951 2007-01-14  Bruno Haible  <bruno@clisp.org>
37952
37953         * modules/binary-io-tests: New file.
37954         * tests/test-binary-io.sh: New file.
37955         * tests/test-binary-io.c: New file.
37956
37957 2007-01-14  Bruno Haible  <bruno@clisp.org>
37958
37959         * modules/array-oset-tests: New file.
37960         * tests/test-array_oset.c: New file.
37961
37962 2007-01-14  Bruno Haible  <bruno@clisp.org>
37963
37964         * modules/array-list-tests: New file.
37965         * tests/test-array_list.c: New file.
37966
37967 2007-01-14  Bruno Haible  <bruno@clisp.org>
37968
37969         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
37970         and make.
37971         Reported by Simon Josefsson in
37972         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
37973
37974 2007-01-14  Bruno Haible  <bruno@clisp.org>
37975
37976         * modules/allocsa-tests: New file.
37977         * tests/test-allocsa.c: New file.
37978
37979 2007-01-14  Bruno Haible  <bruno@clisp.org>
37980
37981         * modules/fchdir (Depends-on): Add absolute-header.
37982         * modules/unistd (Depends-on): Likewise.
37983
37984 2006-12-30  Bruno Haible  <bruno@clisp.org>
37985
37986         * modules/fchdir: New file.
37987         * modules/unistd (Files): Add lib/unistd_.h.
37988         (Makefile.am): Generate unistd.h from unistd_.h.
37989         * lib/fchdir.c: New file.
37990         * lib/dirent_.h: New file.
37991         * lib/unistd_.h: New file.
37992         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
37993         * m4/fchdir.m4: New file.
37994         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
37995         (gl_HEADER_UNISTD): Invoke it.
37996         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
37997         function.
37998         * lib/backupfile.c (opendir, closedir): Undefine.
37999         * lib/chown.c (open, close): Undefine.
38000         * lib/clean-temp.c (open, close): Undefine.
38001         * lib/copy-file.c (open, close): Undefine.
38002         * lib/execute.c (open, close): Undefine.
38003         * lib/fsusage.c (open, close): Undefine.
38004         * lib/gc-gnulib.c (open, close): Undefine.
38005         * lib/getcwd.c (opendir, closedir): Undefine.
38006         * lib/glob.c (opendir, closedir): Undefine.
38007         * lib/javacomp.c (open, close): Undefine.
38008         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
38009         * lib/openat-proc.c (open, close): Undefine.
38010         * lib/pagealign_alloc.c (open, close): Undefine.
38011         * lib/pipe.c (open, close): Undefine.
38012         * lib/progreloc.c (open, close): Undefine.
38013         * lib/savedir.c (opendir, closedir): Undefine.
38014         * lib/utime.c (open, close): Undefine.
38015         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
38016
38017 2007-01-10  Bruno Haible  <bruno@clisp.org>
38018
38019         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
38020
38021 2007-01-12  Eric Blake  <ebb9@byu.net>
38022
38023         Provide a robust <wchar.h>.  Further simplifications are now
38024         possible in other modules, but not included here.
38025         * modules/wchar: New module.
38026         * m4/wchar.m4: New file.
38027         * lib/wchar_.h: Likewise.
38028         * modules/mbchar (Depends-on): Depend on wchar, as the first use
38029         of the new module.
38030         * MODULES.html.sh (Extended multibyte and wide character utilities):
38031         New section.
38032
38033 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
38034
38035         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
38036         to a reasonable default for memory allocation.
38037         (xreadlink): Don't allocate a huge buffer, to work around a buggy
38038         file system that reports garbage st_size values for symlinks.
38039         Problem reported by Liyang Hu.
38040
38041 2007-01-11  Simon Josefsson  <simon@josefsson.org>
38042
38043         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
38044         Emacs .#* auto-save files).
38045
38046 2007-01-11  Bruno Haible  <bruno@clisp.org>
38047
38048         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
38049         directory.
38050
38051 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
38052
38053         Use @...@ consistently in lib/wctype_.h.
38054         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
38055         on it being set to 1 or 0.
38056         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
38057         go back to AC_SUBSTing it.
38058         * modules/wctype (Makefile.am): Undo previous change.
38059
38060 2007-01-10  Eric Blake  <ebb9@byu.net>
38061
38062         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
38063         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
38064         * modules/wctype (Makefile.am): Likewise.
38065         Reported by Chris McGuire.
38066
38067 2007-01-10  Jim Meyering  <jim@meyering.net>
38068
38069         fts.c: a small readability/maintainability improvement
38070         * lib/fts.c (fts_read): Make this code slightly more readable and
38071         maintainable by hoisting the "sp->fts_cur = p" assignments to
38072         immediately follow the statements that set P.  Derived from
38073         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
38074
38075 2007-01-10  Eric Blake  <ebb9@byu.net>
38076
38077         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
38078         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
38079         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
38080         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
38081         Reported by Chris McGuire.
38082
38083 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38084
38085         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
38086         in sed script.
38087
38088 2007-01-09  Bruno Haible  <bruno@clisp.org>
38089
38090         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
38091         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
38092         variables.
38093         (func_module): Use them.
38094
38095 2007-01-09  Bruno Haible  <bruno@clisp.org>
38096
38097         * modules/unistr/base: New file.
38098         * lib/unistr.h: New file.
38099
38100         * modules/unistr/u8-to-u16: New file.
38101         * lib/unistr/u8-to-u16.c: New file.
38102
38103         * modules/unistr/u8-to-u32: New file.
38104         * lib/unistr/u8-to-u32.c: New file.
38105
38106         * modules/unistr/u16-to-u8: New file.
38107         * lib/unistr/u16-to-u8.c: New file.
38108
38109         * modules/unistr/u16-to-u32: New file.
38110         * lib/unistr/u16-to-u32.c: New file.
38111
38112         * modules/unistr/u32-to-u8: New file.
38113         * lib/unistr/u32-to-u8.c: New file.
38114
38115         * modules/unistr/u32-to-u16: New file.
38116         * lib/unistr/u32-to-u16.c: New file.
38117
38118         * modules/unistr/u8-check: New file.
38119         * modules/unistr/u16-check: New file.
38120         * modules/unistr/u32-check: New file.
38121         * lib/unistr/u8-check.c: New file.
38122         * lib/unistr/u16-check.c: New file.
38123         * lib/unistr/u32-check.c: New file.
38124
38125         * modules/unistr/u8-chr: New file.
38126         * modules/unistr/u16-chr: New file.
38127         * modules/unistr/u32-chr: New file.
38128         * lib/unistr/u8-chr.c: New file.
38129         * lib/unistr/u16-chr.c: New file.
38130         * lib/unistr/u32-chr.c: New file.
38131
38132         * modules/unistr/u8-cmp: New file.
38133         * modules/unistr/u16-cmp: New file.
38134         * modules/unistr/u32-cmp: New file.
38135         * lib/unistr/u8-cmp.c: New file.
38136         * lib/unistr/u16-cmp.c: New file.
38137         * lib/unistr/u32-cmp.c: New file.
38138
38139         * modules/unistr/u8-cpy: New file.
38140         * modules/unistr/u16-cpy: New file.
38141         * modules/unistr/u32-cpy: New file.
38142         * lib/unistr/u8-cpy.c: New file.
38143         * lib/unistr/u16-cpy.c: New file.
38144         * lib/unistr/u32-cpy.c: New file.
38145         * lib/unistr/u-cpy.h: New file.
38146
38147         * modules/unistr/u8-cpy-alloc: New file.
38148         * modules/unistr/u16-cpy-alloc: New file.
38149         * modules/unistr/u32-cpy-alloc: New file.
38150         * lib/unistr/u8-cpy-alloc.c: New file.
38151         * lib/unistr/u16-cpy-alloc.c: New file.
38152         * lib/unistr/u32-cpy-alloc.c: New file.
38153         * lib/unistr/u-cpy-alloc.h: New file.
38154
38155         * modules/unistr/u8-endswith: New file.
38156         * modules/unistr/u16-endswith: New file.
38157         * modules/unistr/u32-endswith: New file.
38158         * lib/unistr/u8-endswith.c: New file.
38159         * lib/unistr/u16-endswith.c: New file.
38160         * lib/unistr/u32-endswith.c: New file.
38161         * lib/unistr/u-endswith.h: New file.
38162
38163         * modules/unistr/u8-mblen: New file.
38164         * modules/unistr/u16-mblen: New file.
38165         * modules/unistr/u32-mblen: New file.
38166         * lib/unistr/u8-mblen.c: New file.
38167         * lib/unistr/u16-mblen.c: New file.
38168         * lib/unistr/u32-mblen.c: New file.
38169
38170         * modules/unistr/u8-mbtouc: New file.
38171         * modules/unistr/u16-mbtouc: New file.
38172         * modules/unistr/u32-mbtouc: New file.
38173         * lib/unistr/u8-mbtouc.c: New file.
38174         * lib/unistr/u16-mbtouc.c: New file.
38175         * lib/unistr/u32-mbtouc.c: New file.
38176
38177         * modules/unistr/u8-mbtouc-safe: New file.
38178         * modules/unistr/u16-mbtouc-safe: New file.
38179         * modules/unistr/u32-mbtouc-safe: New file.
38180         * lib/unistr/u8-mbtouc-safe.c: New file.
38181         * lib/unistr/u16-mbtouc-safe.c: New file.
38182         * lib/unistr/u32-mbtouc-safe.c: New file.
38183
38184         * modules/unistr/u8-move: New file.
38185         * modules/unistr/u16-move: New file.
38186         * modules/unistr/u32-move: New file.
38187         * lib/unistr/u8-move.c: New file.
38188         * lib/unistr/u16-move.c: New file.
38189         * lib/unistr/u32-move.c: New file.
38190         * lib/unistr/u-move.h: New file.
38191
38192         * modules/unistr/u8-next: New file.
38193         * modules/unistr/u16-next: New file.
38194         * modules/unistr/u32-next: New file.
38195         * lib/unistr/u8-next.c: New file.
38196         * lib/unistr/u16-next.c: New file.
38197         * lib/unistr/u32-next.c: New file.
38198
38199         * modules/unistr/u8-prev: New file.
38200         * modules/unistr/u16-prev: New file.
38201         * modules/unistr/u32-prev: New file.
38202         * lib/unistr/u8-prev.c: New file.
38203         * lib/unistr/u16-prev.c: New file.
38204         * lib/unistr/u32-prev.c: New file.
38205
38206         * modules/unistr/u8-set: New file.
38207         * modules/unistr/u16-set: New file.
38208         * modules/unistr/u32-set: New file.
38209         * lib/unistr/u8-set.c: New file.
38210         * lib/unistr/u16-set.c: New file.
38211         * lib/unistr/u32-set.c: New file.
38212         * lib/unistr/u-set.h: New file.
38213
38214         * modules/unistr/u8-startswith: New file.
38215         * modules/unistr/u16-startswith: New file.
38216         * modules/unistr/u32-startswith: New file.
38217         * lib/unistr/u8-startswith.c: New file.
38218         * lib/unistr/u16-startswith.c: New file.
38219         * lib/unistr/u32-startswith.c: New file.
38220         * lib/unistr/u-startswith.h: New file.
38221
38222         * modules/unistr/u8-stpcpy: New file.
38223         * modules/unistr/u16-stpcpy: New file.
38224         * modules/unistr/u32-stpcpy: New file.
38225         * lib/unistr/u8-stpcpy.c: New file.
38226         * lib/unistr/u16-stpcpy.c: New file.
38227         * lib/unistr/u32-stpcpy.c: New file.
38228         * lib/unistr/u-stpcpy.h: New file.
38229
38230         * modules/unistr/u8-stpncpy: New file.
38231         * modules/unistr/u16-stpncpy: New file.
38232         * modules/unistr/u32-stpncpy: New file.
38233         * lib/unistr/u8-stpncpy.c: New file.
38234         * lib/unistr/u16-stpncpy.c: New file.
38235         * lib/unistr/u32-stpncpy.c: New file.
38236         * lib/unistr/u-stpncpy.h: New file.
38237
38238         * modules/unistr/u8-strcat: New file.
38239         * modules/unistr/u16-strcat: New file.
38240         * modules/unistr/u32-strcat: New file.
38241         * lib/unistr/u8-strcat.c: New file.
38242         * lib/unistr/u16-strcat.c: New file.
38243         * lib/unistr/u32-strcat.c: New file.
38244         * lib/unistr/u-strcat.h: New file.
38245
38246         * modules/unistr/u8-strchr: New file.
38247         * modules/unistr/u16-strchr: New file.
38248         * modules/unistr/u32-strchr: New file.
38249         * lib/unistr/u8-strchr.c: New file.
38250         * lib/unistr/u16-strchr.c: New file.
38251         * lib/unistr/u32-strchr.c: New file.
38252
38253         * modules/unistr/u8-strcmp: New file.
38254         * modules/unistr/u16-strcmp: New file.
38255         * modules/unistr/u32-strcmp: New file.
38256         * lib/unistr/u8-strcmp.c: New file.
38257         * lib/unistr/u16-strcmp.c: New file.
38258         * lib/unistr/u32-strcmp.c: New file.
38259
38260         * modules/unistr/u8-strcpy: New file.
38261         * modules/unistr/u16-strcpy: New file.
38262         * modules/unistr/u32-strcpy: New file.
38263         * lib/unistr/u8-strcpy.c: New file.
38264         * lib/unistr/u16-strcpy.c: New file.
38265         * lib/unistr/u32-strcpy.c: New file.
38266         * lib/unistr/u-strcpy.h: New file.
38267
38268         * modules/unistr/u8-strcspn: New file.
38269         * modules/unistr/u16-strcspn: New file.
38270         * modules/unistr/u32-strcspn: New file.
38271         * lib/unistr/u8-strcspn.c: New file.
38272         * lib/unistr/u16-strcspn.c: New file.
38273         * lib/unistr/u32-strcspn.c: New file.
38274         * lib/unistr/u-strcspn.h: New file.
38275
38276         * modules/unistr/u8-strdup: New file.
38277         * modules/unistr/u16-strdup: New file.
38278         * modules/unistr/u32-strdup: New file.
38279         * lib/unistr/u8-strdup.c: New file.
38280         * lib/unistr/u16-strdup.c: New file.
38281         * lib/unistr/u32-strdup.c: New file.
38282         * lib/unistr/u-strdup.h: New file.
38283
38284         * modules/unistr/u8-strlen: New file.
38285         * modules/unistr/u16-strlen: New file.
38286         * modules/unistr/u32-strlen: New file.
38287         * lib/unistr/u8-strlen.c: New file.
38288         * lib/unistr/u16-strlen.c: New file.
38289         * lib/unistr/u32-strlen.c: New file.
38290         * lib/unistr/u-strlen.h: New file.
38291
38292         * modules/unistr/u8-strmblen: New file.
38293         * modules/unistr/u16-strmblen: New file.
38294         * modules/unistr/u32-strmblen: New file.
38295         * lib/unistr/u8-strmblen.c: New file.
38296         * lib/unistr/u16-strmblen.c: New file.
38297         * lib/unistr/u32-strmblen.c: New file.
38298
38299         * modules/unistr/u8-strmbtouc: New file.
38300         * modules/unistr/u16-strmbtouc: New file.
38301         * modules/unistr/u32-strmbtouc: New file.
38302         * lib/unistr/u8-strmbtouc.c: New file.
38303         * lib/unistr/u16-strmbtouc.c: New file.
38304         * lib/unistr/u32-strmbtouc.c: New file.
38305
38306         * modules/unistr/u8-strncat: New file.
38307         * modules/unistr/u16-strncat: New file.
38308         * modules/unistr/u32-strncat: New file.
38309         * lib/unistr/u8-strncat.c: New file.
38310         * lib/unistr/u16-strncat.c: New file.
38311         * lib/unistr/u32-strncat.c: New file.
38312         * lib/unistr/u-strncat.h: New file.
38313
38314         * modules/unistr/u8-strncmp: New file.
38315         * modules/unistr/u16-strncmp: New file.
38316         * modules/unistr/u32-strncmp: New file.
38317         * lib/unistr/u8-strncmp.c: New file.
38318         * lib/unistr/u16-strncmp.c: New file.
38319         * lib/unistr/u32-strncmp.c: New file.
38320
38321         * modules/unistr/u8-strncpy: New file.
38322         * modules/unistr/u16-strncpy: New file.
38323         * modules/unistr/u32-strncpy: New file.
38324         * lib/unistr/u8-strncpy.c: New file.
38325         * lib/unistr/u16-strncpy.c: New file.
38326         * lib/unistr/u32-strncpy.c: New file.
38327         * lib/unistr/u-strncpy.h: New file.
38328
38329         * modules/unistr/u8-strnlen: New file.
38330         * modules/unistr/u16-strnlen: New file.
38331         * modules/unistr/u32-strnlen: New file.
38332         * lib/unistr/u8-strnlen.c: New file.
38333         * lib/unistr/u16-strnlen.c: New file.
38334         * lib/unistr/u32-strnlen.c: New file.
38335         * lib/unistr/u-strnlen.h: New file.
38336
38337         * modules/unistr/u8-strpbrk: New file.
38338         * modules/unistr/u16-strpbrk: New file.
38339         * modules/unistr/u32-strpbrk: New file.
38340         * lib/unistr/u8-strpbrk.c: New file.
38341         * lib/unistr/u16-strpbrk.c: New file.
38342         * lib/unistr/u32-strpbrk.c: New file.
38343         * lib/unistr/u-strpbrk.h: New file.
38344
38345         * modules/unistr/u8-strrchr: New file.
38346         * modules/unistr/u16-strrchr: New file.
38347         * modules/unistr/u32-strrchr: New file.
38348         * lib/unistr/u8-strrchr.c: New file.
38349         * lib/unistr/u16-strrchr.c: New file.
38350         * lib/unistr/u32-strrchr.c: New file.
38351
38352         * modules/unistr/u8-strspn: New file.
38353         * modules/unistr/u16-strspn: New file.
38354         * modules/unistr/u32-strspn: New file.
38355         * lib/unistr/u8-strspn.c: New file.
38356         * lib/unistr/u16-strspn.c: New file.
38357         * lib/unistr/u32-strspn.c: New file.
38358         * lib/unistr/u-strspn.h: New file.
38359
38360         * modules/unistr/u8-strstr: New file.
38361         * modules/unistr/u16-strstr: New file.
38362         * modules/unistr/u32-strstr: New file.
38363         * lib/unistr/u8-strstr.c: New file.
38364         * lib/unistr/u16-strstr.c: New file.
38365         * lib/unistr/u32-strstr.c: New file.
38366         * lib/unistr/u-strstr.h: New file.
38367
38368         * modules/unistr/u8-strtok: New file.
38369         * modules/unistr/u16-strtok: New file.
38370         * modules/unistr/u32-strtok: New file.
38371         * lib/unistr/u8-strtok.c: New file.
38372         * lib/unistr/u16-strtok.c: New file.
38373         * lib/unistr/u32-strtok.c: New file.
38374         * lib/unistr/u-strtok.h: New file.
38375
38376         * modules/unistr/u8-uctomb: New file.
38377         * modules/unistr/u16-uctomb: New file.
38378         * modules/unistr/u32-uctomb: New file.
38379         * lib/unistr/u8-uctomb.c: New file.
38380         * lib/unistr/u16-uctomb.c: New file.
38381         * lib/unistr/u32-uctomb.c: New file.
38382
38383         * MODULES.html.sh (Unicode string functions): Add the new modules.
38384
38385 2007-01-08  Bruno Haible  <bruno@clisp.org>
38386
38387         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
38388         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
38389         subdirectories.
38390
38391 2007-01-08  Karl Berry  <karl@gnu.org>
38392
38393         * doc/error.texi: mention that main() fns must set program_name
38394         when progname is used.
38395
38396 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
38397
38398         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
38399         WCTYPE_H is empty, for the benefit of builds from non-distclean
38400         directories.  Problem reported by Eric Blake in
38401         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
38402
38403 2007-01-08  Bruno Haible  <bruno@clisp.org>
38404
38405         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
38406         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
38407         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
38408         PROVIDE_CANONICALIZE_FILENAME_MODE.
38409         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
38410
38411 2007-01-08  Bruno Haible  <bruno@clisp.org>
38412
38413         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
38414         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
38415         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
38416         * lib/fts.c: Likewise.
38417         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
38418
38419 2006-12-25  Bruno Haible  <bruno@clisp.org>
38420
38421         * modules/utf8-ucs4-safe: New file.
38422         * lib/utf8-ucs4-safe.h: New file.
38423         * lib/unistr/utf8-ucs4-safe.c: New file.
38424
38425         * modules/utf16-ucs4-safe: New file.
38426         * lib/utf16-ucs4-safe.h: New file.
38427         * lib/unistr/utf16-ucs4-safe.c: New file.
38428
38429         * MODULES.html.sh (Unicode string functions): Add the new modules.
38430
38431 2007-01-08  Bruno Haible  <bruno@clisp.org>
38432
38433         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
38434         (Depends-on): Add unitypes.
38435         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
38436         (u8_mbtouc_aux): Move out to separate file.
38437         (u8_mbtouc): Use ucs4_t, uint8_t types.
38438         * lib/unistr/utf8-ucs4.c: New file.
38439
38440         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
38441         (Depends-on): Add unitypes.
38442         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
38443         (u16_mbtouc_aux): Move out to separate file.
38444         (u16_mbtouc): Use ucs4_t, uint16_t types.
38445         * lib/unistr/utf16-ucs4.c: New file.
38446
38447         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
38448         (Depends-on): Add unitypes.
38449         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
38450         (u8_uctomb_aux): Move out to separate file.
38451         (u8_uctomb): Use ucs4_t, uint8_t types.
38452         * lib/unistr/ucs4-utf8.c: New file.
38453
38454         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
38455         (Depends-on): Add unitypes.
38456         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
38457         (u16_uctomb_aux): Move out to separate file.
38458         (u16_uctomb): Use ucs4_t, uint16_t types.
38459         * lib/unistr/ucs4-utf16.c: New file.
38460
38461 2006-12-25  Bruno Haible  <bruno@clisp.org>
38462
38463         * modules/unitypes: New file.
38464         * lib/unitypes.h: New file.
38465         * MODULES.html.sh (func_all_modules): New section "Unicode string
38466         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
38467         this section. Add unitypes.
38468
38469 2007-01-08  Bruno Haible  <bruno@clisp.org>
38470
38471         Avoid variable names that conflict with those from libtool.
38472         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
38473         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
38474         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
38475         library_names_spec to acl_library_names_spec, hardcode_* to
38476         acl_hardcode_*.
38477         Reported by Ralf Wildenhues.
38478
38479 2007-01-08  Bruno Haible  <bruno@clisp.org>
38480
38481         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
38482         definition.
38483         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
38484         definition.
38485         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
38486         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
38487         definition.
38488         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
38489         definition.
38490         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
38491         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
38492         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
38493         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
38494         definition.
38495         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
38496         definition.
38497         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
38498         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
38499         GC_USE_<algorithm>.
38500         * lib/gc-libgcrypt.c: Likewise.
38501         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
38502         * modules/gc-arctwo (configure.ac): Likewise.
38503         * modules/gc-des (configure.ac): Likewise.
38504         * modules/gc-hmac-md5 (configure.ac): Likewise.
38505         * modules/gc-hmac-sha1 (configure.ac): Likewise.
38506         * modules/gc-md2 (configure.ac): Likewise.
38507         * modules/gc-md4 (configure.ac): Likewise.
38508         * modules/gc-md5 (configure.ac): Likewise.
38509         * modules/gc-random (configure.ac): Likewise.
38510         * modules/gc-rijndael (configure.ac): Likewise.
38511         * modules/gc-sha1 (configure.ac): Likewise.
38512
38513 2007-01-08  Bruno Haible  <bruno@clisp.org>
38514
38515         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
38516         macro definition.
38517         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
38518         definition.
38519         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
38520         definition.
38521         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
38522         * modules/fcntl-safer (configure.ac): Likewise.
38523         * modules/fopen-safer (configure.ac): Likewise.
38524         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
38525         GNULIB_FWRITEERROR macro definition.
38526
38527 2007-01-08  Bruno Haible  <bruno@clisp.org>
38528
38529         * m4/gnulib-common.m4: New file.
38530         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
38531         (func_get_filelist): Add m4/gnulib-common.m4.
38532
38533 2007-01-08  Bruno Haible  <bruno@clisp.org>
38534
38535         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
38536         command.
38537
38538 2007-01-08  Jim Meyering  <jim@meyering.net>
38539
38540         Use a more robust test for a "can't happen" condition.
38541         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
38542         narrowed the st_size value.  Presuming the "can't happen" condition
38543         is true, that narrowing could conceivably convert an invalid st_size
38544         value into a valid one.  Instead, use a change based on Matthew
38545         Woehlke's original patch.
38546
38547         Slight readability improvement: use an assert-like macro
38548         in place of literal "abort ()" uses.
38549         * lib/fts.c (fts_assert): Define.
38550         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
38551         Use this macro instead of a bare 'abort'.
38552
38553 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
38554
38555         Don't worry about using IRIX 5.3's wctype.h broken definitions;
38556         simply work around them.
38557         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
38558         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
38559         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
38560         declaring.
38561         Don't bother to define as macros, since the standard doesn't require it.
38562         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
38563         longer worry about IRIX 5.3.
38564         (HAVE_WCTYPE_CTMP_BUG): Remove.
38565
38566 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
38567
38568         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
38569         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
38570         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
38571         Problems reported by Georg Schwarz for IRIX 5.3.
38572
38573         * gnulib-tool (autoconf_minversion): Take the maximum version number
38574         found, not the minimum.  Problem reported by James Youngman.
38575
38576 2007-01-03  Karl Berry  <karl@gnu.org>
38577
38578         * doc/error.texi: new file, explaining interaction with progname.
38579         * doc/gnulib.texi: include it.  Update copyright.
38580
38581 2007-01-03  Simon Josefsson  <simon@josefsson.org>
38582
38583         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
38584         AC_CANONICAL_HOST, to improve autobuild outputs.
38585
38586 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
38587             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
38588
38589         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
38590         sockets, server sockets, and other file descriptors.  Count errors
38591         to compute the return value.  Reorder the code a bit to be easier
38592         to follow.  Don't set event bits that were not requested (except
38593         POLLERR and POLLHUP).
38594
38595 2007-01-01  Bruno Haible  <bruno@clisp.org>
38596
38597         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
38598
38599 2007-01-03  Jim Meyering  <jim@meyering.net>
38600
38601         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
38602
38603 2007-01-02  Bruno Haible  <bruno@clisp.org>
38604
38605         * modules/settime (Include): Require timespec.h.
38606         * modules/nanosleep (Include): Likewise.
38607
38608 2007-01-01  Bruno Haible  <bruno@clisp.org>
38609
38610         * gnulib-tool (func_emit_copyright_notice): Bump year.
38611         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
38612
38613 2007-01-01  Bruno Haible  <bruno@clisp.org>
38614
38615         Improve support for OpenBSD.
38616         * build-aux/config.rpath (libname_spec): Export.
38617         (library_names_spec): New variable. Export.
38618         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
38619         library_names_spec from the config.rpath output. Locate shared library
38620         through the name pattern in library_names_spec.
38621
38622 2007-01-01  Eric Blake  <ebb9@byu.net>
38623
38624         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
38625
38626 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
38627
38628         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
38629         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
38630         assume the C locale, and avoid an "eval" that could cause trouble.
38631         Problem with SORT reported by Bob Proulx.
38632
38633         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
38634         Define.  Trivial patch from Henning Nielsen Lund, originally
38635         sent to bug-grep@gnu.org today.
38636
38637 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
38638
38639         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
38640         struct stat.  Problem reported by Henning Nielsen Lund.
38641         * lib/acl.c: Include acl.h first, to check interface.  Don't
38642         bother to include sys/types.h and sys/stat.h again.
38643
38644 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
38645
38646         Import the following change from libc; problem reported by
38647         Sven Verdoolaege.
38648
38649         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
38650
38651         [BZ #1373]
38652         * lib/argp.h: Remove __NTH for __argp_usage inline function.
38653
38654 2006-12-28  Jim Meyering  <jim@meyering.net>
38655
38656         * build-aux/announce-gen: Do not assume that the package
38657         builds any of tar.gz, tar.bz2, and .xdelta files.
38658         Suggestion from Simon Josefsson.
38659
38660 2006-12-28  Simon Josefsson  <simon@josefsson.org>
38661
38662         * modules/announce-gen: New file.
38663
38664 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
38665
38666         * lib/mbchar.h: Just include <wctype.h>; the wctype module
38667         handles its gotchas now.
38668         * lib/mbswidth.c: Likewise.
38669         * lib/wcwidth.h: Likewise.
38670         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
38671         and iswcntrl; the wctype module does this stuff now.
38672         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
38673         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
38674         * modules/mbchar (Depends-on): Add wctype.
38675         * modules/mbswidth (Depends-on): Likewise.
38676         * modules/wcwidth (Depends-on): Likewise.
38677
38678 2006-12-27  Eric Blake  <ebb9@byu.net>
38679
38680         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
38681         module uses more than what <wctype.h> is required to provide.
38682
38683 2006-12-26  Eric Blake  <ebb9@byu.net>
38684
38685         * gnulib-tool (sed_extract_prog): Avoid space-tab.
38686
38687 2006-12-26  Eric Blake  <ebb9@byu.net>
38688
38689         * modules/absolute-header: New module.
38690         * modules/fcntl (Depends-on): Depend on it.
38691         * modules/inttypes (Depends-on): Likewise.
38692         * modules/stdint (Depends-on): Likewise.
38693         * modules/sys_stat (Depends-on): Likewise.
38694         * modules/wctype (Depends-on): Likewise.
38695         * MODULES.html.sh (Support for building libraries and
38696         executables): Document it.
38697
38698 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
38699
38700         * gnulib-tool (SED): Remove, undoing previous change.
38701         The problem was that it broke coreutils on Solaris, because
38702         "sed --posix" leaked into a makefile.
38703         (sed): New alias, if 'alias' and GNU sed.
38704
38705 2006-12-24  Jim Meyering  <jim@meyering.net>
38706
38707         Work around an fchownat bug in glibc-2.4:
38708         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
38709         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
38710         in spite of the -P option.
38711         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
38712         New macros.
38713         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
38714         * modules/openat (Files): Add lib/fchownat.c.
38715         * lib/openat.c (fchownat): Don't define here.  Move to...
38716         * lib/fchownat.c: ...this new file.
38717
38718 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
38719
38720         Fix bug reported by Bruno Haible in
38721         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
38722         where quotearg.c didn't compile on Mac OS X 10.2 because it
38723         lacks <wchar.h> and wint_t.
38724         * lib/wctype_.h (__wctype_wint_t): New type.
38725         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
38726         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
38727         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
38728         Arg is now of type __wctype_wint_t, not wint_t.
38729         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
38730         substitute HAVE_WINT_T.
38731         * modules/wctype (Files): Add m4/wint_t.m4.
38732         (wctype.h): Substitute HAVE_WINT_T.
38733
38734 2006-12-23  Bruno Haible  <bruno@clisp.org>
38735
38736         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
38737
38738 2006-12-23  Bruno Haible  <bruno@clisp.org>
38739
38740         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
38741         S_ISLNK.
38742         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
38743         mingw.
38744
38745 2006-12-22  Bruno Haible  <bruno@clisp.org>
38746
38747         * lib/copy-file.c: Include acl.h.
38748         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
38749         Close the file descriptors only after being done with copy_acl.
38750         * modules/copy-file (Depends-on): Add acl.
38751
38752 2006-12-22  Bruno Haible  <bruno@clisp.org>
38753
38754         * gnulib-tool (SED): New variable.
38755         Use $SED instead of sed everywhere.
38756
38757 2006-12-22  Bruno Haible  <bruno@clisp.org>
38758
38759         * modules/no-c++: New file.
38760         * m4/no-c++.m4: New file.
38761         * MODULES.html.sh (Support for building libraries and executables):
38762         Add no-c++.
38763
38764 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
38765
38766         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
38767         Include <limits.h>, and use its INT_MAX to rewrite the
38768         j loop so that it does not overflow 'int'.  Problem reported by
38769         Ralf Wildenhues in
38770         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
38771         Play it safe by shifting left by 1 rather than multiplying by 2,
38772         as GCC is less likely to optimize this away when the value
38773         is signed (when it assumes overflow leads to undefined behavior).
38774         Also, don't assume time_t uses two's complement.
38775
38776 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
38777
38778         * MODULES.html.sh: New module wctype.
38779         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
38780         * lib/fnmatch.c: Don't bother to include <wchar.h> before
38781         <wctype.h>, since the new wctype module should fix this.
38782         * lib/quotearg.c: Include <wctype.h> unconditionally, since
38783         the wctype module should arrange for it.
38784         * lib/regex_internal.h: Likewise.
38785         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
38786         since the wctype module should handle this now.
38787         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
38788         * modules/fnmatch (Depends-on): Add wctype.
38789         * modules/quotearg (Depends-on): Likewise.
38790         * modules/regex (Depends-on): Likewise.
38791
38792 2006-12-19  Bruno Haible  <bruno@clisp.org>
38793
38794         * lib/strdup.h [C++]: Wrap definitions in extern "C".
38795         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
38796
38797 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38798
38799         * modules/savewd (Depends-on): Fix dependency on fcntl.
38800
38801 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
38802
38803         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
38804         conforms to C99, rather than relying on the user's environment
38805         setting of STDINT_H.
38806
38807 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
38808         and Eric Blake  <ebb9@byu.net>
38809
38810         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
38811         This is more consistent with the other defines here.
38812         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
38813         Port to z/OS.  Problem reported by Paul Gilmartin.
38814         Change local vars to use gl_ prefix rather than ac_.
38815         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
38816         with other defines.
38817         * modules/double-slash-root: New module.
38818         * modules/dirname (Files): Remove m4/double-slash-root.m4.
38819         (Depends-on): Add double-slash-root.
38820         * MODULES.html.sh (File system functions): Mention new module.
38821
38822 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
38823
38824         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
38825         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
38826         This is for the benefit of gzip, which doesn't do i18n.
38827
38828 2006-12-12  Jim Meyering  <jim@meyering.net>
38829
38830         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
38831         Reported by Andreas Schwab <schwab@suse.de>.
38832
38833 2006-12-12  Bruno Haible  <bruno@clisp.org>
38834
38835         Merge these changes.
38836         2006-09-05  Bruno Haible  <bruno@clisp.org>
38837         * lib/iconvme.c (iconv_string): No need to save and restore errno when
38838         iconv_alloc succeeded.
38839         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
38840         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
38841         test for " && dest " at the end - dest is always != NULL there. Call
38842         iconv with 4xNULL arguments initially, to reset the state. Call iconv
38843         with 2xNULL arguments, also to flush the state storage. Handle the
38844         IRIX iconv behaviour. Realloc the final result, to throw away unused
38845         memory.
38846
38847 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
38848
38849         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
38850         and fchmodat unconditionally, since glibc 2.4 has them.
38851         Problem reported by Arkadiusz Miskiewicz.
38852
38853 2006-12-10  Bruno Haible  <bruno@clisp.org>
38854
38855         * gnulib-tool (func_import): Show the include files only for those
38856         modules that are copied and specified.
38857         Reported by Karl Berry.
38858
38859 2006-12-08  Jim Meyering  <jim@meyering.net>
38860
38861         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
38862         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
38863
38864         * build-aux/announce-gen: Add two new options, both optional:
38865         --bootstrap-tools=TOOL_LIST
38866               a comma-separated list of tools, e.g.,
38867               autoconf,automake,bison,gnulib
38868         --gnulib-snapshot-date=DATE
38869               if gnulib is in the bootstrap tool list,
38870               then report this as the snapshot date.
38871               If not specified, use the current date/time.
38872               If you specify a date here, be sure it's UTC.
38873
38874 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38875
38876         * tests/test-argp-2.sh: Fix test to match actual output.
38877         (func_compare): Fix sed script to be portable.
38878
38879 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
38880
38881         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
38882         workaround for this case.  It is not autoconfigured now; offhand
38883         it's hard to see how to autoconfigure it.
38884
38885 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
38886
38887         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
38888         a directory that is about to be chowned.  Such a directory's
38889         initial file permissions should permit the owner only and this
38890         should not be changed until after the chown, since the group and
38891         other bits would be incorrect if they granted permission before
38892         the chown.
38893
38894         Fix porting problem for iswctype reported by Georg Schwarz in:
38895         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
38896         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
38897         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
38898         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
38899         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38900
38901 2006-12-03  Jim Meyering  <jim@meyering.net>
38902
38903         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
38904         p->fts_statp may not yet be defined.
38905         (fts_read): Instead, set it in the caller, once p->fts_statp is
38906         sure to be defined, and corresponds to a top-level directory.
38907         This bug made du -x fail.  Here's the coreutils test case:
38908         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
38909         Reported by Mike Frysinger.
38910
38911 2006-12-01  Jim Meyering  <jim@meyering.net>
38912
38913         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
38914         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
38915         Reported by Simon Josefsson.
38916
38917 2006-11-30  Jim Meyering  <jim@meyering.net>
38918
38919         * m4/warning.m4: Use the all-permissive copyright notice
38920         recommended by RMS (rather than LGPL).
38921         * m4/vararrays.m4: Likewise.
38922         * m4/flexmember.m4: Likewise.
38923
38924 2006-11-29  Bruno Haible  <bruno@clisp.org>
38925
38926         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
38927         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
38928         using +=.
38929         Reported by Simon Josefsson <simon@josefsson.org>.
38930
38931 2006-11-28  James Youngman <jay@gnu.org>
38932
38933         * README: Advise users that they might find the bug-gnulib@gnu.org
38934         and autotools-announce@gnu.org mailing lists useful.
38935
38936 2006-11-28  Bruno Haible  <bruno@clisp.org>
38937
38938         * m4/ptrdiff_max.m4: Remove file.
38939
38940 2006-11-21  Bruno Haible  <bruno@clisp.org>
38941
38942         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
38943         _AC_COMPUTE_INT.
38944         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38945         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
38946         _AC_COMPUTE_INT.
38947         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38948         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
38949         _AC_COMPUTE_INT.
38950         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38951
38952 2006-11-28  Jim Meyering  <jim@meyering.net>
38953
38954         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
38955         warning from "gcc -Wshadow" about shadowing the builtin.
38956
38957 2006-11-27  Bruno Haible  <bruno@clisp.org>
38958
38959         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
38960         _AC_COMPUTE_INT.
38961         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
38962
38963 2006-11-27  Bruno Haible  <bruno@clisp.org>
38964             Paul Eggert  <eggert@cs.ucla.edu>
38965
38966         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
38967
38968 2006-11-26  Bruno Haible  <bruno@clisp.org>
38969
38970         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
38971         noinst_LTLIBRARIES.
38972
38973 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
38974             Bruno Haible  <bruno@clisp.org>
38975
38976         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
38977         if compiling with "gcc -ansi".
38978
38979 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
38980
38981         Fix some incompatibilities with gcc -ansi -pedantic.
38982         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
38983         if compiling pedantically with GCC, unless it's C99 or later.
38984         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
38985         it mishandles gcc -ansi -pedantic as well.
38986         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
38987         if gcc -pedantic.
38988         * lib/regexec.c (check_node_accept_bytes): Don't use auto
38989         initializers for struct if -pedantic, unless it's C99 or later.
38990
38991 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
38992
38993         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
38994         Don't close an fd more than once. Identical atimes indicate
38995         success, not failure.
38996
38997 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
38998
38999         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
39000
39001 2006-11-23  Jim Meyering  <jim@meyering.net>
39002
39003         * build-aux/announce-gen: New file.  From coreutils.
39004
39005 2006-11-22  Jim Meyering  <jim@meyering.net>
39006
39007         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
39008         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
39009         (fts_read): Use a temporary to narrow the overused st_size member
39010         before using it in a switch statement.  Reported by Matthew Woehlke.
39011
39012         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
39013         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39014
39015 2006-11-20  Bruno Haible  <bruno@clisp.org>
39016
39017         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
39018         changequote instead of pairs of brackets.
39019         Reported by Andreas Schwab <schwab@suse.de>.
39020
39021 2006-11-21  Jim Meyering  <jim@meyering.net>
39022
39023         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
39024         so as to remain compatible with older compilers.
39025         Patch from Michael Deutschmann.
39026
39027 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
39028
39029         * MODULES.html.sh (File system functions): Add openat.
39030
39031         * lib/openat.h (rpl_fstatat): New macro, if
39032         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
39033         (fstatat): Define to rpl_fstatat under the same conditions,
39034         unless COMPILING_FSTATAT.
39035         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
39036         seems to have the bug.
39037         * lib/fstatat.c: New file.
39038         * modules/openat (Files): Add it.
39039
39040 2006-11-20  Bruno Haible  <bruno@clisp.org>
39041
39042         * Makefile: New file.
39043
39044 2006-11-20  Jim Meyering  <jim@meyering.net>
39045
39046         The beginnings of syntax-related checks for gnulib.
39047         * lib/Makefile: New file.
39048         * lib/t-idcache: New script.  Ensure that the two halves of
39049         idcache.c stay in sync.
39050
39051         * lib/idcache.c: Adjust comments in user- and group- portions to
39052         be more accurate, and to be consistent with one another.
39053
39054 2006-11-20  Jim Meyering  <jim@meyering.net>
39055
39056         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
39057         continue using the flexible array member (thus, this module performs
39058         half as many malloc calls), with the addition that...
39059         (getgroup, getuser): Consistently record a non-match via an empty
39060         "name" string, and map an empty string match to a NULL return value.
39061         * modules/idcache (Depends-on): Re-add flexmember.
39062
39063         * lib/idcache.c (getuser): Remove all uses of the register keyword.
39064         (getuidbyname, getgroup, getgidbyname): Likewise.
39065
39066         Use cleaner syntax: NULL rather than 0.
39067         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
39068
39069 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
39070
39071         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
39072         It mishandled the case where the group was missing.
39073         Problem reported by Greg Schafer.
39074         * modules/idcache: Likewise.
39075
39076 2006-11-18  Jim Meyering  <jim@meyering.net>
39077
39078         * check-module (%exempt_header): Add exception for some
39079         conditionally-included headers.
39080
39081         * modules/i-ring (Depends-on): Add verify.
39082         (License): Change to LGPL.
39083
39084 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
39085
39086         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
39087         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
39088         and inttostr.h.  Use snprintf rather than uinttostr, so that
39089         LGPLed code doesn't depend on GPLed.
39090
39091 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
39092
39093         * modules/inline (License): Change from GPL to LGPL.
39094
39095 2006-11-17  Jim Meyering  <jim@meyering.net>
39096
39097         * modules/d-type (License): Switch to LGPL.
39098
39099 2006-11-15  Bruno Haible  <bruno@clisp.org>
39100
39101         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
39102
39103 2006-11-15  Eric Blake  <ebb9@byu.net>
39104
39105         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
39106         the module dependency.
39107
39108 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39109             Bruno Haible  <bruno@clisp.org>
39110
39111         * gnulib-tool (func_create_testdir): Add license consistency check.
39112
39113 2006-11-15  Eric Blake  <ebb9@byu.net>
39114
39115         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
39116         random "(cached)" in configure output.
39117
39118 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39119
39120         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
39121         test for conforming inttypes.h is both announced and cached.
39122
39123         * MODULES.html.sh (seen_modules, seen_files): New variables.
39124         (func_module): Rewrite to use a few less gnulib-tool and sed
39125         invocations.  Avoid a couple of quadratic algorithms for ...
39126         (missed_modules, missed_files): ... these, with ...
39127         (func_append, func_tmpdir): ... these new functions, from
39128         gnulib-tool.  Analogously, install traps for cleanup.
39129
39130         * tests/test-gc.c (main): Remove unused variables.
39131         * tests/test-read-file.c: Include stdlib.h, for 'free'.
39132
39133 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
39134
39135         * modules/inttostr (License): Change to LGPL.
39136
39137 2006-11-14  Eric Blake  <ebb9@byu.net>
39138
39139         * modules/tempname (License): Change to LGPL.
39140
39141 2006-11-14  Eric Blake  <ebb9@byu.net>
39142
39143         * doc/functions.texi (Function Portability): *printf functions on
39144         Cygwin now understand all POSIX size specifiers.
39145
39146 2006-11-14  Bruno Haible  <bruno@clisp.org>
39147
39148         * modules/c-ctype (License): Change to LGPL.
39149
39150 2006-11-12  Bruno Haible  <bruno@clisp.org>
39151
39152         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
39153         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
39154         for GNOME libraries, for which the include files are installed in
39155         subdirectories of $prefix/include.
39156
39157 2006-11-12  Bruno Haible  <bruno@clisp.org>
39158
39159         * m4/lib-link.m4: Require at least autoconf-2.54.
39160         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
39161         name to underscores for the --with option.
39162
39163 2006-11-13  Bruno Haible  <bruno@clisp.org>
39164
39165         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
39166         the tests directory.
39167         Reported by Ralf Wildenhues.
39168
39169 2006-11-13  Bruno Haible  <bruno@clisp.org>
39170
39171         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
39172         (func_emit_initmacro_end): Undo the override here.
39173         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
39174         Works around the famous automake error in coreutils.
39175
39176 2006-11-13  Eric Blake  <ebb9@byu.net>
39177
39178         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
39179         element, not its node.
39180
39181 2006-11-12  Bruno Haible  <bruno@clisp.org>
39182
39183         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
39184         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
39185
39186 2006-11-12  Bruno Haible  <bruno@clisp.org>
39187
39188         * gnulib-tool: New option --local-symlink.
39189         (func_usage): Document it.
39190         (lsymbolic): New variable.
39191         (func_import, func_create_testdir): If --symlink was not specified,
39192         test whether --local-symlink was specified and the file comes from
39193         the local_gnulib_dir.
39194
39195 2006-11-12  Bruno Haible  <bruno@clisp.org>
39196
39197         * gnulib-tool (func_ln): New function.
39198         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
39199
39200 2006-11-12  Bruno Haible  <bruno@clisp.org>
39201
39202         Finish support for source files in subdirectories.
39203         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
39204         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
39205         AUTOMAKE_OPTIONS.
39206         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
39207
39208 2006-11-12  Bruno Haible  <bruno@clisp.org>
39209
39210         * gnulib-tool (func_get_automake_snippet): Synthesize also an
39211         EXTRA_lib_SOURCES augmentation.
39212         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
39213
39214 2006-11-12  Jim Meyering  <jim@meyering.net>
39215
39216         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
39217         file descriptors.  This also averts a failure on systems with
39218         native openat support when a traversed directory lacks "x" access.
39219         * lib/fts_.h: Include "i-ring.h"
39220         (struct FTS) [fts_fd_ring]: New member.
39221         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
39222         (FCHDIR): Add parentheses.
39223         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
39224         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
39225         When descending, rather than simply closing the previous
39226         fts_cwd_fd value, push that file descriptor onto the ring.
39227         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
39228         (fts_open): Initialize the new fd_ring member.
39229         (fts_close): Clear the ring.
39230         (fts_safe_changedir): When possible, use our new fd_ring to skip
39231         the diropen and fstat and dev/ino comparison that would normally
39232         accompany a virtual `chdir ("..")'.
39233
39234         * modules/fts (Depends-on): Add i-ring.
39235         * modules/i-ring: New module.
39236         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
39237         * m4/i-ring.m4: New file.
39238
39239 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39240
39241         * gnulib-tool (func_create_testdir): Fix replacement of
39242         `build-aux' in configure.ac.  Run autotools in gltests
39243         subdirectory.
39244         (func_create_testdir, func_create_megatestdir, test): There is
39245         no need for '--force' in most autotool invocations in a new
39246         tree.  Actually fail the whole test if any of the tools, or the
39247         configure or make stages fail.
39248
39249         Sync from Automake.
39250         * build-aux/gnupload: Revert last change.  Add pointer to upload
39251         instructions of the GNU Maintenance Instructions.
39252         Suggestion by Karl Berry.
39253
39254 2006-11-10  Jim Meyering  <jim@meyering.net>
39255
39256         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
39257
39258 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
39259
39260         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
39261         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
39262         (bind_textdomain_codeset) [! ENABLE_NLS]:
39263         Evaluate all the arguments.  That way, callers get compatible behavior
39264         if the arguments have side effects.  Also, it avoids some GCC
39265         diagnostics in some cases; Joel E. Denny reported problems when Bison
39266         was configured with --enable-gcc-warnigs.
39267
39268 2006-11-10  Jim Meyering  <jim@meyering.net>
39269
39270         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
39271         relevant options in CFLAGS (like -O, -fno-inline) are taken into
39272         account.
39273
39274 2006-11-10  Jim Meyering  <jim@meyering.net>
39275
39276         * modules/inline: New file/module.
39277         * modules/xalloc (Files): Remove m4/inline.m4.
39278         (Depends-on): Add inline, instead.
39279         * modules/oset: Likewise.
39280         * modules/list: Likewise.
39281
39282 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
39283
39284         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
39285         Problem reported by Matthew Woehlke.
39286
39287 2006-11-09  Bruno Haible  <bruno@clisp.org>
39288
39289         * lib/tempname.c (gen_tempname): Remove variant that invokes
39290         __gen_tempname.
39291         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
39292         __gen_tempname.
39293
39294 2006-11-08  Bruno Haible  <bruno@clisp.org>
39295
39296         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
39297         to 'yes' instead of 'cross-compiling'.
39298
39299 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
39300
39301         * lib/quotearg.h (quotearg_free): New decl.
39302         * lib/quotearg.c (quotearg_free): New function.
39303         (slot0, nslots, slotvec0, slotvec):
39304         Now file-scope so that quotearg_free can get at them.
39305
39306 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39307
39308         Sync from Automake.
39309         * build-aux/gnupload: Add missing 'gnu' to example URL.
39310         Report by Karl Berry.
39311
39312 2006-11-08  Bruno Haible  <bruno@clisp.org>
39313
39314         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
39315         Suggested by Paul Eggert.
39316
39317 2006-11-08  Jim Meyering  <jim@meyering.net>
39318
39319         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
39320         It's already included if !_LIBC.
39321         (fts_safe_changedir): Add a comment.
39322
39323 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
39324
39325         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
39326         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
39327         Matthew Woehlke.
39328
39329         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
39330         definitions up, to avoid colliding with change below.
39331         (static_inline) [HAVE_INLINE]: New macro.
39332         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
39333         Provide extern decls when !HAVE_INLINE.  Do not define unless
39334         static_inline is defined, either by us or by xmalloc.c.  Use
39335         static_inline rather than static inline.
39336         (XCALLOC): Optimize sizeof(T) = 1 case.
39337         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
39338
39339 2006-11-07  Bruno Haible  <bruno@clisp.org>
39340
39341         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
39342         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
39343         AC_C_INLINE.
39344         * modules/xalloc (Files): Add m4/inline.m4.
39345
39346 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39347
39348         * README: Fix typo.
39349         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
39350         (Miscellanous Notes): ...from this.
39351
39352 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
39353
39354         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
39355         Mention that offsetof should be used instead of sizeof.
39356         From Bruno Haible.
39357
39358 2006-11-07  Bruno Haible  <bruno@clisp.org>
39359
39360         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
39361
39362 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
39363
39364         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
39365         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
39366         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
39367         (gl_tree_add_before, gl_tree_add_after):
39368         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
39369         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
39370         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
39371         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
39372         (gl_linked_add_after, gl_linked_add_at): Likewise.
39373         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
39374         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
39375         (gl_tree_add_before, gl_tree_add_after): Likewise.
39376         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
39377         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
39378         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
39379
39380 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39381
39382         * lib/gl_oset.h: Use C comment style, not C++ comment style.
39383
39384 2006-11-06  Bruno Haible  <bruno@clisp.org>
39385
39386         * m4/inline.m4: New file.
39387         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
39388         * modules/list (Files): Add m4/inline.m4.
39389         * modules/oset (Files): Likewise.
39390
39391 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
39392
39393         * lib/idcache.c: Include <stddef.h>, for offsetof.
39394         (struct userid.name): Change from char * to a flexible array member.
39395         All uses changed.
39396         * modules/idcache (Depends-on): Add flexmember.
39397
39398         * MODULES.html.sh (Core language properties): New module flexmember.
39399         * modules/flexmember, m4/flexmember.m4: New files.
39400
39401         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
39402         inline functions that are identical with the old xnmalloc_inline,
39403         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
39404         that we can avoid some unnecessary integer multiplications and
39405         divisions in the common case where the element size is known at
39406         compile time.
39407         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
39408         needed.
39409         (xnboundedmalloc): Remove.
39410         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
39411         arguments, for consistency with rest of this header.
39412         (xcharalloc): Rewrite using XNMALLOC.
39413         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
39414         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
39415         versions have been moved to lib/xalloc.h and renamed to be the
39416         non-*_inline versions.
39417         (xmalloc, xrealloc): Implement without reference to the xnmalloc
39418         and xnrealloc functions, since those functions are now inline and
39419         now call us.
39420         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
39421         renaming described above.
39422         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
39423         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
39424         captures the dependency in AC_C_INLINE.
39425
39426         New module canonicalize-lgpl, proposed by Charles Wilson in
39427         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
39428         with a few small changes afterwards.
39429         * MODULES.html.sh (File system functions): New module
39430         canonicalize-lgpl.
39431         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
39432         and canonicalize_file_name.
39433         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
39434         * modules/canonicalize-lgpl: New files.
39435
39436 2006-11-05  Bruno Haible  <bruno@clisp.org>
39437
39438         * gnulib-tool (func_import, func_create_testdir): Create directories
39439         also for files in subdirectories of lib/.
39440
39441 2006-11-05  Bruno Haible  <bruno@clisp.org>
39442
39443         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
39444         ANSI C compliant.
39445
39446 2006-11-03  Bruno Haible  <bruno@clisp.org>
39447
39448         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
39449         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
39450         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
39451         (xnboundedmalloc): New inline function.
39452         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
39453         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
39454         xmalloc.
39455         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
39456         xmalloc.
39457         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
39458         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
39459         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
39460         xmalloc.
39461         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
39462         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
39463         xmalloc.
39464         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
39465         gl_tree_add_after): Use XMALLOC instead of xmalloc.
39466         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
39467         xmalloc.
39468         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
39469         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
39470         gl_tree_add_after): Use XMALLOC instead of xmalloc.
39471         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
39472         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
39473         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
39474         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
39475
39476 2006-11-03  Bruno Haible  <bruno@clisp.org>
39477
39478         * lib/c-ctype.h [C++]: Define functions without name mangling.
39479         * lib/fwriteerror.h [C++]: Likewise.
39480         * lib/gcd.h [C++]: Likewise.
39481         * lib/linebreak.h [C++]: Likewise.
39482
39483 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
39484
39485         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
39486         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
39487         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
39488         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
39489         Check for functions and headers just once.
39490         Check for declaration of canonicalize_file_name.
39491         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
39492
39493 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
39494
39495         * gnulib-tool (func_import): Fix typo in actioncmd.
39496
39497 2006-11-02  Bruno Haible  <bruno@clisp.org>
39498
39499         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
39500         newline sequence in the Makefile.am snippet as a space, like "make"
39501         does.
39502         Reported by Roger Persson <perrog@gmail.com>.
39503
39504 2006-11-01  Bruno Haible  <bruno@clisp.org>
39505
39506         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
39507         already declared in <string.h>.
39508         * lib/strcase.h (strncasecmp): Don't declare it if yes.
39509
39510 2006-11-01  Bruno Haible  <bruno@clisp.org>
39511
39512         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
39513         * lib/strcase.h: Include <string.h>.
39514         (strcasecmp): Define to rpl_strcasecmp here.
39515
39516 2006-11-01  Bruno Haible  <bruno@clisp.org>
39517
39518         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
39519
39520 2006-11-01  Eric Blake  <ebb9@byu.net>
39521
39522         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
39523
39524         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
39525
39526 2006-10-29  Bruno Haible  <bruno@clisp.org>
39527
39528         Make it compile in C++ mode.
39529         * lib/full-write.c (full_rw): Add a cast.
39530
39531 2006-11-01  Bruno Haible  <bruno@clisp.org>
39532
39533         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
39534         be POSIX compliant.
39535         Reported by Roger Persson <perrog@gmail.com>.
39536
39537 2006-11-01  Eric Blake  <ebb9@byu.net>
39538
39539         * lib/getopt_.h: Fix comments.
39540
39541 2006-10-31  Eric Blake  <ebb9@byu.net>
39542
39543         * modules/tmpdir (Depends-on): Add sys_stat.
39544         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
39545         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
39546         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
39547         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
39548         tempname.
39549
39550 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
39551
39552         Avoid some C++ diagnostics reported by Bruno Haible.
39553         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
39554         xmalloc.
39555         (quotearg_alloc): Use xcharalloc rather than xmalloc.
39556         (struct slotvec): Move to top level.
39557         (quotearg_n_options): Rewrite to avoid xmalloc.
39558         * lib/xalloc.h (xcharalloc): New function.
39559         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
39560         [defined __cplusplus]: Add function template that provides result
39561         type propagation.  This part of the change is from Bruno Haible.
39562
39563 2006-10-29  Bruno Haible  <bruno@clisp.org>
39564
39565         Make it compile in C++ mode.
39566         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
39567         * lib/strnlen1.c (strnlen1): Cast memchr result.
39568         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
39569         * lib/clean-temp.c (string_equals, string_hash): Add casts.
39570         (create_temp_dir): Rename local variable 'template'.
39571         (compile_csharp_using_sscli): Add cast.
39572         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
39573         * lib/findprog.c (find_in_path): Likewise.
39574         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
39575         * lib/wait-process.c (register_slave_subprocess): Likewise.
39576
39577 2006-10-22  Bruno Haible  <bruno@clisp.org>
39578
39579         * modules/tsearch: New file.
39580         * lib/tsearch.h: New file.
39581         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
39582         * m4/tsearch.m4: New file.
39583         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
39584
39585 2006-10-29  Eric Blake  <ebb9@byu.net>
39586
39587         * lib/arcfour.c: Assume config.h.
39588         * lib/arctwo.c: Likewise.
39589         * lib/base64.c: Likewise.
39590         * lib/check-version.c: Likewise.
39591         * lib/crc.c: Likewise.
39592         * lib/des.c: Likewise.
39593         * lib/gc-gnulib.c: Likewise.
39594         * lib/gc-libgcrypt.c: Likewise.
39595         * lib/gc-pbkdf2-sha1.c: Likewise.
39596         * lib/getaddrinfo.c: Likewise.
39597         * lib/getdelim.c: Likewise.
39598         * lib/getline.c: Likewise.
39599         * lib/hmac-md5.c: Likewise.
39600         * lib/hmac-sha1.c: Likewise.
39601         * lib/iconvme.c: Likewise.
39602         * lib/md2.c: Likewise.
39603         * lib/md4.c: Likewise.
39604         * lib/memxor.c: Likewise.
39605         * lib/read-file.c: Likewise.
39606         * lib/readline.c: Likewise.
39607         * lib/rijndael-alg-fst.c: Likewise.
39608         * lib/rijndael-api-fst.c: Likewise.
39609         * lib/xgetdomainname.c: Likewise.
39610
39611 2006-10-28  Eric Blake  <ebb9@byu.net>
39612
39613         * lib/xstrndup.c: Assume config.h.
39614
39615 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
39616
39617         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
39618         stat-macros.h is now for our own macros, whereas stat_h is for
39619         macros in the <sys/stat.h> name space.
39620         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
39621         (STAT_MACROS_H): Remove.
39622         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
39623         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
39624         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
39625         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
39626         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
39627         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
39628         Move these macros to ...
39629         * lib/stat_.h: here.  Don't include stat-macros.h.
39630         * lib/canonicalize.c: Don't include stat-macros.h.
39631         * lib/chown.c: Likewise.
39632         * lib/euidaccess.c: Likewise.
39633         * lib/file-type.c: Likewise.
39634         * lib/filemode.c: Likewise.
39635         * lib/glob.c: Likewise.
39636         * lib/isapipe.c: Likewise.
39637         * lib/lchown.c: Likewise.
39638         * lib/lstat.c: Likewise.
39639         * lib/mkdir-p.c: Likewise.
39640         * lib/rmdir.c: Likewise.
39641         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
39642         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
39643         unless mkdir isn't declared, to speed up 'configure'.
39644         Always create sys/stat.h, since it's unlikely any real sys/stat.h
39645         would define all the S_* symbols.
39646         * modules/canonicalize (Depends-on):
39647         Depend on sys_stat, not stat-macros.
39648         * modules/chown: Likewise.
39649         * modules/euidaccess: Likewise.
39650         * modules/filemode: Likewise.
39651         * modules/file-type: Likewise.
39652         * modules/glob: Likewise.
39653         * modules/isapipe: Likewise.
39654         * modules/lchown: Likewise.
39655         * modules/lstat: Likewise.
39656         * modules/mkancesdirs: Likewise.
39657         * modules/rmdir: Likewise.
39658         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
39659         * modules/modechange: Likewise.
39660         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
39661         (configure.ac): Remove gl_STAT_MACROS.
39662         * modules/sys_stat (Depends-on): Remove stat-macros.
39663
39664 2006-10-27  Bruno Haible  <bruno@clisp.org>
39665
39666         * m4/signed.m4: Remove file.
39667         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
39668         invocation.
39669         * modules/vasnprintf (Files): Remove m4/signed.m4.
39670
39671 2006-10-27  Bruno Haible  <bruno@clisp.org>
39672
39673         Update to GNU gettext 0.16.
39674         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
39675         m4/inttypes-h.m4, m4/signed.m4.
39676         * m4/gettext.m4: Update to GNU gettext 0.16.
39677         * m4/intl.m4: New file, from GNU gettext.
39678         * m4/intldir.m4: New file, from GNU gettext.
39679         * config/srclist.txt: Update
39680
39681 2006-10-27  Eric Blake  <ebb9@byu.net>
39682
39683         * MODULES.html.sh: Document tempname.
39684         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
39685         dependencies.
39686         (Files): Move lib/tempname.c...
39687         * modules/tempname: ...to this new module.
39688         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
39689         (gl_PREREQ_TEMPNAME): Move...
39690         * m4/tempname.m4: ...to this new file.
39691         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
39692         * modules/sys_stat (Depends-on): Add stat-macros.
39693         * lib/stat_.h (includes): Pick up stat macros.
39694         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
39695         if stat macros are broken.
39696         * lib/tempname.c (includes): No need to include "stat-macros.h".
39697         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
39698         (direxists, __path_search) [!_LIBC]: Don't compile these in
39699         gnulib; the tmpdir module covers that.
39700         * lib/tempname.h: New file.
39701
39702 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
39703
39704         * COPYING: Explain how gnulib-tool converts licence headers.
39705         Almost all wording by Eric Blake.
39706
39707 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
39708
39709         * lib/mbchar.h (is_basic_table): Make read-only.
39710         * lib/mbchar.c (is_basic_table): Likewise.
39711         Reported by John Darrington.
39712
39713 2006-10-25  Bruno Haible  <bruno@clisp.org>
39714
39715         * lib/progname.h (set_program_name): Undefine before defining.
39716
39717 2006-10-25  Bruno Haible  <bruno@clisp.org>
39718
39719         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
39720         false for non-gcc C++ compilers.
39721         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39722
39723 2006-10-24  Bruno Haible  <bruno@clisp.org>
39724
39725         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
39726         iconv implementations like Irix iconv.
39727
39728 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39729
39730         * modules/vararrays: New file.
39731         * m4/vararrays.m4: New file, taken from diffutils.
39732         * MODULES.html.sh: New module vararrays.
39733
39734 2006-10-24  Karl Berry  <karl@gnu.org>
39735
39736         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
39737         Don't call GNU Unix.
39738
39739 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39740
39741         * users.txt: Add Libtool.
39742
39743         Sync from Libtool:
39744
39745         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39746
39747         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
39748         to gnulib's policy of including config.h unconditionally.
39749
39750 2006-10-24  Bruno Haible  <bruno@clisp.org>
39751
39752         * modules/wcwidth (Files): Add m4/wint_t.m4.
39753         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
39754         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
39755
39756 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
39757
39758         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
39759         to pacify GCC with some -W flags enabled.  Problem reported by
39760         Bruno Haible.
39761
39762 2006-10-24  Jim Meyering  <jim@meyering.net>
39763
39764         * MODULES.html.sh: Remove uinttostr.  It's not a module.
39765         Reported by Karl Berry.
39766
39767 2006-10-23  Bruno Haible  <bruno@clisp.org>
39768
39769         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
39770
39771 2006-10-24  Bruno Haible  <bruno@clisp.org>
39772
39773         * lib/gl_list.h: Use C comment style, not C++ comment style.
39774
39775 2006-10-23  Eric Blake  <ebb9@byu.net>
39776
39777         * lib/getaddrinfo.c (includes): Add missing include.
39778
39779 2006-10-23  Bruno Haible  <bruno@clisp.org>
39780             Paul Eggert  <eggert@cs.ucla.edu>
39781
39782         Ability to rename obstack_free.
39783         * lib/obstack.h (__obstack_free): New macro. Declare instead of
39784         obstack_free.
39785         (obstack_free): Invoke the __obstack_free macro.
39786         * lib/obstack.c (obstack_free): Use __obstack_free macro.
39787
39788 2006-10-23  Bruno Haible  <bruno@clisp.org>
39789             Paul Eggert  <eggert@cs.ucla.edu>
39790
39791         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
39792         __argc, __argv from the declaration. (They are defined as macros on
39793         mingw.)
39794
39795 2006-10-22  Bruno Haible  <bruno@clisp.org>
39796
39797         * doc/gnulib-intro.texi: New file.
39798         * doc/gnulib.texi: Include it.
39799
39800 2006-10-21  Bruno Haible  <bruno@clisp.org>
39801
39802         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
39803         "Introduction", "Miscellanous Notes", "Particular Modules".
39804
39805 2006-10-21  Bruno Haible  <bruno@clisp.org>
39806
39807         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
39808         Change mostlyclean-local rule to avoid sh syntax error from bash
39809         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
39810
39811 2006-10-23  Jim Meyering  <jim@meyering.net>
39812
39813         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
39814         in place of snprintf.
39815
39816         * modules/inttostr (Files): Add lib/uinttostr.c.
39817         * lib/uinttostr.c (inttostr): New file/function.
39818         * lib/inttostr.h (uinttostr): Declare.
39819         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
39820         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
39821         Add uinttostr.
39822         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
39823
39824 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
39825
39826         * lib/canonicalize.c (ELOOP): Define if not already defined.
39827         Problem reported by Bruno Haible in
39828         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
39829
39830 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
39831
39832         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
39833         Problem reported by Perry Smith and Ville Laurikari.
39834
39835         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
39836         uses.
39837
39838 2006-10-19  Bruno Haible  <bruno@clisp.org>
39839
39840         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
39841         for mingw.
39842
39843 2006-10-19  Bruno Haible  <bruno@clisp.org>
39844
39845         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
39846         Needed for mingw.
39847
39848 2006-10-19  Bruno Haible  <bruno@clisp.org>
39849
39850         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
39851
39852 2006-10-19  Bruno Haible  <bruno@clisp.org>
39853
39854         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
39855         it.
39856
39857 2006-10-19  Bruno Haible  <bruno@clisp.org>
39858
39859         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
39860         invocation.
39861
39862 2006-10-19  Bruno Haible  <bruno@clisp.org>
39863
39864         * gnulib-tool (func_create_testdir): Don't include ftruncate and
39865         mountlist by default.
39866
39867 2006-10-16  Bruno Haible  <bruno@clisp.org>
39868
39869         * lib/c-strstr.c: Include c-strstr.h.
39870
39871 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
39872
39873         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
39874         in a slash.
39875
39876 2006-10-18  Bruno Haible  <bruno@clisp.org>
39877
39878         * lib/lock.h [C++]: Wrap definitions in extern "C".
39879
39880 2006-10-18  Bruno Haible  <bruno@clisp.org>
39881
39882         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
39883         gl_LIBOBJS list.
39884
39885 2006-10-18  Bruno Haible  <bruno@clisp.org>
39886
39887         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
39888
39889 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
39890
39891         * lib/xstrtol.h: Include gettext.h.
39892         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
39893         Problem reported by Eric Blake.
39894         * modules/xstrtol (Depends-on): Add gettext-h.
39895
39896 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
39897
39898         * lib/strftime.c (advance): New macro.
39899         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
39900         incomplete type, so you can't add 0 to it.  Problem and patch
39901         reported by Eelco Dolstra for dietlibc.
39902
39903 2006-10-18  Jim Meyering  <jim@meyering.net>
39904
39905         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
39906         type for a local, and rename it: s/up/user_proc/.
39907
39908 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
39909
39910         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
39911         READ_UTMP_USER_PROCESS.
39912         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
39913
39914 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
39915
39916         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
39917         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
39918
39919 2006-10-17  Eric Blake  <ebb9@byu.net>
39920
39921         * lib/sigprocmask.c (sigprocmask): Fix typo.
39922
39923         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
39924
39925         * modules/clean-temp (Makefile.am): Don't add to make output...
39926         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
39927         config.h.
39928
39929 2006-10-17  Bruno Haible  <bruno@clisp.org>
39930
39931         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
39932         differently if DEFAULT_TEXT_DOMAIN is set.
39933
39934 2006-10-16  Bruno Haible  <bruno@clisp.org>
39935
39936         * lib/clean-temp.c: Include fwriteerror.h.
39937
39938 2006-10-16  Bruno Haible  <bruno@clisp.org>
39939
39940         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
39941
39942 2006-10-16  Bruno Haible  <bruno@clisp.org>
39943
39944         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
39945         * lib/sigprocmask.h: Include <sys/types.h>.
39946         (sigset_t): Use the system's definition if present.
39947
39948 2006-10-17  Eric Blake  <ebb9@byu.net>
39949
39950         * lib/xvasprintf.c (includes): Assume config.h.
39951         * lib/xasprintf.c (includes): Likewise.
39952
39953 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
39954
39955         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
39956         at least as wide as intmax_t.
39957
39958 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
39959
39960         (Imported from Automake.)
39961         * build-aux/gnupload: Update to version 1.1 of directive file.
39962
39963 2006-10-16  Eric Blake  <ebb9@byu.net>
39964
39965         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
39966         match Automake 1.10a.
39967
39968 2006-10-14  Bruno Haible  <bruno@clisp.org>
39969
39970         * modules/sigprocmask: New file.
39971         * lib/sigprocmask.h: New file.
39972         * lib/sigprocmask.c: New file.
39973         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
39974         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
39975         request sigprocmask.o.
39976         (gl_PREREQ_SIGPROCMASK): New macro.
39977         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
39978         (Depends-on): Add sigprocmask.
39979         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
39980         gt_SIGNALBLOCKING. Test for 'raise' only once.
39981         * lib/fatal-signal.c: Include sigprocmask.h.
39982         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
39983         unblock_fatal_signals): Define always.
39984         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39985         sigprocmask.
39986
39987 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
39988
39989         Sync from Automake.
39990         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
39991         which incorrectly sets the mode of an existing destination
39992         directory.  In some cases the unpatched install-sh could do the
39993         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
39994         system.  We hope this is rare in practice, but it's clearly worth
39995         fixing.  Problem reported by Alex Unleashed in
39996         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
39997         Also, don't bother to check for -m bugs unless we're using -m;
39998         suggested by Stepan Kasal.
39999
40000 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40001
40002         Sync from Automake.
40003         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
40004         `-c' flag, so they appear at the same position as in %FASTDEP%
40005         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
40006         which ignores unknown options only after the first non-option.
40007         Bug report against M4 by Nelson H. F. Beebe.
40008
40009 2006-10-13  Jim Meyering  <jim@meyering.net>
40010
40011         Fix a bug in yesterday's change.
40012         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
40013         p->fts_statp->st_dev would be used uninitialized.
40014         Ensures that we always call fts_stat on the very first entry.
40015         Miklos Szeredi reported that find -xdev stopped working.
40016
40017 2006-10-12  Bruno Haible  <bruno@clisp.org>
40018
40019         * gnulib-tool (func_get_automake_snippet): Append an automatically
40020         computed EXTRA_DIST augmentation.
40021         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
40022         * modules/alloca-opt (Makefile.am): Likewise.
40023         * modules/allocsa (Makefile.am): Likewise.
40024         * modules/arcfour (Makefile.am): Likewise.
40025         * modules/arctwo (Makefile.am): Likewise.
40026         * modules/argmatch (Makefile.am): Likewise.
40027         * modules/argz (Makefile.am): Likewise.
40028         * modules/atexit (Makefile.am): Likewise.
40029         * modules/backupfile (Makefile.am): Likewise.
40030         * modules/byteswap (Makefile.am): Likewise.
40031         * modules/c-strtod (Makefile.am): Likewise.
40032         * modules/c-strtold (Makefile.am): Likewise.
40033         * modules/calloc (Makefile.am): Likewise.
40034         * modules/canon-host (Makefile.am): Likewise.
40035         * modules/canonicalize (Makefile.am): Likewise.
40036         * modules/chdir-long (Makefile.am): Likewise.
40037         * modules/chdir-safer (Makefile.am): Likewise.
40038         * modules/check-version (Makefile.am): Likewise.
40039         * modules/chown (Makefile.am): Likewise.
40040         * modules/cloexec (Makefile.am): Likewise.
40041         * modules/close-stream (Makefile.am): Likewise.
40042         * modules/closeout (Makefile.am): Likewise.
40043         * modules/crc (Makefile.am): Likewise.
40044         * modules/csharpexec (Makefile.am): Likewise.
40045         * modules/cycle-check (Makefile.am): Likewise.
40046         * modules/des (Makefile.am): Likewise.
40047         * modules/dev-ino (Makefile.am): Likewise.
40048         * modules/dirfd (Makefile.am): Likewise.
40049         * modules/dirname (Makefile.am): Likewise.
40050         * modules/dup2 (Makefile.am): Likewise.
40051         * modules/eealloc (Makefile.am): Likewise.
40052         * modules/error (Makefile.am): Likewise.
40053         * modules/euidaccess (Makefile.am): Likewise.
40054         * modules/exclude (Makefile.am): Likewise.
40055         * modules/exitfail (Makefile.am): Likewise.
40056         * modules/fcntl-safer (Makefile.am): Likewise.
40057         * modules/fcntl (Makefile.am): Likewise.
40058         * modules/file-type (Makefile.am): Likewise.
40059         * modules/fileblocks (Makefile.am): Likewise.
40060         * modules/filemode (Makefile.am): Likewise.
40061         * modules/filenamecat (Makefile.am): Likewise.
40062         * modules/fnmatch (Makefile.am): Likewise.
40063         * modules/fopen-safer (Makefile.am): Likewise.
40064         * modules/fpending (Makefile.am): Likewise.
40065         * modules/fprintftime (Makefile.am): Likewise.
40066         * modules/free (Makefile.am): Likewise.
40067         * modules/fsusage (Makefile.am): Likewise.
40068         * modules/ftruncate (Makefile.am): Likewise.
40069         * modules/fts (Makefile.am): Likewise.
40070         * modules/gc-arcfour (Makefile.am): Likewise.
40071         * modules/gc-des (Makefile.am): Likewise.
40072         * modules/gc-hmac-md5 (Makefile.am): Likewise.
40073         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
40074         * modules/gc-md4 (Makefile.am): Likewise.
40075         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
40076         * modules/gc-sha1 (Makefile.am): Likewise.
40077         * modules/gc (Makefile.am): Likewise.
40078         * modules/getaddrinfo (Makefile.am): Likewise.
40079         * modules/getcwd (Makefile.am): Likewise.
40080         * modules/getdelim (Makefile.am): Likewise.
40081         * modules/getdomainname (Makefile.am): Likewise.
40082         * modules/getgroups (Makefile.am): Likewise.
40083         * modules/gethostname (Makefile.am): Likewise.
40084         * modules/gethrxtime (Makefile.am): Likewise.
40085         * modules/getline (Makefile.am): Likewise.
40086         * modules/getloadavg (Makefile.am): Likewise.
40087         * modules/getlogin_r (Makefile.am): Likewise.
40088         * modules/getndelim2 (Makefile.am): Likewise.
40089         * modules/getopt (Makefile.am): Likewise.
40090         * modules/getpagesize (Makefile.am): Likewise.
40091         * modules/getpass-gnu (Makefile.am): Likewise.
40092         * modules/getpass (Makefile.am): Likewise.
40093         * modules/getsubopt (Makefile.am): Likewise.
40094         * modules/gettime (Makefile.am): Likewise.
40095         * modules/gettimeofday (Makefile.am): Likewise.
40096         * modules/getugroups (Makefile.am): Likewise.
40097         * modules/getusershell (Makefile.am): Likewise.
40098         * modules/glob (Makefile.am): Likewise.
40099         * modules/group-member (Makefile.am): Likewise.
40100         * modules/hard-locale (Makefile.am): Likewise.
40101         * modules/hash (Makefile.am): Likewise.
40102         * modules/hmac-md5 (Makefile.am): Likewise.
40103         * modules/hmac-sha1 (Makefile.am): Likewise.
40104         * modules/human (Makefile.am): Likewise.
40105         * modules/idcache (Makefile.am): Likewise.
40106         * modules/imaxabs (Makefile.am): Likewise.
40107         * modules/imaxdiv (Makefile.am): Likewise.
40108         * modules/inet_ntop (Makefile.am): Likewise.
40109         * modules/inet_pton (Makefile.am): Likewise.
40110         * modules/intprops (Makefile.am): Likewise.
40111         * modules/inttostr (Makefile.am): Likewise.
40112         * modules/inttypes (Makefile.am): Likewise.
40113         * modules/isapipe (Makefile.am): Likewise.
40114         * modules/javaversion (Makefile.am): Likewise.
40115         * modules/lchmod (Makefile.am): Likewise.
40116         * modules/lchown (Makefile.am): Likewise.
40117         * modules/localcharset (Makefile.am): Likewise.
40118         * modules/long-options (Makefile.am): Likewise.
40119         * modules/lstat (Makefile.am): Likewise.
40120         * modules/malloc (Makefile.am): Likewise.
40121         * modules/mathl (Makefile.am): Likewise.
40122         * modules/mbchar (Makefile.am): Likewise.
40123         * modules/md2 (Makefile.am): Likewise.
40124         * modules/md4 (Makefile.am): Likewise.
40125         * modules/md5 (Makefile.am): Likewise.
40126         * modules/memcasecmp (Makefile.am): Likewise.
40127         * modules/memchr (Makefile.am): Likewise.
40128         * modules/memcmp (Makefile.am): Likewise.
40129         * modules/memcoll (Makefile.am): Likewise.
40130         * modules/memcpy (Makefile.am): Likewise.
40131         * modules/memmem (Makefile.am): Likewise.
40132         * modules/memmove (Makefile.am): Likewise.
40133         * modules/mempcpy (Makefile.am): Likewise.
40134         * modules/memrchr (Makefile.am): Likewise.
40135         * modules/memset (Makefile.am): Likewise.
40136         * modules/memxor (Makefile.am): Likewise.
40137         * modules/mkancesdirs (Makefile.am): Likewise.
40138         * modules/mkdir-p (Makefile.am): Likewise.
40139         * modules/mkdir (Makefile.am): Likewise.
40140         * modules/mkdtemp (Makefile.am): Likewise.
40141         * modules/mkstemp (Makefile.am): Likewise.
40142         * modules/mktime (Makefile.am): Likewise.
40143         * modules/modechange (Makefile.am): Likewise.
40144         * modules/mountlist (Makefile.am): Likewise.
40145         * modules/nanosleep (Makefile.am): Likewise.
40146         * modules/obstack (Makefile.am): Likewise.
40147         * modules/openat (Makefile.am): Likewise.
40148         * modules/pagealign_alloc (Makefile.am): Likewise.
40149         * modules/pathmax (Makefile.am): Likewise.
40150         * modules/physmem (Makefile.am): Likewise.
40151         * modules/poll (Makefile.am): Likewise.
40152         * modules/posixtm (Makefile.am): Likewise.
40153         * modules/posixver (Makefile.am): Likewise.
40154         * modules/putenv (Makefile.am): Likewise.
40155         * modules/quote (Makefile.am): Likewise.
40156         * modules/quotearg (Makefile.am): Likewise.
40157         * modules/raise (Makefile.am): Likewise.
40158         * modules/read-file (Makefile.am): Likewise.
40159         * modules/readline (Makefile.am): Likewise.
40160         * modules/readlink (Makefile.am): Likewise.
40161         * modules/readtokens (Makefile.am): Likewise.
40162         * modules/readutmp (Makefile.am): Likewise.
40163         * modules/realloc (Makefile.am): Likewise.
40164         * modules/regex (Makefile.am): Likewise.
40165         * modules/rename-dest-slash (Makefile.am): Likewise.
40166         * modules/rename (Makefile.am): Likewise.
40167         * modules/rijndael (Makefile.am): Likewise.
40168         * modules/rmdir (Makefile.am): Likewise.
40169         * modules/rpmatch (Makefile.am): Likewise.
40170         * modules/safe-read (Makefile.am): Likewise.
40171         * modules/safe-write (Makefile.am): Likewise.
40172         * modules/same-inode (Makefile.am): Likewise.
40173         * modules/same (Makefile.am): Likewise.
40174         * modules/save-cwd (Makefile.am): Likewise.
40175         * modules/savedir (Makefile.am): Likewise.
40176         * modules/setenv (Makefile.am): Likewise.
40177         * modules/settime (Makefile.am): Likewise.
40178         * modules/sha1 (Makefile.am): Likewise.
40179         * modules/sig2str (Makefile.am): Likewise.
40180         * modules/snprintf (Makefile.am): Likewise.
40181         * modules/stat-macros (Makefile.am): Likewise.
40182         * modules/stat-time (Makefile.am): Likewise.
40183         * modules/stdbool (Makefile.am): Likewise.
40184         * modules/stdint (Makefile.am): Likewise.
40185         * modules/stdlib-safer (Makefile.am): Likewise.
40186         * modules/stpcpy (Makefile.am): Likewise.
40187         * modules/stpncpy (Makefile.am): Likewise.
40188         * modules/strcase (Makefile.am): Likewise.
40189         * modules/strcasestr (Makefile.am): Likewise.
40190         * modules/strchrnul (Makefile.am): Likewise.
40191         * modules/strcspn (Makefile.am): Likewise.
40192         * modules/strdup (Makefile.am): Likewise.
40193         * modules/strerror (Makefile.am): Likewise.
40194         * modules/strftime (Makefile.am): Likewise.
40195         * modules/strndup (Makefile.am): Likewise.
40196         * modules/strnlen (Makefile.am): Likewise.
40197         * modules/strpbrk (Makefile.am): Likewise.
40198         * modules/strsep (Makefile.am): Likewise.
40199         * modules/strstr (Makefile.am): Likewise.
40200         * modules/strtod (Makefile.am): Likewise.
40201         * modules/strtoimax (Makefile.am): Likewise.
40202         * modules/strtok_r (Makefile.am): Likewise.
40203         * modules/strtol (Makefile.am): Likewise.
40204         * modules/strtoll (Makefile.am): Likewise.
40205         * modules/strtoul (Makefile.am): Likewise.
40206         * modules/strtoull (Makefile.am): Likewise.
40207         * modules/strtoumax (Makefile.am): Likewise.
40208         * modules/strverscmp (Makefile.am): Likewise.
40209         * modules/sys_socket (Makefile.am): Likewise.
40210         * modules/sys_stat (Makefile.am): Likewise.
40211         * modules/sysexits (Makefile.am): Likewise.
40212         * modules/time_r (Makefile.am): Likewise.
40213         * modules/timegm (Makefile.am): Likewise.
40214         * modules/timespec (Makefile.am): Likewise.
40215         * modules/tmpfile-safer (Makefile.am): Likewise.
40216         * modules/trim (Makefile.am): Likewise.
40217         * modules/unistd-safer (Makefile.am): Likewise.
40218         * modules/unlinkdir (Makefile.am): Likewise.
40219         * modules/unlocked-io (Makefile.am): Likewise.
40220         * modules/userspec (Makefile.am): Likewise.
40221         * modules/utime (Makefile.am): Likewise.
40222         * modules/utimecmp (Makefile.am): Likewise.
40223         * modules/utimens (Makefile.am): Likewise.
40224         * modules/vasnprintf (Makefile.am): Likewise.
40225         * modules/vasprintf (Makefile.am): Likewise.
40226         * modules/vsnprintf (Makefile.am): Likewise.
40227         * modules/xalloc (Makefile.am): Likewise.
40228         * modules/xgetcwd (Makefile.am): Likewise.
40229         * modules/xnanosleep (Makefile.am): Likewise.
40230         * modules/xreadlink (Makefile.am): Likewise.
40231         * modules/xstrtod (Makefile.am): Likewise.
40232         * modules/xstrtol (Makefile.am): Likewise.
40233         * modules/xstrtold (Makefile.am): Likewise.
40234         * modules/yesno (Makefile.am): Likewise.
40235         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
40236
40237 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
40238
40239         * modules/error (Makefile.am): Distribute files through
40240         EXTRA_DIST, not lib_SOURCES.
40241
40242 2006-10-12  Eric Blake  <ebb9@byu.net>
40243
40244         * modules/error (Makefile.am): Distribute files in /lib.
40245         * modules/obstack (Makefile.am): Likewise.
40246
40247 2006-10-12  Bruno Haible  <bruno@clisp.org>
40248
40249         * modules/acl (Makefile.am): Distribute all files in lib/ through
40250         EXTRA_DIST.
40251         * modules/arcfour (Makefile.am): Likewise.
40252         * modules/arctwo (Makefile.am): Likewise.
40253         * modules/argmatch (Makefile.am): Likewise.
40254         * modules/argz (Makefile.am): Likewise.
40255         * modules/atexit (Makefile.am): Likewise.
40256         * modules/backupfile (Makefile.am): Likewise.
40257         * modules/c-strtod (Makefile.am): Likewise.
40258         * modules/c-strtold (Makefile.am): Likewise.
40259         * modules/calloc (Makefile.am): Likewise.
40260         * modules/canon-host (Makefile.am): Likewise.
40261         * modules/canonicalize (Makefile.am): Likewise.
40262         * modules/chdir-long (Makefile.am): Likewise.
40263         * modules/chdir-safer (Makefile.am): Likewise.
40264         * modules/check-version (Makefile.am): Likewise.
40265         * modules/chown (Makefile.am): Likewise.
40266         * modules/cloexec (Makefile.am): Likewise.
40267         * modules/close-stream (Makefile.am): Likewise.
40268         * modules/closeout (Makefile.am): Likewise.
40269         * modules/crc (Makefile.am): Likewise.
40270         * modules/cycle-check (Makefile.am): Likewise.
40271         * modules/des (Makefile.am): Likewise.
40272         * modules/dirfd (Makefile.am): Likewise.
40273         * modules/dirname (Makefile.am): Likewise.
40274         * modules/dup2 (Makefile.am): Likewise.
40275         * modules/euidaccess (Makefile.am): Likewise.
40276         * modules/exclude (Makefile.am): Likewise.
40277         * modules/exitfail (Makefile.am): Likewise.
40278         * modules/fcntl-safer (Makefile.am): Likewise.
40279         * modules/file-type (Makefile.am): Likewise.
40280         * modules/fileblocks (Makefile.am): Likewise.
40281         * modules/filemode (Makefile.am): Likewise.
40282         * modules/filenamecat (Makefile.am): Likewise.
40283         * modules/fnmatch (Makefile.am): Likewise.
40284         * modules/fopen-safer (Makefile.am): Likewise.
40285         * modules/fpending (Makefile.am): Likewise.
40286         * modules/fprintftime (Makefile.am): Likewise.
40287         * modules/free (Makefile.am): Likewise.
40288         * modules/fsusage (Makefile.am): Likewise.
40289         * modules/ftruncate (Makefile.am): Likewise.
40290         * modules/fts (Makefile.am): Likewise.
40291         * modules/gc (Makefile.am): Likewise.
40292         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
40293         * modules/getaddrinfo (Makefile.am): Likewise.
40294         * modules/getcwd (Makefile.am): Likewise.
40295         * modules/getdelim (Makefile.am): Likewise.
40296         * modules/getdomainname (Makefile.am): Likewise.
40297         * modules/getgroups (Makefile.am): Likewise.
40298         * modules/gethostname (Makefile.am): Likewise.
40299         * modules/gethrxtime (Makefile.am): Likewise.
40300         * modules/getline (Makefile.am): Likewise.
40301         * modules/getloadavg (Makefile.am): Likewise.
40302         * modules/getlogin_r (Makefile.am): Likewise.
40303         * modules/getopt (Makefile.am): Likewise.
40304         * modules/getpass (Makefile.am): Likewise.
40305         * modules/getpass-gnu (Makefile.am): Likewise.
40306         * modules/getsubopt (Makefile.am): Likewise.
40307         * modules/gettime (Makefile.am): Likewise.
40308         * modules/gettimeofday (Makefile.am): Likewise.
40309         * modules/getugroups (Makefile.am): Likewise.
40310         * modules/getusershell (Makefile.am): Likewise.
40311         * modules/glob (Makefile.am): Likewise.
40312         * modules/group-member (Makefile.am): Likewise.
40313         * modules/hard-locale (Makefile.am): Likewise.
40314         * modules/hash (Makefile.am): Likewise.
40315         * modules/hmac-md5 (Makefile.am): Likewise.
40316         * modules/hmac-sha1 (Makefile.am): Likewise.
40317         * modules/human (Makefile.am): Likewise.
40318         * modules/idcache (Makefile.am): Likewise.
40319         * modules/imaxabs (Makefile.am): Likewise.
40320         * modules/imaxdiv (Makefile.am): Likewise.
40321         * modules/inet_ntop (Makefile.am): Likewise.
40322         * modules/inet_pton (Makefile.am): Likewise.
40323         * modules/inttostr (Makefile.am): Likewise.
40324         * modules/isapipe (Makefile.am): Likewise.
40325         * modules/lchown (Makefile.am): Likewise.
40326         * modules/long-options (Makefile.am): Likewise.
40327         * modules/lstat (Makefile.am): Likewise.
40328         * modules/malloc (Makefile.am): Likewise.
40329         * modules/mathl (Makefile.am): Likewise.
40330         * modules/mbchar (Makefile.am): Likewise.
40331         * modules/md2 (Makefile.am): Likewise.
40332         * modules/md4 (Makefile.am): Likewise.
40333         * modules/md5 (Makefile.am): Likewise.
40334         * modules/memcasecmp (Makefile.am): Likewise.
40335         * modules/memchr (Makefile.am): Likewise.
40336         * modules/memcmp (Makefile.am): Likewise.
40337         * modules/memcoll (Makefile.am): Likewise.
40338         * modules/memcpy (Makefile.am): Likewise.
40339         * modules/memmem (Makefile.am): Likewise.
40340         * modules/memmove (Makefile.am): Likewise.
40341         * modules/mempcpy (Makefile.am): Likewise.
40342         * modules/memrchr (Makefile.am): Likewise.
40343         * modules/memset (Makefile.am): Likewise.
40344         * modules/memxor (Makefile.am): Likewise.
40345         * modules/mkancesdirs (Makefile.am): Likewise.
40346         * modules/mkdir (Makefile.am): Likewise.
40347         * modules/mkdir-p (Makefile.am): Likewise.
40348         * modules/mkdtemp (Makefile.am): Likewise.
40349         * modules/mkstemp (Makefile.am): Likewise.
40350         * modules/mktime (Makefile.am): Likewise.
40351         * modules/modechange (Makefile.am): Likewise.
40352         * modules/mountlist (Makefile.am): Likewise.
40353         * modules/nanosleep (Makefile.am): Likewise.
40354         * modules/openat (Makefile.am): Likewise.
40355         * modules/pagealign_alloc (Makefile.am): Likewise.
40356         * modules/physmem (Makefile.am): Likewise.
40357         * modules/poll (Makefile.am): Likewise.
40358         * modules/posixtm (Makefile.am): Likewise.
40359         * modules/posixver (Makefile.am): Likewise.
40360         * modules/putenv (Makefile.am): Likewise.
40361         * modules/quote (Makefile.am): Likewise.
40362         * modules/quotearg (Makefile.am): Likewise.
40363         * modules/raise (Makefile.am): Likewise.
40364         * modules/read-file (Makefile.am): Likewise.
40365         * modules/readline (Makefile.am): Likewise.
40366         * modules/readlink (Makefile.am): Likewise.
40367         * modules/readtokens (Makefile.am): Likewise.
40368         * modules/readutmp (Makefile.am): Likewise.
40369         * modules/realloc (Makefile.am): Likewise.
40370         * modules/regex (Makefile.am): Likewise.
40371         * modules/rename (Makefile.am): Likewise.
40372         * modules/rename-dest-slash (Makefile.am): Likewise.
40373         * modules/rijndael (Makefile.am): Likewise.
40374         * modules/rmdir (Makefile.am): Likewise.
40375         * modules/rpmatch (Makefile.am): Likewise.
40376         * modules/safe-read (Makefile.am): Likewise.
40377         * modules/safe-write (Makefile.am): Likewise.
40378         * modules/same (Makefile.am): Likewise.
40379         * modules/save-cwd (Makefile.am): Likewise.
40380         * modules/savedir (Makefile.am): Likewise.
40381         * modules/setenv (Makefile.am): Likewise.
40382         * modules/settime (Makefile.am): Likewise.
40383         * modules/sha1 (Makefile.am): Likewise.
40384         * modules/sig2str (Makefile.am): Likewise.
40385         * modules/snprintf (Makefile.am): Likewise.
40386         * modules/stdlib-safer (Makefile.am): Likewise.
40387         * modules/stpcpy (Makefile.am): Likewise.
40388         * modules/stpncpy (Makefile.am): Likewise.
40389         * modules/strcase (Makefile.am): Likewise.
40390         * modules/strcasestr (Makefile.am): Likewise.
40391         * modules/strchrnul (Makefile.am): Likewise.
40392         * modules/strcspn (Makefile.am): Likewise.
40393         * modules/strdup (Makefile.am): Likewise.
40394         * modules/strerror (Makefile.am): Likewise.
40395         * modules/strftime (Makefile.am): Likewise.
40396         * modules/strndup (Makefile.am): Likewise.
40397         * modules/strnlen (Makefile.am): Likewise.
40398         * modules/strpbrk (Makefile.am): Likewise.
40399         * modules/strsep (Makefile.am): Likewise.
40400         * modules/strstr (Makefile.am): Likewise.
40401         * modules/strtod (Makefile.am): Likewise.
40402         * modules/strtoimax (Makefile.am): Likewise.
40403         * modules/strtok_r (Makefile.am): Likewise.
40404         * modules/strtol (Makefile.am): Likewise.
40405         * modules/strtoll (Makefile.am): Likewise.
40406         * modules/strtoul (Makefile.am): Likewise.
40407         * modules/strtoull (Makefile.am): Likewise.
40408         * modules/strtoumax (Makefile.am): Likewise.
40409         * modules/strverscmp (Makefile.am): Likewise.
40410         * modules/time_r (Makefile.am): Likewise.
40411         * modules/timegm (Makefile.am): Likewise.
40412         * modules/tmpfile-safer (Makefile.am): Likewise.
40413         * modules/unistd-safer (Makefile.am): Likewise.
40414         * modules/unlinkdir (Makefile.am): Likewise.
40415         * modules/userspec (Makefile.am): Likewise.
40416         * modules/utime (Makefile.am): Likewise.
40417         * modules/utimecmp (Makefile.am): Likewise.
40418         * modules/utimens (Makefile.am): Likewise.
40419         * modules/vasnprintf (Makefile.am): Likewise.
40420         * modules/vasprintf (Makefile.am): Likewise.
40421         * modules/vsnprintf (Makefile.am): Likewise.
40422         * modules/xalloc (Makefile.am): Likewise.
40423         * modules/xgetcwd (Makefile.am): Likewise.
40424         * modules/xnanosleep (Makefile.am): Likewise.
40425         * modules/xreadlink (Makefile.am): Likewise.
40426         * modules/xstrtod (Makefile.am): Likewise.
40427         * modules/xstrtol (Makefile.am): Likewise.
40428         * modules/xstrtold (Makefile.am): Likewise.
40429         * modules/yesno (Makefile.am): Likewise.
40430
40431 2006-10-12  Jim Meyering  <jim@meyering.net>
40432
40433         * m4/getloadavg.m4: Revert the change below.
40434
40435         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
40436         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
40437         fail with a symlink, which is what coreutils' ./bootstrap now
40438         creates by default.
40439
40440 2006-10-12  Bruno Haible  <bruno@clisp.org>
40441
40442         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
40443         mingw.
40444         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
40445         MSVC and mingw explicitly.
40446
40447 2006-10-11  Simon Josefsson  <jas@extundo.com>
40448             Bruno Haible  <bruno@clisp.org>
40449
40450         Add support for multiple gnulib-tool invocations in the scope of a
40451         single configure.ac file.
40452         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
40453         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
40454         with the same contents as the _LIBADD variable.
40455         (func_emit_initmacro_start, func_emit_initmacro_end,
40456         func_emit_initmacro_done): New functions.
40457         (func_import, func_create_testdir): Invoke them. Allow the identifiers
40458         gl_LIBOBJS and gl_LTLIBOBJS.
40459
40460 2006-10-11  Bruno Haible  <bruno@clisp.org>
40461
40462         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
40463         (func_create_testdir): Don't create po/Makefile.am, don't invoke
40464         autoreconf. Instead, invoke autopoint explicitly but move back the
40465         *.m4 files from gnulib.
40466
40467 2006-10-11  Bruno Haible  <bruno@clisp.org>
40468
40469         * gnulib-tool (func_usage): Make module names after --create-testdir
40470         optional.
40471         (func_create_testdir): If no module was specified, use nearly all
40472         modules.
40473
40474 2006-10-12  Jim Meyering  <jim@meyering.net>
40475
40476         Big performance improvement for fts-based tools that use FTS_NOSTAT.
40477         Avoid spurious inode-mismatch problems on non-POSIX file systems.
40478         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
40479         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
40480         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
40481         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
40482         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
40483         (fts_set_stat_required): New function.
40484         (fts_open): Defer the calls to fts_stat, if possible or requested.
40485         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
40486         into fts_stat itself.
40487         (fts_read): Perform any required (deferred) fts_stat call.
40488         (fts_build): Likewise, for the directory we're about to open and read.
40489         In the readdir loop, carefully decide whether each entry will require
40490         an eventual call to fts_stat, using dirent.d_type info if available.
40491         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
40492         a command line argument into this function.  Update all callers.
40493         Map a return value of FTS_DOT to FTS_D for a command line argument.
40494         * modules/fts (Depends-on): Add d-type.  Alphabetize.
40495         Thanks to Miklos Szeredi for his tenacity and for the initial
40496         bug report about "find" failing on a FUSE-based file system.
40497
40498         * lib/fts.c (fts_open): Use consistent indentation.
40499
40500 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
40501
40502         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
40503         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
40504         reported by Jim Meyering.  All uses of cache variables renamed
40505         to match Autoconf's.
40506         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
40507         the other one.
40508
40509         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
40510         Fix misspelling in diagnostic.
40511
40512 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
40513
40514         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
40515         defined.  Problem reported by Matthew Woehlke.
40516
40517         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
40518         Add support for Tandem NonStop R series.
40519         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
40520         Use new macro.
40521
40522         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
40523         (has_trailing_slash): Omit size arg; all callers changed.
40524         Omit 'inline', since it doesn't help performance and we'd
40525         need to configure it.
40526         Don't count //, ///, etc. as having a trailing slash.
40527         As a side effect, this removes a C99ism reported by Matthew Woehlke.
40528         (rpl_rename_dest_slash): On failure, use rename's errno rather
40529         than (in some cases) an incorrect or junk errno.
40530         Simplify code by removing need to compute length; this does
40531         cause it to make two passes instead of one over the file name,
40532         but it's worth it.
40533
40534         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
40535         change, since Autoconf's version may no longer be appropriate now
40536         that we are using CVS Autoconf's version.  Add support for Tandem.
40537
40538 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
40539             Bruno Haible  <bruno@clisp.org>
40540
40541         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
40542         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
40543         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
40544         gl_AC_TYPE_LONG_LONG.
40545
40546         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
40547         instead of HAVE_LONG_LONG.
40548         * lib/printf-args.c (printf_fetchargs): Likewise.
40549         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
40550         * lib/vasnprintf.c (VASNPRINTF): Likewise.
40551         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
40552         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
40553         gl_AC_TYPE_LONG_LONG.
40554
40555 2006-10-11  Bruno Haible  <bruno@clisp.org>
40556
40557         * m4/longlong.m4: Add comments.
40558         * m4/ulonglong.m4: Likewise.
40559
40560 2006-10-10  Bruno Haible  <bruno@clisp.org>
40561
40562         Make it possible to #define stpcpy, strdup to aliases.
40563         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
40564         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
40565
40566 2006-10-10  Bruno Haible  <bruno@clisp.org>
40567
40568         Make it possible to #define gcd to an alias.
40569         * lib/gcd.c: Include config.h.
40570
40571 2006-10-10  Bruno Haible  <bruno@clisp.org>
40572
40573         Make it possible to #define c_isascii to an alias.
40574         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
40575         defined. Undefine the macros before defining them, to avoid gcc
40576         warnings.
40577         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
40578         define NO_C_CTYPE_MACROS early.
40579
40580 2006-10-10  Bruno Haible  <bruno@clisp.org>
40581
40582         Make it possible to #define set_program_name to an alias.
40583         * lib/progname.c: Don't undefine set_program_name; instead, undefine
40584         ENABLE_RELOCATABLE early.
40585
40586 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
40587
40588         Port to Tandem NSK OSS, which has 64-bit signed int but at most
40589         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
40590         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
40591         More generally, don't assume that 64-bit signed int is available
40592         if unsigned int is, and vice versa.
40593         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
40594         unsigned symbols, not on their signed counterparts.
40595         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
40596         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
40597         (UINT64_C, UINTMAX_C):
40598         Likewise.
40599         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
40600         unsigned counterparts.
40601         (Have_long_long, Unsigned): New macros.
40602         (Int): Renamed from INT.
40603         (strtoimax): Use the new macros.
40604         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
40605         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
40606         * modules/inttypes (inttypes.h): Substitute
40607         HAVE_UNSIGNED_LONG_LONG_INT.
40608         * modules/stdint (stdint.h): Likewise.
40609         (Files): Add m4/ulonglong.m4.
40610
40611 2006-10-10  Bruno Haible  <bruno@clisp.org>
40612
40613         Fix a gcc -Wshadow warning.
40614         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
40615         to 'bucket'.
40616         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
40617         gl_linked_indexof_from_to): Likewise.
40618         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
40619         Likewise.
40620         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
40621         Likewise.
40622         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
40623         Reported by Eric Blake.
40624
40625 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
40626
40627         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
40628         for NetBSD.  Problem reported by Bruno Haible.
40629
40630 2006-10-09  Jim Meyering  <jim@meyering.net>
40631
40632         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
40633         Patch from Bruno Haible.
40634
40635 2006-10-09  Jim Meyering  <jim@meyering.net>
40636
40637         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
40638         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
40639         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
40640
40641 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
40642
40643         Don't include <config.h> twice; this doesn't work in some cases,
40644         e.g., when config.h has "#define intmax_t long long int" and
40645         we include <config.h>, <inttypes.h>, <config.h> in that order.
40646         Problem reported by Matthew Woehlke in:
40647         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
40648         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
40649         * lib/fts-cycle.c: Don't include config.h.
40650         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
40651         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
40652         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
40653         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
40654         inttypes.h.
40655         * lib/xstrtoumax.c: Likewise.
40656         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
40657         __strtol and the like, so that this module is more like its siblings.
40658         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
40659         Remove; no longer needed now that we assume gnulib inttypes.h.
40660
40661 2006-10-08  Bruno Haible  <bruno@clisp.org>
40662
40663         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
40664         option.
40665
40666 2006-10-07  Jim Meyering  <jim@meyering.net>
40667
40668         * modules/inttypes (inttypes.h): Revert what seems to have been
40669         an inadvertent part of today's change: use "|", not "/" in the
40670         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
40671
40672 2006-10-07  Bruno Haible  <bruno@clisp.org>
40673
40674         * modules/sublist: New file.
40675
40676 2006-10-07  Bruno Haible  <bruno@clisp.org>
40677
40678         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
40679         * modules/argz (argz.h): Likewise.
40680         * modules/arpa_inet (arpa/inet.h): Likewise.
40681         * modules/byteswap (byteswap.h): Likewise.
40682         * modules/configmake (configmake.h): Likewise.
40683         * modules/fcntl (fcntl.h): Likewise.
40684         * modules/fnmatch (fnmatch.h): Likewise.
40685         * modules/getopt (getopt.h): Likewise.
40686         * modules/glob (glob.h): Likewise.
40687         * modules/inttypes (inttypes.h): Likewise.
40688         * modules/netinet_in (netinet/in.h): Likewise.
40689         * modules/poll (poll.h): Likewise.
40690         * modules/stdbool (stdbool.h): Likewise.
40691         * modules/stdint (stdint.h): Likewise.
40692         * modules/sys_select (sys/select.h): Likewise.
40693         * modules/sys_socket (sys/socket.h): Likewise.
40694         * modules/sys_stat (sys/stat.h): Likewise.
40695         * modules/sysexits (sysexits.h): Likewise.
40696         * modules/unistd (unistd.h): Likewise.
40697         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40698         Add a "DO NOT EDIT" comment to the generated file.
40699         (func_import): Likewise for gnulib-comp.m4.
40700
40701 2006-10-07  Bruno Haible  <bruno@clisp.org>
40702
40703         * lib/gl_sublist.h: New file.
40704         * lib/gl_sublist.c: New file.
40705
40706 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
40707
40708         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
40709         name (relative to the original working directory) and the file
40710         name component (relative to the temporary working directory).  All
40711         callers changed.
40712         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
40713         * lib/mkdir-p.c (make_dir_parents): Likewise.
40714         * lib/mkdir-p.h (make_dir_parents): Likewise.
40715
40716 2006-10-06  Eric Blake  <ebb9@byu.net>
40717
40718         Define several macros for use by the clean-temp module.
40719         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
40720         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
40721         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
40722
40723         * lib/clean-temp.h (close_stream_temp): New declaration.
40724         * lib/clean-temp.c (includes): Pull in headers according to what
40725         other modules are in use.
40726         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
40727
40728 2006-10-06  Bruno Haible  <bruno@clisp.org>
40729
40730         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
40731         instead of fopen, fwriteerror.
40732
40733 2006-10-06  Bruno Haible  <bruno@clisp.org>
40734
40735         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
40736         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
40737         int.
40738         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
40739         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
40740         Return an error indicator.
40741         Suggested by Eric Blake.
40742
40743 2006-10-06  Bruno Haible  <bruno@clisp.org>
40744
40745         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
40746         Reported by Eric Blake.
40747
40748 2006-10-06  Bruno Haible  <bruno@clisp.org>
40749
40750         * modules/closeout (Description): Mention stderr too.
40751
40752 2006-10-06  Bruno Haible  <bruno@clisp.org>
40753         and Paul Eggert  <eggert@cs.ucla.edu>
40754
40755         * lib/closeout.c (close_stdout): Also close stderr.
40756         * lib/closeout.h: Update comment.
40757
40758 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
40759
40760         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
40761         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
40762         * lib/dirchownmod.c: Include lchown.h.
40763         * lib/lchown.c: Don't include files that lchown.h now includes.
40764         Don't declare chown, since lchown.h now does that.
40765         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
40766         (lchown): Define to rpl_chown if lchown is declared but
40767         does not exist.  Declare using a prototype if lchown is not
40768         declared.  Add a copyright notice.
40769         * lib/mkstemp.h: Include <unistd.h>.
40770         * lib/openat.c: Include lchown.h.
40771
40772         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
40773         we now test for that separately.
40774         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
40775         rather than O_NOFOLLOW, when testing whether it's possible to
40776         avoid a race condition reliably.
40777         * lib/savewd.c (savewd_chdir): Likewise.
40778
40779         Remove macros that are no longer needed now that stdint.h is
40780         reliable.
40781         * lib/fsusage.c (UINTMAX_MAX): Remove.
40782         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
40783         * lib/utimecmp.c (SIZE_MAX): Remove.
40784
40785         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
40786
40787         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
40788         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
40789         O_NOATIME works.
40790
40791 2006-10-05  Bruno Haible  <bruno@clisp.org>
40792
40793         * lib/gl_list.h (gl_sortedlist_search_from_to,
40794         gl_sortedlist_indexof_from_to): New declarations.
40795         (gl_list_implementation): New fields sortedlist_search_from_to,
40796         sortedlist_indexof_from_to.
40797         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
40798         inline functions.
40799         * lib/gl_list.c (gl_sortedlist_search_from_to,
40800         gl_sortedlist_indexof_from_to): New functions.
40801         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
40802         function.
40803         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
40804         (gl_array_sortedlist_search_from_to): New function.
40805         (gl_array_list_implementation): Update.
40806         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
40807         function.
40808         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
40809         (gl_carray_sortedlist_search_from_to): New function.
40810         (gl_carray_list_implementation): Update.
40811         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
40812         gl_linked_sortedlist_indexof_from_to): New functions.
40813         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
40814         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
40815         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
40816         gl_tree_sortedlist_indexof_from_to): New functions.
40817         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
40818         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
40819         Update.
40820         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
40821         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
40822         Update.
40823
40824 2006-10-05  Bruno Haible  <bruno@clisp.org>
40825
40826         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
40827         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
40828         (struct gl_list_implementation): Add fields search_from_to,
40829         indexof_from_to. Remove fields search, indexof.
40830         (gl_list_search): Use the search_from_to method.
40831         (gl_list_search_from, gl_list_search_from_to): New functions.
40832         (gl_list_indexof): Use the indexof_from_to method.
40833         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
40834         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
40835         (gl_list_search_from, gl_list_search_from_to): New functions.
40836         (gl_list_indexof): Use the indexof_from_to method.
40837         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
40838         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
40839         gl_array_indexof. Add start_index, end_index arguments.
40840         (gl_array_search_from_to): Renamed from gl_array_search. Add
40841         start_index, end_index arguments.
40842         (gl_array_remove, gl_array_list_implementation): Update.
40843         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
40844         gl_carray_indexof. Add start_index, end_index arguments.
40845         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
40846         start_index, end_index arguments.
40847         (gl_carray_remove, gl_carray_list_implementation): Update.
40848         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
40849         gl_linked_search. Add start_index, end_index arguments.
40850         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
40851         start_index, end_index arguments.
40852         (gl_linked_remove): Update.
40853         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
40854         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
40855         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
40856         field to 'size_t'.
40857         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
40858         gl_tree_search. Add start_index, end_index arguments.
40859         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
40860         start_index, end_index arguments.
40861         (gl_tree_remove): Update.
40862         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
40863         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
40864         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
40865         function.
40866         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
40867         gl_tree_search. Add start_index, end_index arguments.
40868         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
40869         start_index, end_index arguments.
40870         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
40871         Update.
40872         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
40873
40874 2006-10-05  Bruno Haible  <bruno@clisp.org>
40875
40876         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
40877
40878         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
40879         fwriteerror_temp): New declarations.
40880         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
40881         (descriptors): New variable.
40882         (cleanup): First, close the descriptors.
40883         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
40884         fclose_temp, fwriteerror_temp): New functions.
40885
40886 2006-10-04  Jim Meyering  <jim@meyering.net>
40887
40888         * lib/fts.c (fts_open): Tiny comment change.
40889
40890 2006-10-04  Bruno Haible  <bruno@clisp.org>
40891
40892         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
40893         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
40894         gl_LOCK_BODY.
40895         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
40896         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
40897         gl_LOCK_EARLY_BODY.
40898         (gl_LOCK): Require gl_LOCK_BODY.
40899
40900 2006-10-04  Bruno Haible  <bruno@clisp.org>
40901
40902         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
40903         (gl_oset_search_atleast): New declaration.
40904         (struct gl_oset_implementation): Add field 'search_atleast'.
40905         (gl_oset_search_atleast): New inline function.
40906         * lib/gl_oset.c (gl_oset_search_atleast): New function.
40907         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
40908         (gl_array_oset_implementation): Update.
40909         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
40910         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
40911         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
40912
40913 2006-10-04  Bruno Haible  <bruno@clisp.org>
40914
40915         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
40916
40917 2006-10-03  Bruno Haible  <bruno@clisp.org>
40918
40919         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
40920         from gl_avltreehash_list_implementation.
40921
40922 2006-10-03  Bruno Haible  <bruno@clisp.org>
40923
40924         * lib/gl_oset.c (gl_oset_add): Fix return type.
40925
40926 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
40927
40928         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
40929
40930 2006-10-02  Eric Blake  <ebb9@byu.net>
40931
40932         * modules/strnlen (Depends-on): Add extensions.
40933
40934 2006-10-02  Eric Blake  <ebb9@byu.net>
40935
40936         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
40937         definition in 2.60+.
40938
40939 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
40940
40941         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
40942         checks.
40943
40944 2006-10-02  Bruno Haible  <bruno@clisp.org>
40945
40946         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
40947         to the AUTOMAKE_OPTIONS.
40948         Reported by Jim Meyering.
40949
40950 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
40951
40952         Work around bug in Solaris 10 /proc file system:
40953         /proc/self/fd/NNN/.. isn't the parent directory of
40954         the directory whose file descriptor is NNN.  This needs to
40955         be worked around at run time, not compile time, since a
40956         program might be built on Solaris 8, where things work, and
40957         run on Solaris 10.
40958         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
40959         to use the following interface instead:
40960         (OPENAT_BUFFER_SIZE): New macro.
40961         (openat_proc_name): New function.
40962         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
40963         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
40964         Likewise.
40965         * lib/openat-proc.c: New file.
40966         * modules/openat (Files): Add lib/openat-proc.c.
40967         (Depends-on): Add same-inode, stdbool.
40968         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
40969
40970 2006-09-29  Bruno Haible  <bruno@clisp.org>
40971
40972         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
40973         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
40974         argument. Set stdout_closed before testing for ferror, not after.
40975         (fwriteerror, fwriteerror_no_ebadf): New functions.
40976
40977 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40978
40979         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
40980
40981 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
40982
40983         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
40984         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
40985
40986 2006-09-28  Jim Meyering  <jim@meyering.net>
40987
40988         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
40989         Include <unistd.h>.
40990
40991 2006-09-28  Bruno Haible  <bruno@clisp.org>
40992
40993         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
40994         * modules/linkedhash-list (Depends-on): Likewise.
40995         * modules/rbtreehash-list (Depends-on): Likewise.
40996
40997 2006-09-28  Bruno Haible  <bruno@clisp.org>
40998
40999         * lib/strndup.h: Simplify the redefinition of strndup.
41000         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
41001         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
41002
41003 2006-09-28  Bruno Haible  <bruno@clisp.org>
41004
41005         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
41006         * lib/gl_linkedhash_list.c: Likewise.
41007         * lib/gl_rbtreehash_list.c: Likewise.
41008
41009 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
41010
41011         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
41012         getaddrinfo.
41013
41014         * lib/__fpending.h: Don't include <stdio_ext.h> unless
41015         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
41016         it causes <stdio_ext.h> to cause a compile-time error.
41017         Problem reported by Nelson H. F. Beebe.
41018         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
41019         of HAVE_DECL___PENDING.
41020
41021         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
41022         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
41023         declaration.
41024
41025 2006-09-27  Jim Meyering  <jim@meyering.net>
41026
41027         This file could end up with a definition for a function
41028         named __strndup, rather than rpl_strndup on a system with
41029         incomplete weak_alias support.
41030         * lib/strndup.c (strndup): Rename from __strndup.
41031         Remove #defines that used to map __strndup to strndup.
41032         Don't use K&R prototypes.
41033         Remove LIBC-related code, since this file is not sync'd with glibc.
41034         * lib/strndup.h: Revamp, accordingly.
41035         * m4/strndup.m4: Modernize.
41036
41037 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
41038
41039         * modules/savewd (Depends-on): Add 'raise'.
41040         * lib/savewd.c: Include <signal.h>, for 'raise'.
41041
41042 2006-09-26  Jim Meyering  <jim@meyering.net>
41043
41044         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
41045         when we detect Darwin 8.7.0's acl_get_file bug.
41046         Rearrange to perform the new (below) run-test while $LIBS
41047         contains any acl-related library.  Set USE_ACL at the end.
41048         (gl_ACL_GET_FILE): New function.
41049
41050 2006-09-26  Eric Blake  <ebb9@byu.net>
41051
41052         * lib/verror.c: Include <config.h> unconditionally.
41053
41054 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
41055
41056         * modules/clock-time (Maintainer): Add self.
41057         * modules/getlogin_r (Depends-on): Add extensions.
41058
41059 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41060
41061         * modules/clock-time: New module.
41062         * modules/nanosleep (Depends-on): Add clock-time.
41063         * modules/gethrxtime (Depends-on): Likewise.
41064         * modules/gettime (Depends-on): Likewise.
41065         * modules/settime (Depends-on): Likewise.
41066
41067         * modules/fts-lgpl: Depend on openat.
41068         * modules/mkancesdirs: Depend on savewd.
41069         * modules/mkdir-p: Likewise.
41070
41071 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41072
41073         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
41074
41075         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
41076         `gl_have_arbitrary_file_name_length_limit' to
41077         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
41078         actually works between configure runs.
41079
41080 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41081             Bruno Haible  <bruno@clisp.org>
41082
41083         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
41084
41085 2006-09-25  Jim Meyering  <jim@meyering.net>
41086
41087         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
41088         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
41089
41090 2006-09-25  Eric Blake  <ebb9@byu.net>
41091
41092         * gnulib-tool (func_import, func_create_testdir): Fix typos in
41093         exec's in 2006-09-18 patch when shuffling fds.
41094
41095 2006-09-25  Bruno Haible  <bruno@clisp.org>
41096
41097         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
41098         Reported by Jim Meyering.
41099
41100 2006-09-24  Jim Meyering  <jim@meyering.net>
41101
41102         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
41103         compare a pointer against a literal "0".  That caused failures with
41104         at least HP-UX's hpcc.
41105
41106 2006-09-22  Simon Josefsson  <jas@extundo.com>
41107
41108         * modules/gc-sha1:
41109         * modules/gc-md4:
41110         * modules/gc-hmac-sha1:
41111         * modules/gc-hmac-md5:
41112         * modules/gc-des:
41113         * modules/gc-arcfour: Distribute more files.
41114
41115 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41116
41117         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
41118         (gl_linked_iterator_from_to): Initialize struct completely.
41119         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
41120         (gl_tree_iterator_from_to): Likewise
41121         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
41122         * lib/gl_array_list.c [lint] (gl_array_iterator)
41123         (gl_array_iterator_from_to): Likewise.
41124         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
41125         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
41126         (gl_carray_iterator_from_to): Likewise.
41127
41128         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
41129         * lib/md4.c (md4_process_block): Remove unused variable.
41130         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
41131         parentheses for clarity.
41132
41133 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41134
41135         * modules/bison-i18n (Depends-on): Add gettext.
41136
41137 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41138
41139         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
41140         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
41141         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
41142         also add missing comma that caused broken test.
41143         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
41144         stdlib.h, for `abort'.
41145         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
41146         variables.
41147         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
41148         include unistd.h if present, for `rmdir'.
41149         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
41150         variables.
41151         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
41152         in the process include standard headers for prototypes.
41153         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
41154         gets declared on GNU/Linux.
41155         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
41156         unistd.h, for `rmdir'.
41157         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
41158
41159         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
41160         always true.
41161         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
41162
41163         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
41164
41165 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41166
41167         * gnulib-tool (func_version): Create output all at once.  This
41168         may help avoid triggering unnecessary SIGPIPEs, and at any
41169         rate it doesn't hurt.
41170
41171 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41172             Bruno Haible  <bruno@clisp.org>
41173
41174         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
41175         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
41176         * m4/signed.m4 (bh_C_SIGNED): Likewise.
41177
41178         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
41179         (gl_FUNC_VASPRINTF): Invoke it.
41180
41181 2006-09-22  Bruno Haible  <bruno@clisp.org>
41182
41183         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
41184         getloadavg.c as first argument.
41185
41186 2006-09-22  Bruno Haible  <bruno@clisp.org>
41187
41188         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
41189         at the beginning of the gl_INIT macro.
41190         * modules/getloadavg (configure.ac): Pass $gl_source_base to
41191         gl_GETLOADAVG.
41192
41193 2006-09-22  Bruno Haible  <bruno@clisp.org>
41194
41195         * gnulib-tool (func_create_megatestdir): Don't include the config-h
41196         module.
41197         Suggested by Ralf Wildenhues.
41198
41199 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
41200
41201         Import this patch from libc:
41202
41203         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
41204
41205         * lib/regex_internal.c (re_string_reconstruct): Handle
41206         offset < pstr->valid_raw_len && pstr->offsets_needed case.
41207         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
41208         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
41209         re_string_context_at.
41210
41211         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
41212         now requires it.
41213         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
41214         gl_REGEX now does it for us.
41215         (gl_REGEX): Add test taken from
41216         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
41217
41218         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
41219         Check that large offsets work.  Modernize Autoconf usages.
41220         Prefer "yes" to mean a good thing rather than a bad.
41221         Don't put "#define mkstemp" in config.h, as this might interfere
41222         with standard system headers that "#define mkstemp mkstemp64".
41223
41224         * modules/mkstemp (Depends-on): Add extensions, so that
41225         mkstemp is visible on some platforms.
41226         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
41227         (Include): Change to "mkstemp.h" from <stdlib.h>.
41228         (Files): Add mkstemp.h.
41229
41230         * lib/mkstemp.h: New file, since some standard headers
41231         #define mkstemp.
41232         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
41233         Include "mkstemp.h".
41234         Make the _LIBC code resemble glibc original more,
41235         e.g., use K&R style.
41236         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
41237         (mkstemp): Remove, since mkstemp.h does this for us.
41238         * lib/stdlib--.h: Include mkstemp.h.
41239
41240         Import this patch from libc:
41241
41242         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
41243
41244         * lib/tempname.c (__gen_tempname): Change attempts_min
41245         into a macro.  Use preprocessor to decide how to initialize
41246         attempts [Coverity CID 67].
41247
41248 2006-09-20  Bruno Haible  <bruno@clisp.org>
41249
41250         * lib/mkdtemp.c: Import from libc.
41251         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
41252                 * sysdeps/posix/tempname.c (__gen_tempname): Change
41253                 attempts_min into a macro.  Use preprocessor to decide how to
41254                 initialize attempts [Coverity CID 67].
41255         2001-11-27  Paul Eggert  <eggert@twinsun.com>
41256                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
41257                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
41258
41259 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41260
41261         * gnulib-tool (func_exit): New function, to allow to pass the
41262         exit status portably through the trap.  Use everywhere.
41263         (--help, --version): Signal a write error.
41264         (trap): catch SIGPIPE, for write errors.
41265         Exit at the end of the trap, with the correct exit status.
41266
41267 2006-09-19  Karl Berry  <karl@gnu.org>
41268
41269         * doc/gnulib.texi: note about the license texinfo files.
41270
41271 2006-09-19  Eric Blake  <ebb9@byu.net>
41272
41273         * gnulib-tool: Avoid space-tab.
41274
41275 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
41276
41277         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
41278         that prevented coreutils 6.1 from building.  Problem reported
41279         by Petter Reinholdtsen.
41280
41281 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
41282
41283         * gnulib-tool (avoidlist): Fix typo that broke options like
41284         --avoid=lock that are used by coreutils bootstrap.
41285
41286 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
41287
41288         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
41289         more systematically.
41290
41291 2006-09-18  Jim Meyering  <jim@meyering.net>
41292
41293         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
41294
41295 2006-09-18  Bruno Haible  <bruno@clisp.org>
41296
41297         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
41298
41299 2006-09-18  Bruno Haible  <bruno@clisp.org>
41300
41301         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
41302         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
41303         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
41304         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
41305         * m4/gettext.m4: Require autoconf >= 2.52.
41306         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
41307         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
41308         of gl_cv_header_inttypes_h.
41309
41310 2006-09-18  Bruno Haible  <bruno@clisp.org>
41311
41312         * lib/javaversion.c: Include configmake.h.
41313
41314 2006-09-18  Bruno Haible  <bruno@clisp.org>
41315
41316         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
41317         avoid that the while loops be executed in a subshell.
41318
41319 2006-09-18  Bruno Haible  <bruno@clisp.org>
41320
41321         * MODULES.html.sh (func_module): Break long lines.
41322         Suggested by Bruce Korb <bkorb@gnu.org>.
41323
41324 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41325
41326         Speed up by a factor of 1.12.
41327         * gnulib-tool (nl): New variable.
41328         (func_import): Rewrite include directive extraction to only read each
41329         directive once.
41330
41331 2006-09-17  Bruno Haible  <bruno@clisp.org>
41332
41333         * modules/javaversion (Makefile.am): Remove DEFS setting.
41334         (Depends-on): Add configmake, for PKGDATADIR definition.
41335
41336 2006-09-17  Bruno Haible  <bruno@clisp.org>
41337
41338         * gnulib-tool (func_create_testdir): Rewrite all files at once.
41339
41340 2006-09-17  Bruno Haible  <bruno@clisp.org>
41341
41342         * gnulib-tool (func_append): New function, stolen from libtool.m4.
41343         (func_modules_transitive_closure, func_modules_add_dummy,
41344         func_modules_to_filelist, func_import, func_create_testdir,
41345         func_create_megatestdir, ...): Use it wherever possible.
41346         Suggested by Ralf Wildenhues.
41347
41348 2006-09-16  Karl Berry  <karl@gnu.org>
41349
41350         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
41351         to avoid sectioning errors.
41352         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
41353         [ifinfo]: blank line after @center-ed titles.
41354         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
41355         Spell FSF address consistently with others.
41356         (These changes approved by rms.)
41357
41358 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41359
41360         Speed up by a factor of 1.61.
41361         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
41362         already checked module names again.
41363
41364 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41365
41366         Speed up by a factor of 1.13.
41367         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
41368         for new_files, and the input to func_add_or_update.
41369
41370 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41371
41372         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
41373         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
41374
41375 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41376
41377         * modules/mkancesdirs (Depends-on): Add fcntl.
41378         * modules/savewd: New file.
41379         * MODULES.html.sh (File system functions): Add savewd.
41380
41381         * modules/configmake (Makefile.am): Add support for the
41382         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
41383
41384 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41385
41386         * m4/savewd.m4: New file.
41387
41388 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41389
41390         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
41391         (dirchownmod): New arg FD.  All callers changed.
41392         Use FD rather than opening the directory ourself, as opening is
41393         now the caller's responsibility.
41394         * lib/dirchownmod.h: Likewise.
41395         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
41396         hosts that require <sys/types.h> before <sys/stat.h>.  Include
41397         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
41398         (test_dir): Remove.
41399         (mkancesdirs): Return length of prefix of FILE that has already
41400         been made, or -2 if there is a child doing the work.  Redo
41401         algorithm so that it is O(N) rather than O(N**2).  Optimize away
41402         ".", and treat ".." specially since it might stray back into
41403         already-created areas.  Use a subprocess if necessary.  New arg
41404         WD; all users changed.  MAKE_DIR function should now return 1
41405         if it creates a directory that is not readable.  Return -2 if
41406         a child process is spun off.
41407         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
41408         Adjust signature to match code.
41409         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
41410         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
41411         all users changed.
41412         * lib/savewd.c, lib/savewd.h: New files.
41413
41414 2006-09-15  Jim Meyering  <jim@meyering.net>
41415
41416         * modules/rename-dest-slash: New module.
41417         * MODULES.html.sh (posix_compat): Add it here.
41418
41419         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
41420
41421 2006-09-15  Jim Meyering  <jim@meyering.net>
41422
41423         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
41424         file.
41425
41426         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
41427
41428 2006-09-15  Jim Meyering  <jim@meyering.net>
41429
41430         * lib/rename-dest-slash.c (has_trailing_slash): Use
41431         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
41432         (rpl_rename_dest_slash): Perform the cheaper trailing slash
41433         test before testing whether SRC is a directory.
41434         Suggestions from Bruno Haible.
41435
41436         Avoid a warning about an unused variable.
41437         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
41438         into the #ifdef block where it's used.
41439
41440         * lib/rename-dest-slash.c: New file.
41441
41442 2006-09-14  Bruno Haible  <bruno@clisp.org>
41443
41444         * lib/allocsa.c: Include <config.h> unconditionally.
41445         * lib/asnprintf.c: Likewise.
41446         * lib/asprintf.c: Likewise.
41447         * lib/c-strcasecmp.c: Likewise.
41448         * lib/c-strcasestr.c: Likewise.
41449         * lib/c-strncasecmp.c: Likewise.
41450         * lib/c-strstr.c: Likewise.
41451         * lib/classpath.c: Likewise.
41452         * lib/clean-temp.c: Likewise.
41453         * lib/concatpath.c: Likewise.
41454         * lib/copy-file.c: Likewise.
41455         * lib/csharpcomp.c: Likewise.
41456         * lib/csharpexec.c: Likewise.
41457         * lib/execute.c: Likewise.
41458         * lib/fatal-signal.c: Likewise.
41459         * lib/findprog.c: Likewise.
41460         * lib/fwriteerror.c: Likewise.
41461         * lib/gl_array_list.c: Likewise.
41462         * lib/gl_array_oset.c: Likewise.
41463         * lib/gl_avltree_list.c: Likewise.
41464         * lib/gl_avltree_oset.c: Likewise.
41465         * lib/gl_avltreehash_list.c: Likewise.
41466         * lib/gl_carray_list.c: Likewise.
41467         * lib/gl_linked_list.c: Likewise.
41468         * lib/gl_linkedhash_list.c: Likewise.
41469         * lib/gl_list.c: Likewise.
41470         * lib/gl_oset.c: Likewise.
41471         * lib/gl_rbtree_list.c: Likewise.
41472         * lib/gl_rbtree_oset.c: Likewise.
41473         * lib/gl_rbtreehash_list.c: Likewise.
41474         * lib/imaxabs.c: Likewise.
41475         * lib/imaxdiv.c: Likewise.
41476         * lib/javacomp.c: Likewise.
41477         * lib/javaexec.c: Likewise.
41478         * lib/javaversion.c: Likewise.
41479         * lib/linebreak.c: Likewise.
41480         * lib/localcharset.c: Likewise.
41481         * lib/lock.c: Likewise.
41482         * lib/mbchar.c: Likewise.
41483         * lib/mbswidth.c: Likewise.
41484         * lib/mkdtemp.c: Likewise.
41485         * lib/pipe.c: Likewise.
41486         * lib/printf-args.c: Likewise.
41487         * lib/printf-parse.c: Likewise.
41488         * lib/progname.c: Likewise.
41489         * lib/progreloc.c: Likewise.
41490         * lib/readlink.c: Likewise.
41491         * lib/sh-quote.c: Likewise.
41492         * lib/stpcpy.c: Likewise.
41493         * lib/stpncpy.c: Likewise.
41494         * lib/strcasecmp.c: Likewise.
41495         * lib/strcasestr.c: Likewise.
41496         * lib/strcspn.c: Likewise.
41497         * lib/striconv.c: Likewise.
41498         * lib/strncasecmp.c: Likewise.
41499         * lib/strnlen1.c: Likewise.
41500         * lib/strstr.c: Likewise.
41501         * lib/strtok_r.c: Likewise.
41502         * lib/tls.c: Likewise.
41503         * lib/tmpdir.c: Likewise.
41504         * lib/unicodeio.c: Likewise.
41505         * lib/unsetenv.c: Likewise.
41506         * lib/vasnprintf.c: Likewise.
41507         * lib/vasprintf.c: Likewise.
41508         * lib/wait-process.c: Likewise.
41509         * lib/xallocsa.c: Likewise.
41510         * lib/xsetenv.c: Likewise.
41511         * lib/xstriconv.c: Likewise.
41512
41513 2006-09-13  Simon Josefsson  <jas@extundo.com>
41514
41515         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
41516         that internally, suggested by Ralf Wildenhues
41517         <Ralf.Wildenhues@gmx.de>.
41518
41519 2006-09-13  Simon Josefsson  <jas@extundo.com>
41520
41521         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
41522         @LIBOBJS@.
41523         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41524
41525 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
41526
41527         * lib/_fpending.c: Include <config.h> unconditionally, since we no
41528         longer worry about uses that don't define HAVE_CONFIG_H.
41529         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
41530         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
41531         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
41532         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
41533         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
41534         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
41535         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
41536         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
41537         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
41538         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
41539         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
41540         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
41541         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
41542         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
41543         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
41544         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
41545         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
41546         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
41547         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
41548         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
41549         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
41550         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
41551         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
41552         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
41553         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
41554         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
41555         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
41556         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
41557         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
41558         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
41559         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
41560         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
41561         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
41562         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
41563         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
41564         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
41565         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
41566         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
41567         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
41568         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
41569         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
41570         Likewise.
41571
41572 2006-09-13  Eric Blake  <ebb9@byu.net>
41573
41574         * lib/getopt.c: Fix typo in last commit.
41575
41576 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41577
41578         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
41579         dgettext.
41580
41581 2006-09-12  Jim Meyering  <jim@meyering.net>
41582
41583         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
41584         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
41585         Reported by Nelson H. F. Beebe.
41586
41587 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
41588
41589         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
41590         program_invocation_name and program_invocation_short_name are
41591         initialized.
41592         * lib/argp-namefrob.h: Move declarations of program_invocation_name
41593         and program_invocation_short_name to argp.h, so they are visible
41594         to user programs.
41595         * lib/argp.h: Likewise
41596
41597 2006-09-10  Bruno Haible  <bruno@clisp.org>
41598
41599         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
41600         m4/inttypes_h.m4, m4/uintmax_t.m4.
41601
41602 2006-09-10  Bruno Haible  <bruno@clisp.org>
41603
41604         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
41605         gl_AC_TYPE_UINTMAX_T.
41606
41607 2006-09-10  Bruno Haible  <bruno@clisp.org>
41608
41609         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
41610
41611 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
41612
41613         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
41614         convention.  Text proposed by Bruno Haible.
41615         (struct argp_option): Document the use of N_() wrappers.
41616
41617         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
41618         '\v', and translate the two parts separately, instead of feeding
41619         the whole string to gettext.  This allows to exclude
41620         '\v' from the strings visible to the translator by writing doc
41621         strings as N_("..") "\v" N_("..").
41622
41623 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
41624
41625         * config/srclist.txt: Undo latest change; the bug was fixed.
41626
41627 2006-09-09  Bruno Haible  <bruno@clisp.org>
41628
41629         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
41630         assignments if building a library without libtool.
41631         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
41632         in func_emit_lib_Makefile_am.
41633         (func_import): When building a static library libfoo.a, arrange to
41634         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
41635         (func_create_testdir): Likewise.
41636         * modules/gc (configure.ac, Makefile.am): If building statically,
41637         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
41638         * modules/iconvme (configure.ac, Makefile.am): Likewise.
41639         * modules/striconv (configure.ac, Makefile.am): Likewise.
41640         Based on a suggestion by Ralf Wildenhues.
41641
41642 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41643
41644         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
41645         Check for unistd.h too, since Autoconf doesn't assume POSIX.
41646         Also:
41647
41648         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41649         Add year_2050_test to catch glibc bug 2821
41650         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
41651
41652         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41653         Prefer #ifdef to #if.
41654
41655         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
41656         Return from 'main' instead of calling 'exit'.
41657
41658 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41659
41660         * lib/mktime.c (guess_time_tm): Fix bug where mktime
41661         returned the maximum time_t value rather than (time_t) -1.
41662         Problem originally reported by William Bardwell
41663         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
41664
41665         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
41666         Moved to here ...
41667         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
41668         ... from here.
41669
41670 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41671
41672         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
41673         2821 is fixed.
41674
41675 2006-09-08  Jim Meyering  <jim@meyering.net>
41676
41677         Don't make generated files read-only.  That would bother too many
41678         people.  However, do retain the ability to work when targets are
41679         read-only: remove the destination and temporary files before writing
41680         them (when generated via sed or echo), or by using the -f option for
41681         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
41682         * modules/alloca-opt, modules/argz, modules/arpa_inet:
41683         * modules/byteswap, modules/configmake, modules/fcntl:
41684         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
41685         * modules/localcharset, modules/netinet_in, modules/poll:
41686         * modules/stdbool, modules/stdint, modules/sys_select:
41687         * modules/sys_socket, modules/sys_stat, modules/sysexits:
41688
41689 2006-09-08  Jim Meyering  <jim@meyering.net>
41690
41691         Avoid new build failure on FreeBSD 6.0.
41692         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
41693         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
41694         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
41695
41696 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41697
41698         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
41699
41700 2006-09-07  Jim Meyering  <jim@meyering.net>
41701
41702         Fix global typo in last change: use chmod u-w, not chmod u-x.
41703         Spotted by Paul Eggert and Bruce Korb.
41704         * modules/alloca-opt, modules/argz, modules/arpa_inet:
41705         * modules/byteswap, modules/configmake, modules/fcntl:
41706         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
41707         * modules/localcharset, modules/netinet_in, modules/poll:
41708         * modules/stdbool, modules/stdint, modules/sys_select:
41709         * modules/sys_socket, modules/sys_stat, modules/sysexits:
41710
41711 2006-09-06  Jim Meyering  <jim@meyering.net>
41712
41713         Make generated files be read-only.
41714         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
41715         Ensure that each generated file is now read-only.
41716         * modules/argz: Likewise.
41717         * modules/arpa_inet: Likewise.
41718         * modules/byteswap: Likewise.
41719         * modules/configmake: Likewise.
41720         * modules/fcntl: Likewise.
41721         * modules/fnmatch: Likewise.
41722         * modules/getopt: Likewise.
41723         * modules/glob: Likewise.
41724         * modules/inttypes: Likewise.
41725         * modules/netinet_in: Likewise.
41726         * modules/poll: Likewise.
41727         * modules/stdbool: Likewise.
41728         * modules/stdint: Likewise.
41729         * modules/sys_select: Likewise.
41730         * modules/sys_socket: Likewise.
41731         * modules/sys_stat: Likewise.
41732         * modules/sysexits: Likewise.
41733         * modules/localcharset: Same as above, but continue using temporary
41734         file named "t-$@" (why different?) rather than the "$@-t" used
41735         everywhere else.
41736
41737         * modules/sysexits (Makefile.am): Replace literal occurrences
41738         of "sysexit.h" more readable, and more consistent, "$@".
41739
41740 2006-09-06  Bruno Haible  <bruno@clisp.org>
41741
41742         * modules/striconv: New file.
41743         * modules/xstriconv: New file.
41744         * MODULES.html.sh (Internationalization functions): Add striconv,
41745         xstriconv.
41746
41747 2006-09-06  Bruno Haible  <bruno@clisp.org>
41748
41749         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
41750         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
41751         not using libtool correctly.
41752
41753 2006-09-06  Bruno Haible  <bruno@clisp.org>
41754
41755         * lib/striconv.h: New file.
41756         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
41757         iconvstring.c.
41758         * lib/xstriconv.h: New file.
41759         * lib/xstriconv.c: New file.
41760
41761 2006-09-06  Bruno Haible  <bruno@clisp.org>
41762
41763         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41764         lib_..._LDFLAGS.
41765
41766 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41767
41768         * lib/argz_.h: Sync from Libtool.
41769
41770         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
41771                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
41772
41773         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
41774
41775 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
41776
41777         * modules/trim: New file.
41778
41779 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
41780
41781         * lib/trim.h: New file.
41782         * lib/trim.c: New file.
41783
41784 2006-09-05  Bruno Haible  <bruno@clisp.org>
41785
41786         * MODULES.html.sh (String handling): Add trim.
41787
41788 2006-09-04  Karl Berry  <karl@gnu.org>
41789
41790         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
41791         until next release.
41792
41793 2006-09-03  Bruno Haible  <bruno@clisp.org>
41794
41795         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
41796         correctly.
41797
41798 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41799
41800         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
41801         not gl_GETLOADAVG.  Omit unneeded semicolons.
41802         Problems reported by Ralf Wildenhues in
41803         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
41804         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
41805         at the end, which is the usual gnulib style.
41806
41807         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
41808         of doing all the work ourselves.
41809         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
41810         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
41811
41812 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41813
41814         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
41815         Problem reported by Ralf Wildenhues in
41816         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
41817
41818         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
41819         HAVE_STRUCT_STATFS_F_FSTYPENAME.
41820
41821 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
41822
41823         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
41824         yesterday's patch by changing test -n to test -z.
41825
41826 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41827
41828         * modules/getloadavg (Files): Add m4/getloadavg.m4.
41829         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
41830         the former is now obsolescent.
41831
41832         * modules/chdir-long (Depends-on): Add fcntl.
41833
41834 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41835
41836         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
41837         obsolescent, and programs should use gnulib instead.
41838         * m4/getloadavg.m4: New file, with contents taken from Autoconf
41839         but with prefixes changed.
41840
41841 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
41842
41843         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
41844         or stdbool.h, because they might not exist while configuring.
41845
41846         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
41847         Don't include unistd.h or limits.h; not needed, since chdir-long.h
41848         does that for us.
41849         (O_DIRECTORY): Remove.
41850
41851 2006-08-31  Eric Blake  <ebb9@byu.net>
41852
41853         * gnulib-tool: Don't let emacs change spaces to TAB.
41854
41855 2006-08-31  Bruno Haible  <bruno@clisp.org>
41856
41857         * gnulib-tool: When calling func_import more than once, do it in a
41858         subshell.
41859         Reported by Eric Blake <ebb9@byu.net>.
41860
41861 2006-08-31  Bruno Haible  <bruno@clisp.org>
41862
41863         * gnulib-tool (nl): Remove variable.
41864         (sed_transform_lib_file): Use more robust test for config-h module.
41865         (func_import): Fix typo in 2006-08-25 patch.
41866
41867 2006-08-31  Bruno Haible  <bruno@clisp.org>
41868
41869         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
41870         specified, augment Makefile.am variables instead of assigning them.
41871
41872 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41873
41874         Work around a bug in both the Linux and SunOS 64-bit kernels:
41875         nanosleep mishandles sleeps for longer than 2**31 seconds.
41876         Problem reported by Frank v Waveren in
41877         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
41878         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
41879         Check for nanosleep bug.
41880         (LIB_NANOSLEEP): Append clock_gettime library if needed.
41881
41882 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41883
41884         Work around a bug in both the Linux and SunOS 64-bit kernels:
41885         nanosleep mishandles sleeps for longer than 2**31 seconds.
41886         Problem reported by Frank v Waveren in
41887         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
41888         * lib/nanosleep.c (BILLION): New constant.
41889         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
41890         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
41891         implementation.
41892
41893 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41894
41895         * modules/nanosleep (Depends-on): Add gettime.
41896
41897 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
41898         and Simon Josefsson  <jas@extundo.com>
41899         and Oskar Liljeblad  <oskar@osk.mine.nu>
41900
41901         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
41902         * gnulib-tool (func_import): New license type 'unmodifiable license
41903         text'.
41904         * modules/fdl: Use it.  Longer description.
41905         * module/gpl, module/lgpl: New files.
41906
41907 2006-08-30  Jim Meyering  <jim@meyering.net>
41908
41909         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
41910         shadowing the parameter.
41911
41912 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41913
41914         Sync from Libtool:
41915
41916         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41917
41918         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
41919         sharing with gnulib.  Report by Eric Blake.
41920
41921 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41922
41923         * modules/isapipe: New file.
41924         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
41925
41926 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41927
41928         * modules/configmake (Makefile.am): Add a comment, and omit
41929         the CONFIGMAKE_ prefix from generated macro names.  Suggested
41930         by Bruno Haible.
41931
41932 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41933
41934         * m4/isapipe.m4: New file.
41935
41936 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
41937
41938         * lib/isapipe.c, lib/isapipe.h: New files.
41939
41940 2006-08-29  Jim Meyering  <jim@meyering.net>
41941
41942         * modules/configmake (Makefile.am): Make configmake.h depend on
41943         Makefile.  Otherwise, a stale configmake.h could hang around.
41944
41945 2006-08-29  Eric Blake  <ebb9@byu.net>
41946
41947         * lib/error.c (error_at_line, print_errno_message): Match libc, after
41948         resolution of upstream bug 3044.
41949
41950 2006-08-29  Bruno Haible  <bruno@clisp.org>
41951
41952         * modules/localcharset (Depends-on): Add configmake.
41953         (Makefile.am): Remove setting of LIBDIR through DEFS.
41954
41955 2006-08-29  Bruno Haible  <bruno@clisp.org>
41956
41957         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
41958         defined.
41959
41960 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41961
41962         * modules/fcntl: New file.
41963         * modules/chdir-safer (Depends-on): Add fcntl.
41964         * modules/fts: Likewise.
41965         * modules/mkdir-p: Likewise.
41966
41967         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
41968         This undoes the most recent change, since we're now addressing the
41969         problem in a different way.
41970
41971         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
41972         into output, since the output might be called Makefile.am even
41973         if $makefile_name is something different.
41974         (func_import): Use $makefile_am rather than
41975         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
41976         empty.
41977
41978         * modules/inttypes (Files): Add m4/inttypes-h.m4.
41979
41980 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41981
41982         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
41983         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
41984         recent change to stdint.m4, since we're now addressing the problem in a
41985         different way.
41986
41987 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41988
41989         * m4/fcntl_h.m4: New file.
41990
41991 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
41992
41993         * lib/fcntl_.h: New file.
41994         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
41995         the fcntl module.
41996         * lib/dirchownmod.c: Likewise.
41997         * lib/fts.c: Likewise.
41998
41999         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
42000         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
42001         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
42002         just before including <inttypes.h>, to avoid circular inclusion.
42003
42004 2006-08-28  Jim Meyering  <jim@meyering.net>
42005
42006         * doc/visibility.texi: Actually read and correct the grammar of the
42007         sentence affected by yesterday's change.
42008
42009 2006-08-28  Eric Blake  <ebb9@byu.net>
42010
42011         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
42012         needs wrapper.
42013
42014 2006-08-28  Eric Blake  <ebb9@byu.net>
42015
42016         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
42017
42018 2006-08-28  Eric Blake  <ebb9@byu.net>
42019
42020         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
42021
42022 2006-08-28  Bruno Haible  <bruno@clisp.org>
42023
42024         * modules/c-strstr: New file, from GNU gettext.
42025         * MODULES.html.sh (String handling): Add c-strstr.
42026
42027 2006-08-28  Bruno Haible  <bruno@clisp.org>
42028
42029         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
42030         macros.
42031         Reported by Eric Blake.
42032
42033 2006-08-28  Bruno Haible  <bruno@clisp.org>
42034
42035         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
42036         (VASNPRINTF): Return a string of length > INT_MAX without failing.
42037         * lib/vasprintf.c: Include errno.h, limits.h.
42038         (EOVERFLOW): New fallback definition.
42039         (vasprintf): Test here whether the string length is > INT_MAX.
42040         * lib/vsnprintf.c: Include errno.h, limits.h.
42041         (EOVERFLOW): New fallback definition.
42042         (vsnprintf): Fix bug when generated string was too long for the buffer.
42043         Test here whether the string length is > INT_MAX.
42044
42045 2006-08-28  Bruno Haible  <bruno@clisp.org>
42046
42047         * lib/inttypes_.h (SCNX*): Remove definitions.
42048         Reported by Eric Blake.
42049
42050 2006-08-28  Bruno Haible  <bruno@clisp.org>
42051
42052         * lib/c-strstr.h: New file, from GNU gettext.
42053         * lib/c-strstr.c: New file, from GNU gettext.
42054
42055 2006-08-28  Bruno Haible  <bruno@clisp.org>
42056
42057         * gnulib-tool: Reorder some statements.
42058
42059 2006-08-28  Bruno Haible  <bruno@clisp.org>
42060
42061         * gnulib-tool: New option --makefile-name.
42062         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
42063         $makefile_name.
42064         (func_import): Write $makefile_name to the cache file, and read it from
42065         there unless explicitly specified. Use $makefile_name as file name
42066         instead of Makefile.am. Adjust the recommendations accordingly.
42067
42068 2006-08-28  Bruno Haible  <bruno@clisp.org>
42069
42070         * gnulib-tool (func_verify_module): Check against misapplying patch.
42071
42072 2006-08-28  Bruno Haible  <bruno@clisp.org>
42073
42074         * gnulib-tool (func_relativize, func_relconcat): New functions.
42075         Give an error if --local-dir is given with --update.
42076         Remove trailing slashes from $local_gnulib_dir.
42077         (func_import): Store the relativized $local_gnulib_dir in
42078         gnulib-cache.m4, and read it from there if not specified explicitly.
42079
42080 2006-08-28  Bruno Haible  <bruno@clisp.org>
42081
42082         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
42083         is the current directory. Respect also $local_gnulib_dir.
42084
42085 2006-08-28  Bruno Haible  <bruno@clisp.org>
42086             Simon Josefsson  <jas@extundo.com>
42087
42088         BeOS portability.
42089         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
42090
42091 2006-08-27  Jim Meyering  <jim@meyering.net>
42092
42093         * doc/visibility.texi: Remove duplicate word: "pointer".
42094
42095 2006-08-26  Bruno Haible  <bruno@clisp.org>
42096
42097         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
42098         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
42099         (Makefile.am): Create inttypes.h from inttypes_.h.
42100         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
42101
42102         * modules/imaxabs: New file.
42103
42104         * modules/imaxdiv: New file.
42105
42106 2006-08-26  Bruno Haible  <bruno@clisp.org>
42107
42108         * m4/inttypes.m4: New file.
42109         * m4/_inttypes_h.m4: Remove file.
42110         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
42111         PRI_MACROS_BROKEN.
42112         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
42113
42114         * m4/imaxabs.m4: New file.
42115
42116         * m4/imaxdiv.m4: New file.
42117
42118 2006-08-26  Bruno Haible  <bruno@clisp.org>
42119
42120         * lib/inttypes_.h: New file.
42121         * lib/inttypes.h: Remove file.
42122         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
42123
42124         * lib/imaxabs.c: New file.
42125
42126         * lib/imaxdiv.c: New file.
42127
42128 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42129
42130         New config-h module, so that "make" output needn't be cluttered
42131         by -DHAVE_CONFIG_H.
42132         * MODULES.html.sh (Support for building libraries and executables):
42133         Add config-h.
42134         * modules/config-h: New file.
42135         * gnulib-tool (nl, sed_transform_lib_file): New vars.
42136         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
42137         the config-h module is used.
42138
42139         New configmake module, so that "make" output needn't be cluttered
42140         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
42141         * MODULES.html.sh (Support for building libraries and executables):
42142         Add configmake.
42143         * modules/configmake: New file.
42144
42145 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42146
42147         * m4/config-h.m4: New file.
42148
42149 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42150
42151         * config/srclist.txt: Add elisp-comp.
42152
42153 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42154
42155         * MODULES.html.sh (Support for building libraries and executables):
42156         Add elisp-comp.
42157         * build-aux/elisp-comp: New file.
42158         * modules/elisp-comp: New file.
42159
42160 2006-08-24  Bruno Haible  <bruno@clisp.org>
42161
42162         * gnulib-tool (func_create_testdir): Use non-default values of
42163         sourcebase and m4base.
42164
42165 2006-08-24  Bruno Haible  <bruno@clisp.org>
42166
42167         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
42168         HTML structure.
42169
42170 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
42171
42172         * modules/openat (Depends-on): Add lchown.
42173
42174 2006-08-23  Bruno Haible  <bruno@clisp.org>
42175
42176         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
42177         of gl_LOCK_EARLY instead of gl_LOCK.
42178
42179 2006-08-23  Bruno Haible  <bruno@clisp.org>
42180
42181         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
42182         on OSF/1 to no.
42183         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
42184
42185 2006-08-23  Bruno Haible  <bruno@clisp.org>
42186
42187         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
42188         as unusable.
42189
42190         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
42191         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
42192         (gl_LOCK): New macro.
42193
42194 2006-08-22  Simon Josefsson  <jas@extundo.com>
42195
42196         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
42197         to md5 module.
42198
42199 2006-08-22  Simon Josefsson  <jas@extundo.com>
42200
42201         * MODULES.html.sh: Add "Support for maintaining and release
42202         projects".
42203
42204         * build-aux/gnupload: New file, from coreutils.
42205
42206 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42207
42208         Avoid the need for AC_LIBSOURCES in m4 macros.
42209         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
42210         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
42211         * modules/check-version (EXTRA_DIST): Add check-version.h.
42212         * modules/crc (EXTRA_DIST): Add crc.h.
42213         * modules/des (EXTRA_DIST): Add des.h.
42214         * modules/gc (EXTRA_DIST): Add gc.h.
42215         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
42216         * modules/getline (EXTRA_DIST): Add getline.h.
42217         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
42218         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
42219         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
42220         * modules/md2 (EXTRA_DIST): Add md2.h.
42221         * modules/md4 (EXTRA_DIST): Add md4.h.
42222         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
42223         * modules/read-file (EXTRA_DIST): Add read-file.h.
42224         * modules/readline (EXTRA_DIST): Add readline.h.
42225         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
42226         rijndael-api-fst.h.
42227
42228 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42229
42230         * m4/rijndael.m4 (gl_ARCFOUR):
42231         * m4/arctwo.m4 (gl_ARCTWO):
42232         * m4/check-version.m4 (gl_CHECK_VERSION):
42233         * m4/crc.m4 (gl_CRC):
42234         * m4/des.m4 (gl_DES):
42235         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
42236         * m4/gc.m4 (gl_GC):
42237         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
42238         * m4/getline.m4 (gl_FUNC_GETLINE):
42239         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
42240         * m4/hmac-md5.m4 (gl_HMAC_MD5):
42241         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
42242         * m4/md2.m4 (gl_MD2):
42243         * m4/md4.m4 (gl_MD4):
42244         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
42245         * m4/read-file.m4 (gl_FUNC_READ_FILE):
42246         * m4/readline.m4 (gl_FUNC_READLINE):
42247         * m4/rijndael.m4 (gl_RIJNDAEL):
42248         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
42249         to get the necessary .h files and whatnot.
42250
42251 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
42252
42253         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
42254         gnulib rather than the other way around.
42255         * config/srclistvars.sh (COREUTILS): Remove.
42256
42257 2006-08-22  Jim Meyering  <jim@meyering.net>
42258
42259         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
42260
42261         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
42262
42263 2006-08-22  Eric Blake  <ebb9@byu.net>
42264
42265         * modules/regexprops-generic: New file.
42266         * MODULES.html.sh (Support for building documentation): List it.
42267
42268 2006-08-22  Eric Blake  <ebb9@byu.net>
42269
42270         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
42271         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
42272         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
42273         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
42274
42275 2006-08-22  Bruno Haible  <bruno@clisp.org>
42276
42277         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
42278         and lib_LTLIBRARIES like the other lib_* variables.
42279
42280 2006-08-22  Bruno Haible  <bruno@clisp.org>
42281
42282         * build-aux/x-to-1.in: New file, from GNU gettext.
42283
42284 2006-08-22  Bruno Haible  <bruno@clisp.org>
42285
42286         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
42287         <utmpx.h> exists.
42288
42289 2006-08-22  Bruno Haible  <bruno@clisp.org>
42290
42291         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
42292         <utmpx.h> exists.
42293
42294 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42295
42296         BeOS portability.
42297         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
42298         exist.
42299         Problem reported by Bruno Haible.
42300
42301 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42302
42303         Avoid the need for AC_LIBSOURCES in m4 macros.
42304         * modules/acl (EXTRA_DIST): Add acl.h.
42305         * modules/argmatch (Files): Add m4/argmatch.m4.
42306         (configure.ac): Add gl_ARGMATCH.
42307         (EXTRA_DIST): Renamed from lib_SOURCES, for
42308         consistency with the other modules.  Remove argmatch.c.
42309         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
42310         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
42311         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
42312         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
42313         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
42314         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
42315         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
42316         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
42317         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
42318         * modules/closeout (EXTRA_DIST): Add closeout.h.
42319         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
42320         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
42321         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
42322         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
42323         dirname.h; remove basename.c and stripslash.c.
42324         * modules/exclude (EXTRA_DIST): Add exclude.h.
42325         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
42326         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
42327         * modules/file-type (EXTRA_DIST): Add file-type.h.
42328         * modules/filemode (EXTRA_DIST): Add filemode.h.
42329         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
42330         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
42331         * modules/fpending (EXTRA_DIST): Add __fpending.h.
42332         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
42333         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
42334         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
42335         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
42336         * modules/getdate (EXTRA_DIST): Add getdate.c.
42337         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
42338         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
42339         * modules/getpass (EXTRA_DIST): Add getpass.h.
42340         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
42341         * modules/group-member (EXTRA_DIST): Add group-member.h.
42342         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
42343         * modules/hash (EXTRA_DIST): Add hash.h.
42344         * modules/human (EXTRA_DIST): Add human.h.
42345         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
42346         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
42347         * modules/lchown (EXTRA_DIST): Add lchown.h.
42348         * modules/long-options (EXTRA_DIST): Add long-options.h.
42349         * modules/lstat (EXTRA_DIST): Add lstat.h.
42350         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
42351         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
42352         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
42353         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
42354         * modules/memxor (EXTRA_DIST): Add memxor.h.
42355         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
42356         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
42357         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
42358         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
42359         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
42360         * modules/physmem (EXTRA_DIST): Add physmem.h.
42361         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
42362         * modules/posixver (EXTRA_DIST): Add posixver.h.
42363         * modules/quote (EXTRA_DIST): Add quote.h.
42364         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
42365         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
42366         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
42367         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
42368         regex_internal.h regexec.c.
42369         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
42370         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
42371         * modules/same (EXTRA_DIST): Add same.h.
42372         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
42373         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
42374         * modules/savedir (EXTRA_DIST): Add savedir.h.
42375         * modules/sha1 (EXTRA_DIST): Add sha1.h.
42376         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
42377         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
42378         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
42379         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
42380         * modules/strdup (EXTRA_DIST): Add strdup.h.
42381         * modules/strftime (EXTRA_DIST): Add strftime.h.
42382         * modules/strndup (EXTRA_DIST): Add strndup.h.
42383         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
42384         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
42385         * modules/time_r (EXTRA_DIST): Add time_r.h.
42386         * modules/timespec (EXTRA_DIST): Add timespec.h.
42387         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
42388         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
42389         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
42390         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
42391         * modules/userspec (EXTRA_DIST): Add userspec.h.
42392         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
42393         * modules/utimens (EXTRA_DIST): Add utimens.h.
42394         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
42395         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
42396         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
42397         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
42398         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
42399         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
42400         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
42401         * modules/yesno (EXTRA_DIST): Add yesno.h.
42402
42403 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
42404
42405         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
42406
42407         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
42408         * m4/dev-ino.m4, same-inode.m4: Remove.
42409
42410         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
42411         * m4/acl.m4 (AC_FUNC_ACL):
42412         * m4/backupfile.m4 (gl_BACKUPFILE):
42413         * m4/c-strtod.m4 (gl_C99_STRTOLD):
42414         * m4/canon-host.m4 (gl_CANON_HOST):
42415         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
42416         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
42417         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
42418         * m4/cloexec.m4 (gl_CLOEXEC):
42419         * m4/close-stream.m4 (gl_CLOSE_STREAM):
42420         * m4/closeout.m4 (gl_CLOSEOUT):
42421         * m4/dirfd.m4 (gl_FUNC_DIRFD):
42422         * m4/dirname.m4 (gl_DIRNAME):
42423         * m4/exclude.m4 (gl_EXCLUDE):
42424         * m4/exitfail.m4 (gl_EXITFAIL):
42425         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
42426         * m4/file-type.m4 (gl_FILE_TYPE):
42427         * m4/filemode.m4 (gl_FILEMODE):
42428         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
42429         * m4/fpending.m4 (gl_FUNC_FPENDING):
42430         * m4/fprintftime.m4 (gl_FPRINTFTIME):
42431         * m4/fts.m4 (gl_FUNC_FTS):
42432         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
42433         * m4/getdate.m4 (gl_GETDATE):
42434         * m4/gethrxtime.m4 (gl_GETHRXTIME):
42435         * m4/getpagesize.m4 (gl_GETPAGESIZE):
42436         * m4/getpass.m4 (gl_FUNC_GETPASS):
42437         * m4/gettime.m4 (gl_GETTIME):
42438         * m4/getugroups.m4 (gl_GETUGROUPS):
42439         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
42440         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
42441         * m4/hard-locale.m4 (gl_HARD_LOCALE):
42442         * m4/hash.m4 (gl_HASH):
42443         * m4/idcache.m4 (gl_IDCACHE):
42444         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
42445         * m4/lchown.m4 (gl_FUNC_LCHOWN):
42446         * m4/long-options.m4 (gl_LONG_OPTIONS):
42447         * m4/lstat.m4 (gl_FUNC_LSTAT):
42448         * m4/md5.m4 (gl_MD5):
42449         * m4/memcasecmp.m4 (gl_MEMCASECMP):
42450         * m4/memcoll.m4 (gl_MEMCOLL):
42451         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
42452         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
42453         * m4/memxor.m4 (gl_MEMXOR):
42454         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
42455         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
42456         * m4/modechange.m4 (gl_MODECHANGE):
42457         * m4/mountlist.m4 (gl_MOUNTLIST):
42458         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
42459         * m4/openat.m4 (gl_FUNC_OPENAT):
42460         * m4/pathmax.m4 (gl_PATHMAX):
42461         * m4/physmem.m4 (gl_PHYSMEM):
42462         * m4/posixtm.m4 (gl_POSIXTM):
42463         * m4/posixver.m4 (gl_POSIXVER):
42464         * m4/quote.m4 (gl_QUOTE):
42465         * m4/quotearg.m4 (gl_QUOTEARG):
42466         * m4/readtokens.m4 (gl_READTOKENS):
42467         * m4/readutmp.m4 (gl_READUTMP):
42468         * m4/regex.m4 (gl_REGEX):
42469         * m4/safe-read.m4 (gl_SAFE_READ):
42470         * m4/safe-write.m4 (gl_SAFE_WRITE):
42471         * m4/same.m4 (gl_SAME):
42472         * m4/save-cwd.m4 (gl_SAVE_CWD):
42473         * m4/savedir.m4 (gl_SAVEDIR):
42474         * m4/settime.m4 (gl_SETTIME):
42475         * m4/sha1.m4 (gl_SHA1):
42476         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
42477         * m4/stat-macros.m4 (gl_STAT_MACROS):
42478         * m4/stat-time.m4 (gl_STAT_TIME):
42479         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
42480         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
42481         * m4/strdup.m4 (gl_FUNC_STRDUP):
42482         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
42483         * m4/strndup.m4 (gl_FUNC_STRNDUP):
42484         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
42485         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
42486         * m4/time_r.m4 (gl_TIME_R):
42487         * m4/timespec.m4 (gl_TIMESPEC):
42488         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
42489         * m4/unlinkdir.m4 (gl_UNLINKDIR):
42490         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
42491         * m4/userspec.m4 (gl_USERSPEC):
42492         * m4/utimecmp.m4 (gl_UTIMECMP):
42493         * m4/utimens.m4 (gl_UTIMENS):
42494         * m4/xalloc.m4 (gl_XALLOC):
42495         * m4/xgetcwd.m4 (gl_XGETCWD):
42496         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
42497         * m4/xreadlink.m4 (gl_XREADLINK):
42498         * m4/xstrtod.m4 (gl_XSTRTOD):
42499         * m4/yesno.m4 (gl_YESNO):
42500         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
42501         to get the necessary .h files and whatnot.
42502
42503 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
42504             Bruno Haible  <bruno@clisp.org>
42505
42506         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
42507         /bin/sh understanding of '!' conditional negation.
42508
42509 2006-08-21  Jim Meyering  <jim@meyering.net>
42510
42511         * modules/openat (Depends-on): Really alphabetize.
42512
42513         * modules/acl (Depends-on): Add error and quote.
42514
42515         * check-module (find_included_lib_files): Add at-func.c to the
42516         ok-to-include-more-than-once white list.
42517
42518         * modules/openat (Depends-on): Add lstat.  Alphabetize.
42519
42520 2006-08-21  Bruno Haible  <bruno@clisp.org>
42521
42522         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42523         Emit a pkgdata_DATA variable only if some snippets add contents to it.
42524         Reported by Martin Lambers <marlam@marlam.de>.
42525
42526 2006-08-21  Bruno Haible  <bruno@clisp.org>
42527
42528         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
42529         specify an installation location, don't emit a noinst_LIBRARIES or
42530         noinst_LTLIBRARIES assignment.
42531
42532 2006-08-21  Bruno Haible  <bruno@clisp.org>
42533
42534         BeOS portability.
42535         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
42536         BeOS has mbrtowc() but no <wctype.h>.
42537
42538 2006-08-21  Bruno Haible  <bruno@clisp.org>
42539
42540         BeOS portability.
42541         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
42542         exist.
42543
42544 2006-08-21  Bruno Haible  <bruno@clisp.org>
42545
42546         BeOS portability.
42547         * lib/mbchar.h: Include <wctype.h> only if it exists.
42548
42549 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42550
42551         Remove files that are no longer needed by their respective modules.
42552         * m4/obstack.m4: Remove.
42553         * m4/strerror_r.m4: Remove.
42554         * m4/uint32_t.m4: Remove.
42555         * m4/uintptr_t.m4: Remove.
42556         * m4/ullong_max.m4: Remove.
42557         * m4/xstrtoimax.m4: Remove.
42558         * m4/xstrtoumax.m4: Remove.
42559
42560         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
42561         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
42562         dependencies now capture this.
42563
42564         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
42565         Do not use AC_LIBSOURCES, since gnulib modules now do this.
42566         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
42567         * m4/human.m4 (gl_HUMAN): Likewise.
42568         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
42569         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
42570
42571         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
42572
42573         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
42574         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
42575         stdint.
42576         * m4/human.m4 (gl_HUMAN): Likewise.
42577         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
42578         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
42579         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
42580         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
42581         * m4/xstrtol (gl_XSTRTOL): Likewise.
42582
42583         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
42584         AC_TYPE_LONG_LONG_INT.
42585         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
42586         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
42587         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
42588         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
42589
42590         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
42591         on stdbool.
42592
42593         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
42594         (gl_PREREQ_XSTRTOUL): Remove.
42595
42596         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
42597
42598         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
42599         mode.
42600
42601 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42602
42603         Add and change modules to make it easier for coreutils to use
42604         gnulib-tool.
42605         * modules/backupfile (Files): Remove m4/d-ino.m4.
42606         (Depends-on): Add d-ino.
42607         * modules/cycle-check (Depends-on): Add stdint.
42608         (lib_SOURCES): Add cycle-check.h.
42609         * modules/d-ino: New module.
42610         * modules/d-type: New module.
42611         * modules/error (Files): Remove m4/strerror_r.m4.
42612         * modules/filemode (Files): Add m4/st_dm_mode.m4.
42613         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
42614         m4/inttypes_h.m4, m4/uintmax_t.m4.
42615         (Depends-on): Add stdint.
42616         (lib_SOURCES): Add fsusage.h.
42617         * modules/getcwd (Files): Remove d-ino.m4.
42618         (Depends-on): Add d-ino.
42619         * modules/getndelim2 (Depends-on): Add stdint.
42620         * modules/glob (Files): Remove m4/d-type.m4.
42621         (Depends-on): Add d-type.
42622         * modules/host-os: New module.
42623         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
42624         m4/inttypes_h.m4, m4/uintmax_t.m4.
42625         * Depends-on: Add stdint.
42626         (lib_SOURCES): Add human.h.
42627         * modules/inttostr (Files): Remove m4/intmax_t.m4,
42628         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
42629         m4/uintmax_t.m4, m4/ulonglong.m4.
42630         (Depends-on): Add stdint.
42631         (EXTRA_DIST): Add inttostr.h.
42632         * modules/lchmod: New module.
42633         * modules/link-follow: New module.
42634         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
42635         (Depends-on): Add lchmod.
42636         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
42637         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
42638         (Depends-on): Add stdint.
42639         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
42640         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
42641         (Depends-on): Add stdint.
42642         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
42643         * modules/perl: New module.
42644         * modules/regex (Depends-on): Add stdint.
42645         * modules/rmdir-errno: New module.
42646         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
42647         m4/intmax_t.m4.
42648         (Depends-on): Add stdint.
42649         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
42650         m4/uintmax_t.m4.
42651         (Depends-on): Add stdint.
42652         * modules/unlink-busy: New module.
42653         * modules/utimecmp (Depends-on): Add stdint.
42654         * modules/uptime: New module.
42655         * modules/winsz-ioctl: New module.
42656         * modules/winsz-termios: New module.
42657         * modules/xnanosleep (Depends-on): Add nanosleep.
42658         * modules/ullong_max: Remove.
42659         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
42660         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
42661         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
42662         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
42663         (Depends-on): Add inttypes.
42664         (lib_SOURCES): Add xstrtol.h.
42665         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
42666         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
42667         * MODULES.html.sh: Move 'assert' into the assert section.
42668         Move 'dummy' into the linking section.
42669         Remove ullong_max.
42670         Add section for compatibility checks for POSIX:2001 functions,
42671         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
42672         winsz-ioctl, and winsz-termios into it.
42673         Add lchmod.
42674         Add top-level Misc section and put host-os, perl, and uptime
42675         into it.
42676
42677 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42678
42679         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
42680         now assume the stdint module.  Do not include inttypes.h.
42681         * lib/fsusage.h: Likewise.
42682         * lib/getndelim2.c: Likewise.
42683         * lib/human.h: Likewise.
42684         * lib/inttostr.h: Likewise.
42685         * lib/obstack.c: Likewise.
42686         * lib/regex_internal.h: Likewise.
42687         * lib/tempname.c: Likewise.
42688         * lib/utimecmp.c: Likewise.
42689         * lib/xstrtol.h: Likewise.
42690
42691         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
42692
42693         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
42694         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
42695         * lib/xtime.h: Likewise.
42696
42697 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42698
42699         * modules/openat (Files): Add lib/fchmodat.c.
42700         Fixes problem reported by Jay Youngman.
42701
42702 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42703
42704         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
42705         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
42706
42707 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
42708             Bruno Haible  <bruno@clisp.org>
42709
42710         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
42711         and is a script that invokes bison. Tighten the code. Add comments.
42712
42713 2006-08-18  Jim Meyering  <jim@meyering.net>
42714
42715         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
42716         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
42717         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
42718         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
42719
42720 2006-08-18  Bruno Haible  <bruno@clisp.org>
42721
42722         * modules/bison-i18n: New file.
42723         * MODULES.html.sh (Internationalization functions): Add it.
42724
42725 2006-08-18  Bruno Haible  <bruno@clisp.org>
42726
42727         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
42728         sys/statvfs.h. When getmntinfo was found, check its declaration and
42729         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
42730
42731 2006-08-18  Bruno Haible  <bruno@clisp.org>
42732
42733         * m4/bison-i18n.m4: New file, from bison.
42734
42735 2006-08-18  Bruno Haible  <bruno@clisp.org>
42736
42737         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
42738         (ME_DUMMY): Treat "kernfs" as a dummy.
42739         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
42740
42741 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42742
42743         Update from coreutils.
42744
42745         2006-08-15  Jim Meyering  <jim@meyering.net>
42746
42747         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
42748
42749         2006-01-17  Jim Meyering  <jim@meyering.net>
42750
42751         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
42752
42753         2006-01-11  Jim Meyering  <jim@meyering.net>
42754
42755         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
42756         Check for the lchmod function.
42757
42758 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42759
42760         Update from coreutils.
42761
42762         * lib/__fpending.h: Add copyright notice.
42763         * lib/fprintftime.h: Likewise.
42764         * lib/savedir.c: Use (C) in copyright notice.
42765         * lib/savedir.h: Likewise.
42766
42767         2006-08-15  Jim Meyering  <jim@meyering.net>
42768
42769         * lib/at-func.c: New file, with the logic of all emulated at-functions.
42770         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
42771         in support of the EXPECTED_ERRNO macro.
42772         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
42773         definitions.  Instead, define the appropriate symbols and include
42774         "at-func.c".
42775         * lib/mkdirat.c (mkdirat): Likewise.
42776         * lib/fchmodat.c (fchmodat): Likewise.
42777         (ENOSYS): Remove definition.
42778         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
42779         it.  Don't include "unistd--.h" -- it wasn't ever used.
42780
42781         2006-01-17  Jim Meyering  <jim@meyering.net>
42782
42783         Rewrite fts.c not to change the current working directory,
42784         by using openat, fstatat, fdopendir, etc..
42785
42786         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
42787         (HAVE_OPENAT_SUPPORT): Define.
42788         [_LIBC] (fchdir): Don't undef or define; no longer used.
42789         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
42790         Now, this `function' always succeeds, and consumes its file descriptor
42791         parameter -- so callers must not close such FDs.  Update callers.
42792         (diropen_fd, opendirat, cwd_advance_fd): New functions.
42793         (diropen): Add parameter, SP.  Adjust all callers.
42794         Implement using diropen_fd, rather than open.
42795         (fts_open): Initialize new member, fts_cwd_fd.
42796         Remove fts_rft-setting code.
42797         (fts_close): Close fts_cwd_fd, if necessary.
42798         (__opendir2): Define in terms of opendir or opendirat,
42799         depending on whether the FST_NOCHDIR flag is set.
42800         (fts_build): Since fts_safe_changedir consumes its FD, and since
42801         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
42802         and close the dup'd file descriptor upon failure.
42803         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
42804         (fts_safe_changedir): Tweak semantics to reflect that this function
42805         now calls cwd_advance_fd and hence consumes its FD argument.
42806         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
42807         [struct FTS] (fts_rft): Remove now-unused member.
42808         [struct FTS] (fts_cycle.state): Improve comment.
42809
42810         * lib/openat.c (openat_needs_fchdir): New function.
42811         * lib/openat.h (openat_needs_fchdir): Declare it.
42812
42813 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
42814
42815         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
42816         Problem and fix reported by Pádraig Brady in
42817         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
42818
42819 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
42820
42821         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
42822
42823 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
42824
42825         * lib/memcoll.c (memcoll): Optimize for the common case where the
42826         arguments are bytewise equal.
42827
42828 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
42829
42830         * doc/regexprops-generic.texi: Add a copyright notice.
42831
42832 2006-08-15  Bruno Haible  <bruno@clisp.org>
42833
42834         * modules/tmpdir (License): Change to LGPL.
42835
42836 2006-08-15  Bruno Haible  <bruno@clisp.org>
42837
42838         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
42839         module.
42840
42841 2006-08-14  Simon Josefsson  <jas@extundo.com>
42842
42843         * config/srclist.txt: Add gnupload.
42844
42845 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42846
42847         Change copyright notice from LGPL 2 to GPL 2, since that's the
42848         standard form used in the gnulib repository.
42849         * tests/test-lock.c: Likewise.
42850         * tests/test-stdint.c: Likewise.
42851         * tests/test-tls.c: Likewise.
42852
42853         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
42854         prelude-manager.  User shorter URLs for GNU projects, without '?'.
42855         Add copyright notice.
42856
42857         * check-module: Add copyright notice.  Output a copyright
42858         notice if "--version" is specified.
42859         * modules/COPYING: New file.
42860         * tests/test-getaddrinfo.c: Add copyright notice.
42861         * tests/test-verify.c: Likewise.
42862
42863 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42864
42865         Change copyright notice from LGPL 2 to GPL 2, since that's the
42866         standard form used in the gnulib repository.
42867         * lib/lock.c: LGPL -> GPL.
42868         * lib/lock.h: Likewise.
42869         * lib/strnlen1.c: Likewise.
42870         * lib/strnlen1.h: Likewise.
42871         * lib/tls.c: Likewise.
42872         * lib/tls.h: Likewise.
42873         * lib/tmpdir.c: Likewise.
42874
42875         * lib/TODO: Remove; this belongs only in coreutils.
42876
42877 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42878
42879         Add copyright notices to long-enough files that lack them, since
42880         otherwise the files aren't clearly free.  Use the same notice that
42881         getdate.texi already uses.
42882         * doc/alloca-opt.texi: Add copyright notice.
42883         * doc/alloca.texi: Likewise.
42884         * doc/ctime.texi: Likewise.
42885         * doc/functions.texi: Likewise.
42886         * doc/gcd.texi: Likewise.
42887         * doc/gnulib-tool.texi: Likewise.
42888         * doc/inet_ntoa.texi: Likewise.
42889         * doc/visibility.texi: Likewise.
42890
42891         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
42892         * doc/quote.texi: Add copyright notice.
42893
42894         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
42895         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
42896         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
42897         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
42898         is now obsolete, and give a pointer to the Sun list.
42899         Add copyright notice.
42900
42901 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
42902
42903         * config/srclistvars.sh: Add copyright notice.
42904
42905 2006-08-14  Eric Blake  <ebb9@byu.net>
42906
42907         Import the following change from libc:
42908
42909         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
42910
42911         Upstream bug 2997.
42912         * lib/misc/error.c: Add space between program name and message if file
42913         name is missing.
42914
42915 2006-08-12  Karl Berry  <karl@gnu.org>
42916
42917         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
42918         remove, these originate in gnulib now.
42919
42920 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42921
42922         * doc/Makefile (standards.info standards.html standards.dvi):
42923         Also depend on make-stds.texi.
42924
42925 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
42926
42927         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
42928         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
42929
42930         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
42931         in wchar_t.  Problem reported by Eric Blake.
42932
42933         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
42934         LEN is smaller than SIZE.  Suggested by Bruno Haible.
42935         Also, help the compiler to keep LEN in a register.
42936
42937 2006-08-11  Eric Blake  <ebb9@byu.net>
42938
42939         * users.txt: Sort.  Add tar.
42940
42941 2006-08-11  Bruno Haible  <bruno@clisp.org>
42942
42943         * users.txt: New file.
42944
42945 2006-08-11  Bruno Haible  <bruno@clisp.org>
42946
42947         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
42948         before <wchar.h>. Needed for OSF/1 and BSD/OS.
42949
42950 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
42951
42952         * modules/snprintf (Depends-on): Remove minmax.
42953         (Maintainer): Add self and Bruno.
42954
42955 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
42956
42957         * lib/.cppi-disable: Add snprintf.h, socket_.h.
42958         * lib/snprintf.c: Include <errno.h> and <limits.h>.
42959         (EOVERFLOW): Define if the system does not.
42960         Do not include "minmax.h"; it wasn't used.
42961         (snprintf): Don't assume size_t promotes to an unsigned type.
42962         Fix bug when generated string was too long for the buffer: the
42963         buffer's contents are supposed to be the initial prefix of the
42964         output.  Don't assume vasnprintf returns EOVERFLOW if the size
42965         exceeds INT_MAX; do the check ourselves.
42966
42967         Import the following changes from libc:
42968
42969         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
42970
42971         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
42972         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
42973         set wc to the byte which couldn't be converted.
42974         (re_string_reconstruct): Don't clear valid_raw_len before calling
42975         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
42976         tip_context using re_string_context_at.
42977
42978         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
42979
42980         * lib/posix/regex.h: g++ still cannot handled [restrict].
42981
42982         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
42983
42984         * lib/posix/regex.h: Remove special handling for VMS.
42985
42986 2006-08-10  Jim Meyering  <jim@meyering.net>
42987
42988         * modules/same-inode: New module.
42989         * modules/dev-ino: New module.
42990         * modules/cycle-check: Depend on these modules, rather than simply
42991         including their .h files.
42992         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
42993         required via m4/cycle-check.m4.
42994         * modules/same: Depend on new same-inode module, rather than
42995         including same-inode.h.
42996         * modules/chdir-safer: New file.
42997
42998         * modules/chown (Depends-on): Add stat-macros.
42999
43000 2006-08-10  Jim Meyering  <jim@meyering.net>
43001
43002         * m4/cycle-check.m4: New file.
43003         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
43004         * m4/dev-ino.m4, m4/same-inode.m4: New files.
43005
43006 2006-08-10  Eric Blake  <ebb9@byu.net>
43007
43008         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
43009         in from original proposal.
43010
43011 2006-08-10  Eric Blake  <ebb9@byu.net>
43012         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
43013
43014         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
43015         namespace.
43016
43017 2006-08-10  Bruno Haible  <bruno@clisp.org>
43018
43019         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
43020         as well.
43021
43022 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43023
43024         Sync from coreutils.
43025
43026         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
43027
43028         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
43029         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
43030
43031 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43032
43033         * modules/restrict: Remove; no longer needed now that we assume
43034         Autoconf 2.59 or later.
43035         * MODULES.html.sh: Remove 'restrict'.
43036         * modules/argp (Depends-on): Remove 'restrict'.
43037         * modules/base64 (Depends-on): Likewise.
43038         * modules/gc (Depends-on): Likewise.
43039         * modules/getaddrinfo (Depends-on): Likewise.
43040         * modules/glob (Depends-on): Likewise.
43041         * modules/inet_ntop (Depends-on): Likewise.
43042         * modules/inet_pton (Depends-on): Likewise.
43043         * modules/memxor (Depends-on): Likewise.
43044         * modules/regex (Depends-on): Likewise.
43045         * modules/strtok_r (Depends-on): Likewise.
43046         * modules/time_r (Depends-on): Likewise.
43047
43048 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
43049
43050         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
43051         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
43052         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
43053         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
43054         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
43055         * m4/memxor.m4 (gl_MEMXOR): Likewise.
43056         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
43057         gl_C_RESTRICT replaced by AC_C_RESTRICT.
43058
43059         Merge from coreutils.
43060         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
43061         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
43062         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
43063         * m4/time_r.m4 (gl_TIME_R): Likewise.
43064
43065 2006-08-09  Karl Berry  <karl@gnu.org>
43066
43067         * config/srclist.txt: no more gettext-tools, per Bruno.
43068
43069 2006-08-08  Eric Blake  <ebb9@byu.net>
43070
43071         * modules/verror: New module.
43072         * MODULES.html.sh: Document it.
43073
43074 2006-08-08  Eric Blake  <ebb9@byu.net>
43075
43076         * lib/verror.h, lib/verror.c: New files.
43077
43078 2006-08-08  Eric Blake  <ebb9@byu.net>
43079
43080         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
43081         verror_at_line output complies with GNU Coding Standards even when
43082         file is NULL.
43083
43084 2006-08-07  Bruno Haible  <bruno@clisp.org>
43085
43086         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
43087         versions of AIX.
43088         Reported by Ralf Wildenhues.
43089
43090 2006-08-07  Bruno Haible  <bruno@clisp.org>
43091
43092         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
43093         in an AC_DEFUN. Needed so that the autoconf snippets can use
43094         AC_REQUIRE.
43095
43096 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43097
43098         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43099         Initialize pkgdata_DATA.
43100         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
43101         overriding it.
43102
43103 2006-08-06  Eric Blake  <ebb9@byu.net>
43104
43105         * lib/error.h: Fold in some upstream changes from glibc.
43106         * lib/error.c: Likewise.
43107
43108 2006-08-04  Bruno Haible  <bruno@clisp.org>
43109
43110         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43111         Make the mostlyclean-local rule depend on mostlyclean-generic.
43112         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
43113
43114 2006-07-31  Bruno Haible  <bruno@clisp.org>
43115
43116         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
43117         <stdlib.h>, <string.h>.
43118
43119 2006-07-30  Bruno Haible  <bruno@clisp.org>
43120
43121         * modules/readlink (License): Change to LGPL.
43122
43123 2006-07-30  Bruno Haible  <bruno@clisp.org>
43124
43125         * modules/javaversion (Makefile.am): Distribute javaversion.java and
43126         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
43127         set PKGDATADIR to point to it.
43128
43129 2006-07-30  Bruno Haible  <bruno@clisp.org>
43130
43131         * modules/csharpexec (configure.ac): Comment out macro invocation.
43132         * modules/javaexec (configure.ac): Likewise.
43133         * modules/javacomp-script (configure.ac): Likewise.
43134
43135         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
43136
43137 2006-07-30  Bruno Haible  <bruno@clisp.org>
43138
43139         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
43140         linked-list.
43141
43142 2006-07-30  Bruno Haible  <bruno@clisp.org>
43143
43144         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
43145
43146 2006-07-30  Bruno Haible  <bruno@clisp.org>
43147
43148         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43149         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
43150         get removed.
43151
43152 2006-07-29  Bruno Haible  <bruno@clisp.org>
43153
43154         Make it possible for gnulib-tool to work with locally modified or
43155         augmented gnulib repositories.
43156         * gnulib-tool (func_usage): Document --local-dir option.
43157         (local_gnulib_dir): New variable.
43158         Handle --local-dir option.
43159         (func_lookup_file): New function.
43160         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
43161         (func_get_description, func_get_filelist, func_get_description,
43162         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
43163         func_get_automake_snippet, func_get_include_directive,
43164         func_get_license, func_get_maintainer): Use func_lookup_file.
43165         (func_import, func_create_testdir): Use func_lookup_file.
43166
43167 2006-07-29  Bruno Haible  <bruno@clisp.org>
43168
43169         * modules/setenv (Depends-on): Add unistd.
43170
43171 2006-07-29  Bruno Haible  <bruno@clisp.org>
43172
43173         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
43174
43175 2006-07-29  Bruno Haible  <bruno@clisp.org>
43176
43177         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
43178
43179 2006-07-29  Bruno Haible  <bruno@clisp.org>
43180
43181         * gnulib-tool (import, update): If there is no Makefile.am, look at
43182         aclocal.m4, instead of bailing out.
43183
43184 2006-07-29  Bruno Haible  <bruno@clisp.org>
43185
43186         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
43187         Categorize the options by when they are useful.
43188
43189 2006-07-29  Bruno Haible  <bruno@clisp.org>
43190
43191         * gnulib-tool (func_usage): Document option --no-libtool.
43192         Handle option --no-libtool.
43193         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
43194         for changed semantics of $libtool variable.
43195         (func_import): Likewise. If libtool is not used, show this through
43196         an option --no-libtool.
43197         (func_create_testdir): Update.
43198
43199 2006-07-29  Bruno Haible  <bruno@clisp.org>
43200
43201         * gnulib-tool (func_import): Extend error message about missing
43202         --doc-base.
43203
43204 2006-07-29  Bruno Haible  <bruno@clisp.org>
43205
43206         * gnulib-tool (func_import): Don't create the $docbase directory if
43207         there is no file to store there.
43208
43209 2006-07-29  Bruno Haible  <bruno@clisp.org>
43210
43211         * gnulib-tool (autoconf_minversion): If a --dir option is given and
43212         relevant, look for configure.ac there, not in the current directory.
43213         Also use a simple search for AC_PREREQ, not "autoconf --trace".
43214
43215 2006-07-29  Bruno Haible  <bruno@clisp.org>
43216
43217         * gnulib-tool (SORT): New variable.
43218         (func_usage): Undocument --assume-autoconf option.
43219         Remove --assume-autoconf option handling.
43220         (autoconf_minversion): Determine from the contents of configure.ac.
43221         (func_import): Remove autoconf_minversion handling.
43222         Suggested by Eric Blake.
43223
43224 2006-07-29  Bruno Haible  <bruno@clisp.org>
43225
43226         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
43227
43228 2006-07-29  Bruno Haible  <bruno@clisp.org>
43229
43230         * config/srclist.txt (*setenv.[ch]): Remove rules.
43231
43232 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43233
43234         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
43235
43236 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43237
43238         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
43239         arpa/inet.h.
43240
43241 2006-07-28  Simon Josefsson  <jas@extundo.com>
43242
43243         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
43244         * modules/inet_pton (Depends-on): Likewise.
43245
43246 2006-07-28  Simon Josefsson  <jas@extundo.com>
43247
43248         * m4/netinet_in_h.m4: New file.
43249
43250 2006-07-28  Simon Josefsson  <jas@extundo.com>
43251
43252         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
43253         #include's.
43254
43255 2006-07-28  Simon Josefsson  <jas@extundo.com>
43256
43257         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
43258         #include's.
43259
43260 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
43261
43262         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
43263         setgid on directories only if they set these bits.
43264         * lib/modechange.h: Remove obsolete comment about masks.
43265
43266 2006-07-28  Eric Blake  <ebb9@byu.net>
43267
43268         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
43269         macro expansion.
43270
43271 2006-07-28  Bruno Haible  <bruno@clisp.org>
43272
43273         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
43274
43275 2006-07-28  Bruno Haible  <bruno@clisp.org>
43276
43277         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
43278
43279 2006-07-28  Bruno Haible  <bruno@clisp.org>
43280
43281         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
43282         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
43283         Define fallbacks.
43284         Avoids link error on FreeBSD 4.x.
43285         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
43286
43287         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
43288         encoding.
43289         * lib/mbswidth.c (iswcntrl): Likewise.
43290
43291 2006-07-27  Bruno Haible  <bruno@clisp.org>
43292
43293         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
43294         test.
43295
43296 2006-07-27  Bruno Haible  <bruno@clisp.org>
43297
43298         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
43299         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
43300         defined.
43301
43302 2006-07-26  Eric Blake  <ebb9@byu.net>
43303
43304         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
43305
43306 2006-07-26  Eric Blake  <ebb9@byu.net>
43307
43308         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
43309         like mingw that lack mkstemp.
43310         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
43311         avoid compilation warning on mingw.
43312
43313 2006-07-26  Bruno Haible  <bruno@clisp.org>
43314
43315         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
43316         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
43317         INT_FAST*_MIN, INTPTR_MIN.
43318
43319 2006-07-25  Bruno Haible  <bruno@clisp.org>
43320
43321         * modules/version-etc (Depends-on): Add stdarg.
43322
43323 2006-07-25  Bruno Haible  <bruno@clisp.org>
43324
43325         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
43326         complex commands.
43327
43328 2006-07-25  Bruno Haible  <bruno@clisp.org>
43329
43330         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
43331         defined in <stdarg.h> or config.h.
43332
43333 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
43334
43335         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
43336         (gl_STDIO_SAFER): Remove.
43337
43338 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
43339
43340         * MODULES.html.sh (File stream based Input/Output):
43341         Add fopen-safer, tmpfile-safer; remove stdio-safer.
43342         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
43343         * modules/fopen-safer, modules/tmpfile-safer: New files.
43344         * modules/stdio-safer: Remove.
43345
43346 2006-07-24  Bruno Haible  <bruno@clisp.org>
43347
43348         * modules/tmpdir: New file.
43349         * MODULES.html.sh (File system functions): Add it.
43350
43351 2006-07-24  Bruno Haible  <bruno@clisp.org>
43352
43353         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
43354         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
43355
43356 2006-07-24  Bruno Haible  <bruno@clisp.org>
43357
43358         * modules/clean-temp: New file.
43359
43360 2006-07-24  Bruno Haible  <bruno@clisp.org>
43361
43362         * m4/tmpdir.m4: New file, from GNU gettext.
43363
43364 2006-07-24  Bruno Haible  <bruno@clisp.org>
43365
43366         * lib/tmpdir.h: New file, from GNU gettext.
43367         * lib/tmpdir.c: New file, from GNU gettext.
43368
43369 2006-07-24  Bruno Haible  <bruno@clisp.org>
43370
43371         * lib/clean-temp.h: New file, from GNU gettext.
43372         * lib/clean-temp.c: New file, from GNU gettext.
43373
43374 2006-07-23  Eric Blake  <ebb9@byu.net>
43375
43376         * modules/stdio-safer (Files): Add tmpfile-safer.c.
43377         (Depends-on): Add binary-io.
43378
43379 2006-07-23  Eric Blake  <ebb9@byu.net>
43380
43381         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
43382
43383 2006-07-23  Eric Blake  <ebb9@byu.net>
43384
43385         * lib/tmpfile-safer.c: New file.
43386         * lib/stdio-safer.h (fopen_safer): Add prototype.
43387         * lib/stdio--.h (tmpfile): Make safer.
43388
43389 2006-07-23  Bruno Haible  <bruno@clisp.org>
43390
43391         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
43392         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
43393         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
43394         gl_linked_remove_at): Use it.
43395
43396 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43397         and Simon Josefsson <jas@extundo.com>
43398
43399         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
43400
43401         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
43402
43403 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
43404
43405         * modules/close-stream: New file.
43406         * modules/closeout (Description): Make it clear that it exits
43407         with a diagnostic on error.
43408         (Depends-on): Add close-stream.  Remove fpending, stdbool.
43409         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
43410
43411 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
43412
43413         * m4/close-stream.m4: New file.
43414
43415 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
43416
43417         * lib/close-stream.c, lib/close-stream.h: New files.
43418
43419 2006-07-22  Bruno Haible  <bruno@clisp.org>
43420
43421         Merge from GNU gettext 0.15.
43422
43423         2006-05-01  Bruno Haible  <bruno@clisp.org>
43424
43425                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
43426
43427         2006-07-22  Bruno Haible  <bruno@clisp.org>
43428
43429                 * modules/javaversion: New file.
43430                 * MODULES.html.sh (Java): Add javaversion.
43431
43432         2006-03-12  Bruno Haible  <bruno@clisp.org>
43433
43434                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
43435
43436         2005-12-04  Bruno Haible  <bruno@clisp.org>
43437
43438                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
43439                 (untested).
43440
43441         2006-06-21  Bruno Haible  <bruno@clisp.org>
43442
43443                 Avoid warnings from recent versions of mcs.
43444                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
43445                 -o, -L, -r any more. Use options documented since mcs-1.0
43446                 instead. Similarly for -g.
43447
43448         2005-12-04  Bruno Haible  <bruno@clisp.org>
43449
43450                 * build-aux/csharpcomp.sh.in: Suffix for resources is
43451                 .resources, not .resource.
43452
43453         2005-07-09  Bruno Haible  <bruno@clisp.org>
43454
43455                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
43456                 add a .dll suffix.
43457                 Reported by Mark Junker <mjscod@gmx.de>.
43458
43459         2006-07-22  Bruno Haible  <bruno@clisp.org>
43460
43461                 * modules/gettext: Upgrade to gettext-0.15.
43462                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
43463                 m4/visibility.m4.
43464                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
43465
43466 2006-07-22  Bruno Haible  <bruno@clisp.org>
43467
43468         Merge from GNU gettext 0.15.
43469
43470         2006-03-25  Bruno Haible  <bruno@clisp.org>
43471
43472                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
43473
43474         2006-07-21  Bruno Haible  <bruno@clisp.org>
43475
43476                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
43477                 "1.1".
43478
43479         2006-05-09  Bruno Haible  <bruno@clisp.org>
43480
43481                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
43482                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
43483                 for the conftestver execution.
43484
43485         2006-05-01  Bruno Haible  <bruno@clisp.org>
43486
43487                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
43488                 optional target-version argument. Verify that the compiler
43489                 groks source of the specified source-version, or add -source
43490                 option as necessary. Verify that the compiler produces
43491                 bytecode in the specified target-version, or add -target and
43492                 -source options as necessary. Make the result of the test
43493                 available as variable CONF_JAVAC. Also log error output in
43494                 config.log.
43495
43496         2006-03-11  Bruno Haible  <bruno@clisp.org>
43497
43498                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
43499
43500         2006-05-09  Bruno Haible  <bruno@clisp.org>
43501
43502                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
43503                 CLASSPATH_SEPARATOR to a semicolon.
43504
43505         2006-03-12  Bruno Haible  <bruno@clisp.org>
43506
43507                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
43508                 available as variable CONF_JAVA, for subsequent autoconf
43509                 tests. Also log error output in config.log.
43510
43511         2006-07-19  Bruno Haible  <bruno@clisp.org>
43512
43513                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
43514                 that getline works on glibc2 systems. Needed to avoid trouble
43515                 in relocatable.c.
43516                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
43517
43518         2005-12-04  Bruno Haible  <bruno@clisp.org>
43519
43520                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
43521                 launcher (untested).
43522
43523         2005-12-04  Bruno Haible  <bruno@clisp.org>
43524
43525                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
43526
43527         2006-07-22  Bruno Haible  <bruno@clisp.org>
43528
43529                 * gettext.m4: Update from GNU gettext-0.15.
43530                 * nls.m4: Likewise.
43531                 * po.m4: Likewise.
43532                 * inttypes-pri.m4: Likewise.
43533                 * inttypes-h.m4: Renamed from inttypes.m4.
43534                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
43535
43536 2006-07-22  Bruno Haible  <bruno@clisp.org>
43537
43538         Merge from GNU gettext 0.15.
43539
43540         2005-07-05  Bruno Haible  <bruno@clisp.org>
43541
43542                 * printf-args.c (printf_fetchargs): Work around broken
43543                 definition of wint_t on mingw.
43544
43545         2005-02-12  Bruno Haible  <bruno@clisp.org>
43546
43547                 * xallocsa.h: Add extern "C" for C++.
43548
43549         2006-05-17  Bruno Haible  <bruno@clisp.org>
43550
43551                 Cygwin portability.
43552                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
43553
43554         2006-04-30  Bruno Haible  <bruno@clisp.org>
43555
43556                 * progreloc.c: Include <mach-o/dyld.h> if available.
43557                 (find_executable): Use _NSGetExecutablePath when possible.
43558
43559         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
43560
43561                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
43562                 function.
43563
43564         2005-12-29  Bruno Haible  <bruno@clisp.org>
43565
43566                 * progreloc.c (set_program_name_and_installdir): Fix
43567                 compilation error.
43568
43569         2005-12-04  Bruno Haible  <bruno@clisp.org>
43570
43571                 Cygwin portability.
43572                 * progreloc.c: Include <windows.h> also on Cygwin.
43573                 (find_executable): Add support for Cygwin.
43574                 (set_program_name_and_installdir): Handle also platforms with
43575                 nonempty EXEEXT.
43576
43577         2006-07-11  Bruno Haible  <bruno@clisp.org>
43578
43579                 * javacomp.c: Fix a comment.
43580                 Reported by Jim Meyering.
43581
43582         2006-04-30  Bruno Haible  <bruno@clisp.org>
43583
43584                 * javacomp.h (compile_java_class): Add source_version,
43585                 target_version arguments.
43586                 * javacomp.c: Rewritten to choose only a compiler that
43587                 respects the specified source_version and target_version.
43588
43589         2006-06-27  Bruno Haible  <bruno@clisp.org>
43590
43591                 Assume correct S_ISDIR macro.
43592                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
43593
43594         2006-07-22  Bruno Haible  <bruno@clisp.org>
43595
43596                 * javaversion.h: New file, from GNU gettext.
43597                 * javaversion.c: New file, from GNU gettext.
43598                 * javaversion.java: New file, from GNU gettext.
43599                 * javaversion.class: New file, from GNU gettext.
43600
43601         2006-05-17  Bruno Haible  <bruno@clisp.org>
43602
43603                 Cygwin portability.
43604                 * javaexec.c (execute_java_class): Test for jview program
43605                 also on Cygwin.
43606
43607         2006-04-09  Bruno Haible  <bruno@clisp.org>
43608
43609                 * fatal-signal.c: Don't include string.h.
43610                 (at_fatal_signal): Use a copying loop instead of memcpy.
43611
43612         2005-12-04  Bruno Haible  <bruno@clisp.org>
43613
43614                 * csharpexec.c: Add support for 'clix' launcher (untested).
43615                 (execute_csharp_using_sscli): New function.
43616                 (execute_csharp_program): Call it.
43617
43618         2006-06-21  Bruno Haible  <bruno@clisp.org>
43619
43620                 Avoid warnings from recent versions of mcs.
43621                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
43622                 -o, -L, -r any more. Use options documented since mcs-1.0
43623                 instead. Similarly for -g.
43624
43625         2005-07-09  Bruno Haible  <bruno@clisp.org>
43626
43627                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
43628                 add a .dll suffix.
43629                 Reported by Mark Junker <mjscod@gmx.de>.
43630
43631         2006-06-17  Bruno Haible  <bruno@clisp.org>
43632
43633                 * config.charset: Update for NetBSD 3.0.
43634
43635         2006-05-17  Bruno Haible  <bruno@clisp.org>
43636
43637                 Cygwin portability.
43638                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
43639
43640         2006-05-16  Bruno Haible  <bruno@clisp.org>
43641
43642                 * localcharset.c [CYGWIN]: Include <windows.h>.
43643                 (get_charset_aliases): For Cygwin, return the same CPxxx
43644                 aliases list as under WIN32.
43645                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
43646                 the environment variables. Fall back to GetACP().
43647
43648         2006-04-05  Bruno Haible  <bruno@clisp.org>
43649
43650                 * config.charset: Update Juan Manuel Guerrero's address.
43651
43652         2005-02-12  Bruno Haible  <bruno@clisp.org>
43653
43654                 * allocsa.h: Add extern "C" for C++.
43655
43656         2005-02-10  Bruno Haible  <bruno@clisp.org>
43657
43658                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
43659                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
43660
43661         2006-07-22  Bruno Haible  <bruno@clisp.org>
43662
43663                 * gettext.h: Update to GNU gettext-0.15.
43664
43665 2006-07-22  Bruno Haible  <bruno@clisp.org>
43666
43667         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
43668         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
43669         lib-prefix.m4, longdouble.m4, ssize_t.m4.
43670
43671 2006-07-21  Eric Blake  <ebb9@byu.net>
43672
43673         * modules/stdlib-safer: New file.
43674         * MODULES.html.sh (File stream based Input/Output): Add
43675         stdlib-safer.
43676
43677 2006-07-21  Eric Blake  <ebb9@byu.net>
43678
43679         * lib/stdlib-safer.h: New file from coreutils, required by
43680         stdlib--.h.
43681
43682 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
43683
43684         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
43685
43686 2006-07-20  Bruno Haible  <bruno@clisp.org>
43687
43688         * gnulib-tool: Recognize new option --assume-autoconf.
43689         (autoconf_minversion): New variable.
43690         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
43691
43692 2006-07-20  Bruno Haible  <bruno@clisp.org>
43693
43694         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
43695
43696 2006-07-19  Derek R. Price  <derek@ximbiot.com>
43697
43698         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
43699         Reindent and repaginate.
43700
43701 2006-07-19  Derek Price  <derek@ximbiot.com>
43702
43703         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
43704         Correct grammar.
43705
43706 2006-07-17  Bruno Haible  <bruno@clisp.org>
43707
43708         * modules/list: New file.
43709         * modules/array-list: New file.
43710         * modules/carray-list, modules/carray-list-tests: New files.
43711         * modules/linked-list, modules/linked-list-tests: New files.
43712         * modules/avltree-list, modules/avltree-list-tests: New files.
43713         * modules/rbtree-list, modules/rbtree-list-tests: New files.
43714         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
43715         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
43716         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
43717         * modules/oset: New file.
43718         * modules/array-oset: New file.
43719         * modules/avltree-oset, modules/avltree-oset-tests: New files.
43720         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
43721         * tests/test-carray_list.c: New file.
43722         * tests/test-linked_list.c: New file.
43723         * tests/test-avltree_list.c: New file.
43724         * tests/test-rbtree_list.c: New file.
43725         * tests/test-linkedhash_list.c: New file.
43726         * tests/test-avltreehash_list.c: New file.
43727         * tests/test-rbtreehash_list.c: New file.
43728         * tests/test-avltree_oset.c: New file.
43729         * tests/test-rbtree_oset.c: New file.
43730         * MODULES.html.sh (Container data structures): New section.
43731
43732 2006-07-17  Bruno Haible  <bruno@clisp.org>
43733
43734         * m4/gl_list.m4: New file.
43735
43736 2006-07-17  Bruno Haible  <bruno@clisp.org>
43737
43738         * lib/gl_list.h: New file.
43739         * lib/gl_list.c: New file.
43740         * lib/gl_array_list.h: New file.
43741         * lib/gl_array_list.c: New file.
43742         * lib/gl_carray_list.h: New file.
43743         * lib/gl_carray_list.c: New file.
43744         * lib/gl_linked_list.h: New file.
43745         * lib/gl_linked_list.c: New file.
43746         * lib/gl_anylinked_list1.h: New file.
43747         * lib/gl_anylinked_list2.h: New file.
43748         * lib/gl_avltree_list.h: New file.
43749         * lib/gl_avltree_list.c: New file.
43750         * lib/gl_anyavltree_list1.h: New file.
43751         * lib/gl_anyavltree_list2.h: New file.
43752         * lib/gl_rbtree_list.h: New file.
43753         * lib/gl_rbtree_list.c: New file.
43754         * lib/gl_anyrbtree_list1.h: New file.
43755         * lib/gl_anyrbtree_list2.h: New file.
43756         * lib/gl_anytree_list1.h: New file.
43757         * lib/gl_anytree_list2.h: New file.
43758         * lib/gl_linkedhash_list.h: New file.
43759         * lib/gl_linkedhash_list.c: New file.
43760         * lib/gl_anyhash_list1.h: New file.
43761         * lib/gl_anyhash_list2.h: New file.
43762         * lib/gl_avltreehash_list.h: New file.
43763         * lib/gl_avltreehash_list.c: New file.
43764         * lib/gl_rbtreehash_list.h: New file.
43765         * lib/gl_rbtreehash_list.c: New file.
43766         * lib/gl_anytreehash_list1.h: New file.
43767         * lib/gl_anytreehash_list2.h: New file.
43768
43769         * lib/gl_oset.h: New file.
43770         * lib/gl_oset.c: New file.
43771         * lib/gl_array_oset.h: New file.
43772         * lib/gl_array_oset.c: New file.
43773         * lib/gl_avltree_oset.h: New file.
43774         * lib/gl_avltree_oset.c: New file.
43775         * lib/gl_rbtree_oset.h: New file.
43776         * lib/gl_rbtree_oset.c: New file.
43777         * lib/gl_anytree_oset.h: New file.
43778
43779 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
43780
43781         * m4/mkancesdirs.m4: New file.
43782         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
43783         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
43784         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
43785         it.
43786
43787 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
43788
43789         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
43790         * lib/mkancesdirs.h: New files.
43791         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
43792         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
43793         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
43794         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
43795         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
43796         callers changed.  Revamp internals significantly, by not
43797         attempting to create directories that are temporarily more
43798         permissive than the final results.  Do not attempt to use
43799         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
43800         This removes some race conditions, fixes some bugs, and simplifies
43801         things.  Use new dirchownmod function to do owner and mode changes.
43802         * lib/mkdir-p.h: Likewise.
43803         * lib/modechange.c (octal_to_mode): New function.
43804         (struct mode_change): New member mentioned.
43805         (make_node_op_equals): New arg mentioned.  All callers changed.
43806         (mode_compile): Keep track of which mode bits the user has explicitly
43807         mentioned.
43808         (mode_adjust): New arg DIR, so that we implement the X op correctly.
43809         New arg PMODE_BITS, to keep track of which mode bits the user
43810         mentioned; it treats S_ISUID and S_ISGID speciall.
43811         All callers changed.
43812         * lib/modechange.h: Likewise.
43813
43814 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
43815
43816         * MODULES.html.sh: Add mkancestors.
43817         * modules/mkancesdirs: New module.
43818         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
43819         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
43820         The chdir-safer and afs files are now orphans; I'll remove them
43821         unless someone speaks up.
43822         Add lib/dirchownmod.c, lib/dirchownmod.h.
43823         (Depends-on): Remove alloca, chown, save-cwd, dirname.
43824         Add lchown, mkancesdirs.
43825         (Maintainer): Add self.
43826
43827 2006-07-15  Karl Berry  <karl@gnu.org>
43828
43829         * gnulib-tool: help message wording/arrangement.
43830
43831 2006-07-14  Simon Josefsson  <jas@extundo.com>
43832
43833         * doc/gnulib.texi (Libtool and Windows): New section.
43834
43835 2006-07-12  Simon Josefsson  <jas@extundo.com>
43836
43837         * modules/gendocs (License): Fix license, approved by Karl.
43838
43839 2006-07-12  Eric Blake  <ebb9@byu.net>
43840
43841         * MODULES.html.sh: Add gendocs.
43842
43843 2006-07-11  Eric Blake  <ebb9@byu.net>
43844
43845         * modules/fdl: New module, to install doc/fdl.texi.
43846         * MODULES.html.sh: Add new section for documentation modules.
43847         * gnulib-tool: Avoid space-tab.
43848         (--doc-base): New option, to manage files from doc.
43849
43850 2006-07-11  Eric Blake  <ebb9@byu.net>
43851
43852         * m4/absolute-header.m4: Fix comments to match recent change.
43853
43854 2006-07-11  Eric Blake  <ebb9@byu.net>
43855
43856         * gnulib-tool: List --doc-base before --tests-base.
43857
43858 2006-07-11  Derek R. Price  <derek@ximbiot.com>
43859
43860         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
43861
43862 2006-07-11  Bruno Haible  <bruno@clisp.org>
43863
43864         * README: Mention where to put documentation.
43865
43866 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43867
43868         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
43869
43870 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
43871
43872         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
43873         to stdint.m4.
43874
43875 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
43876
43877         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
43878         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
43879         "no/such/file/stdint.h" when there is no such file, so that
43880         the resulting C code can be parsed by dodgy compilers.
43881         Problems reported by Bob Proulx.
43882
43883 2006-07-10  Derek R. Price  <derek@ximbiot.com>
43884
43885         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
43886         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
43887         macros into the GNU _D_EXACT_NAMLEN.
43888         * lib/savedir.c:  Likewise.
43889         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
43890
43891 2006-07-10  Derek R. Price  <derek@ximbiot.com>
43892         and Paul Eggert  <eggert@cs.ucla.edu>
43893
43894         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
43895         * m4/savedir.m4:
43896         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
43897         macros into the GNU _D_EXACT_NAMLEN.
43898
43899 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43900
43901         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
43902         around the absolute name, to work around a problem with the HP-UX
43903         11.23 native C compiler, reported by Bob Proulx.
43904
43905 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43906
43907         * doc/maintain.texi, make-stds.texi: Sync from
43908         <http://savannah.gnu.org/projects/gnustandards>.
43909
43910 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
43911
43912         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
43913
43914 2006-07-09  Jim Meyering  <jim@meyering.net>
43915
43916         * m4/glob.m4: Remove a doubled word in a comment.
43917
43918 2006-07-09  Jim Meyering  <jim@meyering.net>
43919
43920         * lib/argp-pv.c: Remove a doubled word in a comment.
43921         * lib/check-version.c (check_version): Likewise.
43922         * lib/javacomp.c (compile_java_class): Likewise.
43923
43924 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
43925
43926         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
43927         for the benefit of people using Autoconf 2.60.  If you want to
43928         support older Autoconf versions you can copy m4/onceonly_2_57.m4
43929         (or m4/onceonly.m4, if pre-2.57) manually.
43930
43931 2006-07-08  Jim Meyering  <jim@meyering.net>
43932
43933         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
43934         comment.
43935         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
43936         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
43937         comment.
43938
43939 2006-07-08  Jim Meyering  <jim@meyering.net>
43940
43941         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
43942
43943 2006-07-07  Simon Josefsson  <jas@extundo.com>
43944
43945         * tests/test-crc.c: Change expected crc value, the test vector
43946         were probably computed using the old broken crc.c?
43947
43948 2006-07-06  Simon Josefsson  <jas@extundo.com>
43949
43950         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
43951         now the canonical place for the M4 file).
43952
43953         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
43954         from the sys_socket dependency now.
43955
43956         * modules/inet_pton (Files): Ditto.
43957
43958         * modules/inet_ntop (Files): Ditto.
43959
43960 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
43961
43962         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
43963         not gl_PREREQ_GETUSERSHELL.
43964
43965 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43966
43967         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
43968         with only one argument, for Autoconf 2.60.
43969         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
43970         expand to nothing, so add a shell command to avoid syntax error.
43971         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
43972
43973 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43974
43975         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
43976
43977 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43978
43979         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
43980         no longer needed.  Check for isblank decl.
43981         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
43982         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
43983         of existence.
43984
43985 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43986
43987         * lib/getloadavg.c: Use __VMS, not VMS.
43988         * lib/getopt.c: Likewise.
43989         * lib/getpagesize.h: Likewise.
43990         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
43991         and probably does not work.
43992
43993 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43994
43995         * lib/.cppi-disable: Add wcwidth.
43996         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
43997         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
43998         (ISGRAPH): Remove.  All uses changed to isgraph.
43999         (FOLD) [!defined _LIBC]: Remove special case.
44000         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
44001         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
44002         HAVE_ISBLANK.
44003         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
44004         case.
44005
44006 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
44007
44008         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
44009         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
44010         brackets.  Other minor changes to suppress some compiler
44011         warnings.
44012
44013 2006-07-06  Derek R. Price  <derek@ximbiot.com>
44014         and Paul Eggert  <eggert@cs.ucla.edu>
44015
44016         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
44017         of invoking obsolescent AC_HEADER_DIRENT macro.
44018         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
44019         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
44020         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
44021         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
44022         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
44023         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
44024         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
44025         * m4/readdir.m4: Remove; no longer needed.
44026
44027 2006-07-06  Derek R. Price  <derek@ximbiot.com>
44028         and Paul Eggert  <eggert@cs.ucla.edu>
44029
44030         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
44031         Don't worry about this obsolete case any more.
44032         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
44033         directories.
44034         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
44035         worry about this obsolete case any more.
44036         * lib/fts.c: Likewise.
44037         * lib/getcwd.c: Likewise.
44038         * lib/glob.h: Likewise.
44039         * lib/savedir.c: Likewise.
44040
44041 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
44042
44043         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
44044         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
44045         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
44046         needed.
44047         All uses removed.
44048         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
44049         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
44050         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
44051         needed.
44052         * m4/getdate.m4 (gl_GETDATE): Likewise.
44053         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
44054         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
44055         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
44056         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
44057         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
44058         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
44059         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
44060         needed.
44061
44062 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
44063
44064         * lib/memcasecmp.c: Include <limits.h>.
44065         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
44066         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
44067         Don't assume isdigit succeeds only on '0' through '9'.
44068
44069 2006-07-05  Eric Blake  <ebb9@byu.net>
44070
44071         * modules/getaddrinfo (Depends-on): Add snprintf.
44072
44073 2006-07-05  Eric Blake  <ebb9@byu.net>
44074
44075         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
44076         to avoid 'header present but could not be compiled' on cygwin.
44077
44078 2006-07-05  Eric Blake  <ebb9@byu.net>
44079
44080         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
44081         missing from netdb.h.
44082         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
44083
44084 2006-07-05  Derek R. Price  <derek@ximbiot.com>
44085
44086         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
44087         no longer needed.
44088         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
44089         * m4/getdate.m4 (gl_GETDATE): Likewise.
44090         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
44091         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
44092         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
44093         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
44094         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
44095
44096 2006-07-05  Derek R. Price  <derek@ximbiot.com>
44097
44098         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
44099         All uses of is_space replaced by isspace.
44100         * lib/exit.h: Don't talk about STDC_HEADERS.
44101         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
44102         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
44103         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
44104         replaced by isprint etc.
44105         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
44106         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
44107         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
44108         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
44109         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
44110         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
44111
44112 2006-07-05  Bruno Haible  <bruno@clisp.org>
44113
44114         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
44115         the function exists, before testing against AIX.
44116         Reported by Martin Lambers <marlam@marlam.de>.
44117
44118 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
44119
44120         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
44121         From Mark D. Baushke.
44122
44123 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
44124
44125         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
44126         to the absolute name, not just one, to bypass Sun C 5.8's
44127         "warning: #include of /usr/include/... may be non-portable".
44128
44129 2006-07-04  Eric Blake  <ebb9@byu.net>
44130
44131         * modules/dirname-tests: New test module.
44132         * tests/test-dirname.c: New file, replacing dirname.c
44133         TEST_DIRNAME section that was recently deleted.
44134
44135 2006-07-04  Bruno Haible  <bruno@clisp.org>
44136
44137         Assume ANSI C header files and <ctype.h> functions.
44138         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
44139         (mbsnwidth): Use isprint, iscntrl instead.
44140
44141 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44142
44143         Merge from coreutils.
44144         * MODULES.html.sh: Add xstrtold.
44145         * modules/xstrtold: New file.
44146         * modules/cycle-check (Files): Add lib/same-inode.h.
44147         * modules/dirname (Files): Add m4/double-slash-root.m4.
44148         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
44149         * modules/mkdir-p (Files): Add lib/same-inode.h.
44150         * modules/same (Files): Add lib/same-inode.h.
44151
44152 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44153
44154         * m4/absolute-header.m4: Renamed from full-header-path.m4.
44155         This is to keep the terminology clean; POSIX talks about
44156         "absolute pathnames", not "full pathnames", but the GNU
44157         Coding Standards say to use "path" for something else;
44158         so use "absolute" to keep both sides happy.
44159         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
44160         Set gl_absolute_header, not gl_full_header_path.
44161         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
44162         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
44163         All uses changed.
44164
44165         Merge from coreutils.
44166
44167         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
44168
44169         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
44170         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
44171         want to require the building of c-strtod.o.
44172         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
44173         needs -lm directly.
44174         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
44175
44176         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
44177
44178         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
44179         --as-needed option if available.  Problem reported by Albert Chin in
44180         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
44181         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
44182         cc merely issues a bunch of annoying warnings for --as-needed
44183         (this problem was reported by Bob Proulx).  Also, try linking with
44184         -lm to detect a bug in binutils 2.16 (this problem was reported
44185         by Ralf Wildenhues).
44186
44187         2006-06-18  Jim Meyering  <jim@meyering.net>
44188
44189         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
44190         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
44191         macro.
44192         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
44193         also check for glibc-2.4's abort-inducing bug.
44194
44195         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
44196         Low-probability clean-up should be to use rmdir to get rid of
44197         the just-created directory, not unlink.
44198
44199         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
44200         configure fail, and request a bug report to inform us about it.
44201         Add a comment that, barring reports to the contrary, in 2007 we'll
44202         assume ftruncate is universally available.
44203
44204         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
44205
44206         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
44207
44208         2006-03-12  Jim Meyering  <jim@meyering.net>
44209
44210         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
44211         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
44212         * m4/same.m4 (gl_SAME): Likewise.
44213         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
44214
44215         2006-03-11  Eric Blake  <ebb9@byu.net>
44216
44217         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
44218         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
44219         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
44220         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
44221
44222 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44223
44224         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
44225         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
44226         reported by Mark D. Baushke, one in
44227         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
44228
44229         Merge from coreutils.
44230
44231         * lib/.cppi-disable: Add stdint_.h.
44232         * lib/.cvsignore: Add stdint.h.
44233
44234         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
44235
44236         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
44237         both double and long double versions.
44238         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
44239         * lib/xstrtold.c: New file.
44240         * lib/xstrtod.h (xstrtold): New decl.
44241
44242         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
44243
44244         * lib/filemode.c (setst): Remove.
44245         (strmode): Rewrite to avoid setst.  This makes the code shorter,
44246         (arguably) clearer, and the generated code is a bit smaller on my
44247         Debian GNU/Linux stable x86 host.
44248
44249         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
44250
44251         * lib/filemode.c: Include "filemode.h" first, to test the interface.
44252         Assume that filemode.h includes sys/types.h and sys/stat.h.
44253         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
44254         (ftypelet): Reorder to put common cases first, for efficiency.
44255         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
44256         to do 'M'.
44257         (strmode): Renamed from mode_string, and now stores 12 bytes instead
44258         of 10, for compatibility with FreeBSD.  All callers changed.
44259         (filemodestring): Now stores 12 bytes instead of 10, and sets file
44260         types that can't be deduced solely from st_mode.  First arg is now a
44261         const pointer.
44262         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
44263         (strmode): Renamed from mode_string.
44264         (filemodestring): New decl.
44265         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
44266         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
44267         needed.
44268         (S_ISPORT, S_ISWHT): New macros, if not already defined.
44269
44270         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
44271
44272         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
44273         fsusage.h now does that.  Include fsusage.h first, to test interface.
44274         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
44275         at most one method (the old code could have generated decls that
44276         didn't conform to C89, not that this was ever exercised).
44277         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
44278
44279         2006-03-19  Jim Meyering  <jim@meyering.net>
44280
44281         Work even in a chroot where d_ino values for entries in "/"
44282         don't match the stat.st_ino values for the same names.
44283         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
44284         number, iterate through all entries again, using lstat instead.
44285         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
44286         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
44287
44288         * lib/getcwd.c (__getcwd): Clarify a comment.
44289         Use memcpy in place of a call to strcpy.
44290
44291         2006-03-12  Jim Meyering  <jim@meyering.net>
44292
44293         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
44294         matches that of the current directory (which we're about to chdir ".."
44295         out of), then save the dev-ino of the parent, instead.
44296
44297         * lib/same-inode.h (SAME_INODE): New file/macro.
44298         * lib/chdir-safer.c (SAME_INODE): Remove definition.
44299         Include "same-inode.h", instead.
44300         * lib/same.c: Likewise.
44301         * lib/cycle-check.h: Include "same-inode.h".
44302         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
44303         * lib/cycle-check.c (SAME_INODE): Remove definition.
44304         * lib/root-dev-ino.h: Include "same-inode.h".
44305
44306         2006-03-11  Eric Blake  <ebb9@byu.net>
44307
44308         * lib/same.c (same_name): s/base_name/last_component/
44309         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
44310         * lib/filenamecat.c (file_name_concat): Likewise.
44311
44312         2006-03-11  Eric Blake  <ebb9@byu.net>,
44313                     Paul Eggert  <eggert@cs.ucla.edu>
44314
44315         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
44316         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
44317         drive prefix.
44318         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
44319         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
44320         (last_component): New method.
44321         * lib/dirname.c (dir_len): Determine when drive letters need a
44322         subsequent slash.  Preserve // when it is special.
44323         (dir_name): Don't append dot when drive letter is absolute.
44324         [TEST_DIRNAME]: Move into a full-blown gnulib test.
44325         * lib/basename.c (base_name): New semantics - malloc the result.
44326         Preserve // when it is special.  Preserve relative files that look
44327         like drive letters.
44328         (base_len): Preserve // when it is special.
44329         (last_component): New method, similar to old base_name semantics.
44330         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
44331         base_name.  Strip redundant slashes from ///.
44332
44333 2006-07-03  Jim Meyering  <jim@meyering.net>
44334
44335         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
44336         macro is used before the first cycle_check call.
44337
44338 2006-07-03  Eric Blake  <ebb9@byu.net>
44339
44340         * modules/dirname (Depends-on): Add xstrndup.
44341
44342 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
44343
44344         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
44345         test cases, so that config.log is a bit easier to follow.
44346
44347 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
44348
44349         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
44350         both are 64 bits, since this seems to be the tradition, and this
44351         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
44352         we ever run into a host that prefers long long to long in this
44353         case, we'll need another configure-time test.  Problem reported by
44354         Jim Meyering.
44355
44356 2006-07-02  Eric Blake  <ebb9@byu.net>
44357
44358         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
44359
44360 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
44361
44362         * modules/inttypes (Depends-on): No longer depends on stdint.
44363         * modules/stdint (Description): Say more about assumptions.
44364         Say that the fast types might differ.  Say macros are used.
44365         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
44366         (Makefile.am): Revise list of substituted symbols to match
44367         new stdint.m4.
44368         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
44369         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
44370         * tests/test-stdint.c (verify_same_types)
44371         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
44372         the code conforms to C99/C89.
44373         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
44374         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
44375
44376 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
44377
44378         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
44379         but fix a bug, by requiring at least 64 bits.
44380         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
44381         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
44382         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
44383         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
44384
44385         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
44386         changes.  Make 2.59 a prerequisite.  Check and substitute for
44387         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
44388         inttypes.h.  Do not use special include files; just use the
44389         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
44390         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
44391         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
44392         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
44393         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
44394         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
44395         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
44396         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
44397         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
44398         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
44399         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
44400         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
44401         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
44402         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
44403         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
44404         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
44405         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
44406         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
44407         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
44408         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
44409         WINT_MAX.  Check for C99 conformance more strictly, by detecting
44410         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
44411         not check for things that C99 does not require, e.g., int8_t.  If
44412         a test isn't needed unless <stdint.h> isn't working, and is
44413         unlikely to be needed for any other reason, then don't do it
44414         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
44415         size_t, since we assume C89 freestanding at least.  Do not check
44416         for sig_atomic_t, wchar_t, or wint_t, since the code now does
44417         the right thing even if the types are not defined.  Instead use:
44418         (gl_STDINT_TYPE_PROPERTIES): New macro.
44419         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
44420         testing whether <sys/types.h> clashes, as Autoconf does this for
44421         us now.  All uses removed.
44422         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
44423         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
44424         (gl_CHECK_TYPE_SAME):
44425         Remove; no longer needed.
44426         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
44427         exists, since we'll return 0 anyway in that case.
44428         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
44429
44430 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
44431
44432         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
44433         possible collision with system files.
44434         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
44435         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
44436         WCHAR_MIN and WCHAR_MAX in this case.
44437         (<stddef.h>): Do not include; no longer needed.
44438         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
44439         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
44440         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
44441         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
44442         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
44443         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
44444         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
44445         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
44446         !defined(__c99))]: Include in this case too, since it's harmless
44447         now.
44448         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
44449         dangerous to do so.
44450         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
44451         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
44452         (_STDINT_MIN, _STDINT_MAX): New macros.
44453         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
44454         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
44455         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
44456         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
44457         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
44458         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
44459         macros, not typedefs; this simplifies things quite a bit.
44460         Use long int for all types narrower than int64_t.
44461         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
44462         Define in terms of long long int or int64_t or long int,
44463         not int64_t or int32_t.  This saves some compile-time testing.
44464         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
44465         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
44466         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
44467         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
44468         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
44469         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
44470         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
44471         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
44472         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
44473         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
44474         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
44475         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
44476         undef any previous version and define our own version, for
44477         simplicity and consistency with the new macros for types.
44478         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
44479         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
44480         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
44481         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
44482         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
44483         @WINT_T_SUFFIX@ to keep things simple here.
44484         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
44485         Simplify by assuming typical 8/16/32/64 host, since we're
44486         already doing that elsewhere anyway.
44487         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
44488         and assume long long int is 64 bits if available.  This
44489         speeds up 'configure'.
44490
44491 2006-07-01  Eric Blake  <ebb9@byu.net>
44492
44493         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
44494         Reported by Andreas Buening.
44495
44496 2006-07-01  Eric Blake  <ebb9@byu.net>
44497
44498         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
44499
44500 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
44501
44502         * lib/getaddrinfo.c: fixed typo
44503
44504 2006-06-29  Jim Meyering  <jim@meyering.net>
44505
44506         * modules/strftime (Maintainer): Add my name, since with the
44507         FPRINTFTIME changes strftime.c has forked from glibc.
44508
44509 2006-06-29  Eric Blake  <ebb9@byu.net>
44510
44511         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
44512
44513 2006-06-29  Eric Blake  <ebb9@byu.net>
44514
44515         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
44516
44517 2006-06-29  Eric Blake  <ebb9@byu.net>
44518
44519         * lib/stat_.h: New file.
44520
44521 2006-06-29  Eric Blake  <ebb9@byu.net>
44522
44523         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
44524         unused static function.
44525
44526 2006-06-29  Eric Blake  <ebb9@byu.net>
44527
44528         * doc/functions.texi (Function Portability): Document missing lstat
44529         on mingw.
44530
44531 2006-06-29  Eric Blake  <ebb9@byu.net>
44532
44533         * MODULES.html.sh: Add sys_stat.
44534         * modules/sys_stat: New module.
44535         * modules/mkstemp (Depends-on): Add sys_stat.
44536
44537 2006-06-29  Derek R. Price  <derek@ximbiot.com>
44538
44539         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
44540
44541 2006-06-29  Derek R. Price  <derek@ximbiot.com>
44542
44543         * m4/c-bs-a.m4: Removed.
44544
44545 2006-06-29  Derek R. Price  <derek@ximbiot.com>
44546
44547         * lib/strftime.c: Assume strftime() exists.
44548
44549 2006-06-29  Derek Price  <derek@ximbiot.com>
44550
44551         * modules/c-bs-a: Removed - \a is C89.
44552         * MODULES.html.sh: Remove c-bs-a.
44553
44554 2006-06-29  Bruno Haible  <bruno@clisp.org>
44555
44556         * modules/wcwidth (License): Change to LGPL.
44557
44558 2006-06-28  Simon Josefsson  <jas@extundo.com>
44559
44560         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
44561         on _WIN32.
44562
44563         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
44564         getnameinfo.
44565
44566 2006-06-28  Simon Josefsson  <jas@extundo.com>
44567
44568         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
44569
44570 2006-06-28  Simon Josefsson  <jas@extundo.com>
44571
44572         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
44573         functions there.  It will succeed on Windows XP, but on Windows
44574         2000 and (presumably) earlier, it will fail, and use the internal
44575         re-implementation.
44576         (use_win32_p): New function.
44577         (getaddrinfo): Use strtoul on servname, to support numeric ports.
44578         Support AI_NUMERICSERV to disable getservbyname.
44579         (getnameinfo): New function, only supports
44580         NI_NUMERICHOST|NI_NUMERICSERV for now.
44581
44582         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
44583         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
44584         getnameinfo.
44585
44586 2006-06-28  Eric Blake  <ebb9@byu.net>
44587
44588         * modules/wcwidth: New file.
44589         * modules/mbchar (Depends-on): Add wcwidth.
44590         * modules/mbswidth (Depends-on): Add wcwidth.
44591         * MODULES.html.sh: Add wcwidth.
44592
44593 2006-06-28  Eric Blake  <ebb9@byu.net>
44594
44595         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
44596         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
44597
44598 2006-06-28  Eric Blake  <ebb9@byu.net>
44599
44600         * lib/xvasprintf.h: Fix comments.
44601
44602 2006-06-28  Eric Blake  <ebb9@byu.net>
44603
44604         * lib/mbchar.h (wcwidth): Include wcwidth.h.
44605         * lib/mbswidth.c (wcwidth): Move from here...
44606         * lib/wcwidth.h: ...to this new file.
44607
44608 2006-06-28  Derek R. Price  <derek@ximbiot.com>
44609
44610         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
44611
44612         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
44613         it's obsolete.
44614         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
44615
44616 2006-06-28  Derek R. Price  <derek@ximbiot.com>
44617
44618         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
44619         Autoconf 2.60 says this stuff was obsolete.
44620
44621 2006-06-28  Bruno Haible  <bruno@clisp.org>
44622
44623         * modules/wcwidth (Files): Add m4/wchar_t.m4.
44624
44625 2006-06-28  Bruno Haible  <bruno@clisp.org>
44626
44627         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
44628         gt_TYPE_WCHAR_T.
44629
44630 2006-06-28  Bruno Haible  <bruno@clisp.org>
44631
44632         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
44633         declaration for wcwidth.
44634         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
44635
44636 2006-06-28  Bruno Haible  <bruno@clisp.org>
44637
44638         * lib/mkdtemp.c [MINGW]: Include <io.h>.
44639         (mkdir): Define using _mkdir.
44640
44641 2006-06-28  Bruno Haible  <bruno@clisp.org>
44642
44643         * lib/getaddrinfo.h: Fix POSIX URL.
44644         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
44645         _WIN32.
44646         (use_win32_p): Make static.
44647         (getaddrinfo): Reject service name if it is empty or does not consist
44648         solely of decimal digits, or if its value is > 65535.
44649         (getnameinfo): Remove useless casts.
44650
44651 2006-06-27  Simon Josefsson  <jas@extundo.com>
44652
44653         * modules/sys_select: New file, suggested by Bruno Haible, Paul
44654         Eggert and Martin Lambers.
44655
44656 2006-06-27  Simon Josefsson  <jas@extundo.com>
44657
44658         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
44659         Eggert and Martin Lambers.
44660
44661 2006-06-27  Bruno Haible  <bruno@clisp.org>
44662
44663         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
44664         result to 0, not to empty.
44665         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
44666
44667 2006-06-27  Bruno Haible  <bruno@clisp.org>
44668
44669         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
44670
44671 2006-06-26  Simon Josefsson  <jas@extundo.com>
44672
44673         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
44674         present.
44675
44676 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
44677
44678         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
44679         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
44680         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
44681
44682 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
44683
44684         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
44685
44686 2006-06-26  Bruno Haible  <bruno@clisp.org>
44687
44688         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
44689
44690 2006-06-26  Bruno Haible  <bruno@clisp.org>
44691
44692         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
44693
44694 2006-06-26  Bruno Haible  <bruno@clisp.org>
44695
44696         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
44697         SGI C compiler in pre-C99 mode.
44698         Suggested by Mark D. Baushke and Larry Jones.
44699
44700 2006-06-26  Bruno Haible  <bruno@clisp.org>
44701
44702         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
44703         WCHAR_MAX.
44704         Reported by Mark D. Baushke and Larry Jones.
44705
44706 2006-06-26  Bruno Haible  <bruno@clisp.org>
44707
44708         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
44709         in pre-C99 mode.
44710         Suggested by Mark D. Baushke and Larry Jones.
44711
44712 2006-06-23  Simon Josefsson  <jas@extundo.com>
44713             Bruno Haible  <bruno@clisp.org>
44714
44715         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
44716         Emit mostlyclean-local rule.
44717         (func_emit_tests_Makefile_am): Likewise.
44718         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
44719
44720 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
44721
44722         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
44723
44724 2006-06-23  Bruno Haible  <bruno@clisp.org>
44725
44726         * tests/test-stdint.c: Update to match ISO C 99 Technical
44727         Corrigendum 1.
44728
44729 2006-06-23  Bruno Haible  <bruno@clisp.org>
44730
44731         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
44732
44733 2006-06-23  Bruno Haible  <bruno@clisp.org>
44734
44735         * lib/stdint_.h: Treat IRIX like OpenBSD.
44736
44737 2006-06-23  Bruno Haible  <bruno@clisp.org>
44738
44739         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
44740         ISO C 99 Technical Corrigendum 1.
44741
44742 2006-06-22  Simon Josefsson  <jas@extundo.com>
44743
44744         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
44745         MinGW.
44746
44747 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
44748
44749         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
44750         needed.  Some compiler complained about some of them.  Problem reported
44751         by Larry Jones in
44752         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
44753
44754 2006-06-21  Simon Josefsson  <jas@extundo.com>
44755
44756         * tests/test-getaddrinfo.c: New file.
44757
44758         * modules/getaddrinfo-tests: New file.
44759
44760         * MODULES.html.sh: Add inet_pton.
44761
44762         * modules/inet_pton: New file.
44763
44764 2006-06-21  Simon Josefsson  <jas@extundo.com>
44765
44766         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
44767         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
44768         of using the (limited) gnulib implementation on Windows XP.
44769
44770         * m4/inet_pton.m4: New file.
44771
44772 2006-06-21  Simon Josefsson  <jas@extundo.com>
44773
44774         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
44775         variable.
44776
44777         * lib/socket_.h: Don't define WINVER.
44778
44779         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
44780         slightly modified to work in gnulib.
44781
44782 2006-06-21  Simon Josefsson  <jas@extundo.com>
44783
44784         * doc/gnulib.texi (Windows sockets): Add.
44785
44786 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
44787
44788         * lib/read-file.c (fread_file): Start with buffer allocation of
44789         0 bytes rather than 1 byte; this simplifies the code.
44790         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
44791         code to free buffer and save/restore errno.
44792         (internal_read_file): Remove unused local.
44793
44794 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
44795
44796         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
44797         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
44798         Problem reported by Denis Excoffier in
44799         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
44800
44801 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44802
44803         * modules/sys_socket, modules/socklen: Include sys/types since
44804         FreeBSD 4.x's sys/socket.h needs it.
44805
44806 2006-06-19  Simon Josefsson  <jas@extundo.com>
44807
44808         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
44809
44810 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
44811
44812         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
44813
44814 2006-06-19  Bruno Haible  <bruno@clisp.org>
44815
44816         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
44817         and FULL_PATH_INTTYPES_H in angle brackets.
44818         Reported by Mark D. Baushke <mdb@gnu.org>.
44819
44820 2006-06-17  Eric Blake  <ebb9@byu.net>
44821
44822         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
44823         errno.
44824
44825 2006-06-17  Bruno Haible  <bruno@clisp.org>
44826
44827         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
44828         <sys/inttypes.h>.
44829
44830 2006-06-17  Bruno Haible  <bruno@clisp.org>
44831
44832         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
44833         whether errno is declared. Assume <errno.h> declares errno.
44834
44835 2006-06-17  Bruno Haible  <bruno@clisp.org>
44836
44837         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
44838
44839 2006-06-17  Bruno Haible  <bruno@clisp.org>
44840
44841         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
44842         problem on Solaris 2.5.1.
44843
44844 2006-06-16  Eric Blake  <ebb9@byu.net>
44845
44846         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
44847         * lib/unicodeio.c [!defined errno]: Likewise.
44848         * lib/strtol.c [!defined errno]: Likewise.
44849         * lib/strtod.c [!defined errno]: Likewise.
44850
44851 2006-06-15  Eric Blake  <ebb9@byu.net>
44852
44853         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
44854
44855 2006-06-15  Eric Blake  <ebb9@byu.net>
44856
44857         * config/srclist.txt (ssize_t.m4): Lose sync.
44858
44859 2006-06-15  Bruno Haible  <bruno@clisp.org>
44860
44861         * modules/stdint (Files): Include m4/full-header-path.m4,
44862         m4/size_max.m4, m4/wchar_t.m4.
44863         (Makefile.am): Many more substitutions.
44864         * modules/stdint-tests: New file.
44865         * tests/test-stdint.c: New file.
44866
44867 2006-06-15  Bruno Haible  <bruno@clisp.org>
44868
44869         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
44870         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
44871         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
44872         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
44873         gl_CHECK_TYPE_SAME): New macros.
44874
44875 2006-06-15  Bruno Haible  <bruno@clisp.org>
44876
44877         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
44878
44879 2006-06-15  Bruno Haible  <bruno@clisp.org>
44880
44881         * lib/stdint_.h: Rewritten to be fully auto-configured.
44882         Fixes bug on HP-UX/IA64.
44883
44884 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
44885
44886         * lib/getdate.y (__attribute__): Don't define if already defined.
44887         Problem reported by Larry Jones.
44888         * lib/utimens.c (__attribute__): Likewise.
44889
44890 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
44891
44892         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
44893         reported by Andreas Schwab.
44894
44895 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44896             Bruno Haible  <bruno@clisp.org>
44897
44898         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
44899         check for the declaration of strnlen and a run test that exposes the
44900         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
44901         rpl_strndup.
44902
44903 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44904             Bruno Haible  <bruno@clisp.org>
44905
44906         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
44907
44908 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44909
44910         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
44911         compile test, for Tru64 4.0D.
44912
44913 2006-05-28  Karl Berry  <karl@gnu.org>
44914
44915         * config/srclist.txt (printf-args.c): lose sync.
44916
44917 2006-05-26  Martin Lambers  <marlam@marlam.de>
44918
44919         * lib/getpass.c: Updates the test for the native W32 API, and adds
44920         missing includes, thus fixing compilation warnings.
44921
44922 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44923
44924         * lib/exclude.c (exclude_fnmatch): New function.
44925         (excluded_file_name): Call exclude_fnmatch.
44926         * lib/exclude.h (excluded_file_name): New prototype
44927
44928 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
44929
44930         * lib/tempname.c (small_open, large_open): New macros.
44931         (__open, __open64) [!_LIBC]: Remove.
44932         (__gen_tempname): Use small_open and large_open instead of __open
44933         and __open64.  This fixes a portability bug on HP-UX 11.11i
44934         reported by Simon Wing-Tang in
44935         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
44936
44937 2006-05-24  Bruno Haible  <bruno@clisp.org>
44938
44939         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
44940         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
44941         Reported by Thorsten Maerz <torte@netztorte.de> via
44942         Aaron Stone <aaron@serendipity.cx>.
44943
44944 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
44945
44946         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
44947         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
44948         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
44949         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
44950         not really conditional on the cache.
44951         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
44952
44953 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
44954
44955         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
44956         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
44957         (my_usleep): Don't mishandle maximum value.
44958
44959 2006-05-19  Jim Meyering  <jim@meyering.net>
44960
44961         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
44962
44963 2006-05-17  Bruno Haible  <bruno@clisp.org>
44964
44965         Cygwin portability.
44966         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
44967
44968 2006-05-17  Bruno Haible  <bruno@clisp.org>
44969
44970         * lib/stdint_.h: Fix recognition of Cygwin.
44971
44972 2006-05-15  Bruno Haible  <bruno@clisp.org>
44973
44974         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
44975         on libtool patch by Ralf Wildenhues.
44976
44977 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44978
44979         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
44980         test for C99 conformance; (bool) 0.5 is an integer constant
44981         expression, but (bool) -0.5 is not.  Problem reported by Fedor
44982         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
44983
44984 2006-05-11  Simon Josefsson  <jas@extundo.com>
44985
44986         * m4/xvasprintf.m4: Fix obvious typo.
44987
44988 2006-05-11  Jim Meyering  <jim@meyering.net>
44989
44990         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
44991         James Lemley.
44992
44993 2006-05-10  Simon Josefsson  <jas@extundo.com>
44994
44995         * lib/md4.c: Typo fix, update copyright years.
44996         (K1, K2): Don't use L because it turn computations into 64-bit on
44997         64-bit platforms.
44998
44999 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
45000
45001         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
45002         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
45003         unwanted sign propagation, e.g., on hosts with 64-bit int.
45004         There still are some problems with reeelly weird theoretical hosts
45005         (e.g., 33-bit int) but it's not worth worrying about now.
45006         * lib/sha1.c (rol): Likewise.
45007         (K1, K2, K3, K4): Remove unnecessary L suffix.
45008
45009 2006-05-10  Bruno Haible  <bruno@clisp.org>
45010
45011         * lib/des.c: Cast to avoid warnings.
45012
45013 2006-05-09  Bruno Haible  <bruno@clisp.org>
45014
45015         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
45016         (Depends-on): Depend also on xsize, stdarg.
45017         (configure.ac): Add gl_XVASPRINTF.
45018
45019 2006-05-09  Bruno Haible  <bruno@clisp.org>
45020
45021         * m4/xvasprintf.m4: New file.
45022
45023 2006-05-09  Bruno Haible  <bruno@clisp.org>
45024
45025         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
45026         (EOVERFLOW): Define fallback value.
45027         (xstrcat): New function.
45028         (xvasprintf): Recognize the special case of a string concatenation.
45029
45030 2006-05-08  Eric Blake  <ebb9@byu.net>
45031
45032         * gnulib-tool (func_version): Base copyright year on CVS date.
45033         (func_emit_copyright_notice): New function.
45034         (func_emit_lib_Makefile_am): Use it.
45035         (func_emit_tests_Makefile_am): Likewise.
45036         (func_import): Likewise.
45037
45038 2006-05-08  Bruno Haible  <bruno@clisp.org>
45039
45040         * modules/stdarg: New file.
45041         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
45042
45043 2006-05-08  Bruno Haible  <bruno@clisp.org>
45044
45045         * m4/stdarg.m4: New file, from GNU gettext.
45046
45047 2006-05-08  Bruno Haible  <bruno@clisp.org>
45048
45049         * config/srclist.txt (build-aux/config.rpath): different from latest
45050         release.
45051
45052 2006-05-08  Bruno Haible  <bruno@clisp.org>
45053
45054         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
45055
45056 2006-05-05  Jim Meyering  <jim@meyering.net>
45057
45058         * m4/warning.m4: New file, derived from bison's file by the same name.
45059
45060 2006-05-03  Bruno Haible  <bruno@clisp.org>
45061
45062         * lib/stdint_.h: Shorter URL.
45063         * lib/inttypes.h: Likewise.
45064
45065 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
45066
45067         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
45068
45069 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
45070
45071         * lib/verify.h: Document the internals better.  Most of this change
45072         was written by Bruno Haible.
45073
45074 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
45075
45076         * doc/verify.texi: New file, partly based on a proposal by
45077         Bruno Haible.
45078
45079 2006-05-02  Bruno Haible  <bruno@clisp.org>
45080
45081         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
45082         test from here...
45083         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
45084
45085 2006-04-29  Bruno Haible  <bruno@clisp.org>
45086
45087         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
45088         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
45089
45090 2006-04-29  Bruno Haible  <bruno@clisp.org>
45091
45092         * gnulib-tool: Make --update option actually work.
45093
45094 2006-04-29  Bruno Haible  <bruno@clisp.org>
45095
45096         * doc/gcd.texi: New file.
45097         * doc/gnulib.texi: Include it.
45098
45099 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
45100
45101         * lib/getdate.y (get_date): When adding relative date, start with the
45102         initial time, not with the result of the first mktime call.
45103
45104 2006-04-25  Bruno Haible  <bruno@clisp.org>
45105
45106         * gnulib-tool (func_import): Output the include directives in three
45107         blocks, sorted separately.
45108         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45109
45110 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
45111
45112         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
45113         to define main with arguments, for C++.  Reported by Eric Blake.
45114         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
45115         Prefer 'int main ()' to 'int main (void)', for C++.
45116         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
45117         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
45118         for 'main', for C99 and C++.
45119
45120 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
45121
45122         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
45123         Don't assume that exit status -1 is valid.
45124         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
45125         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
45126         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
45127         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
45128         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
45129         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
45130         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
45131         functions can be used without declaring them, or that you can
45132         exit with status -1.
45133         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
45134
45135 2006-04-24  Karl Berry  <karl@gnu.org>
45136
45137         * config/srclist.txt (longdouble.m4): sync lost.
45138
45139 2006-04-24  Eric Blake  <ebb9@byu.net>
45140
45141         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
45142
45143 2006-04-24  Bruno Haible  <bruno@clisp.org>
45144
45145         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
45146         poll() implementation in AIX.
45147         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45148
45149 2006-04-24  Bruno Haible  <bruno@clisp.org>
45150
45151         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
45152         assigned exactly once.
45153
45154 2006-04-23  Claudio Fontana  <claudio@gnu.org>
45155             Bruno Haible  <bruno@clisp.org>
45156
45157         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
45158         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
45159         for AM_CPPFLAGS.
45160
45161 2006-04-23  Bruno Haible  <bruno@clisp.org>
45162
45163         * modules/copy-file: Depend on unistd.
45164         * modules/execute: Likewise.
45165         * modules/fatal-signal: Likewise.
45166         * modules/findprog: Likewise.
45167         * modules/mkdtemp : Likewise.
45168         * modules/pipe: Likewise.
45169         * modules/wait-process: Likewise.
45170
45171 2006-04-23  Bruno Haible  <bruno@clisp.org>
45172
45173         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
45174         condition was already detected.
45175         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45176
45177 2006-04-23  Bruno Haible  <bruno@clisp.org>
45178
45179         * lib/copy-file.c: Include <unistd.h> unconditionally.
45180         * lib/execute.c: Likewise.
45181         * lib/fatal-signal.c: Likewise.
45182         * lib/findprog.c: Likewise.
45183         * lib/mkdtemp.c: Likewise.
45184         * lib/pipe.h: Likewise.
45185         * lib/pipe.c: Likewise.
45186         * lib/wait-process.h: Likewise.
45187
45188 2006-04-23  Bruno Haible  <bruno@clisp.org>
45189
45190         * gnulib-tool (func_usage): Fix --import description. Document
45191         --update.
45192         (func_import): Create temporary file in a temporary directory, if
45193         --dry-run is specified. Silence errors from 'grep' when there are no
45194         m4 files in $m4dir.
45195         (func_create_testdir): Silence errors from 'grep' when there are no
45196         m4 files in $m4dir.
45197         Reported by Karl Berry <karl@freefriends.org>.
45198
45199 2006-04-20  Bruno Haible  <bruno@clisp.org>
45200
45201         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
45202         one argument, so that the code will be portable to Autoconf 2.60.
45203         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
45204         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
45205         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
45206
45207 2006-04-19  Derek Price  <derek@ximbiot.com>
45208             Eric Blake  <ebb9@byu.net>
45209
45210         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
45211         rather than "/full/path.h".  Update comment to match.  Shorten &
45212         generalize m4_translit call via AS_TR_CPP.
45213
45214 2006-04-19  Derek Price  <derek@ximbiot.com>
45215             Eric Blake  <ebb9@byu.net>
45216
45217         * lib/inttypes.h: Correct grammar in comment.
45218
45219 2006-04-18  Derek Price  <derek@ximbiot.com>
45220             Paul Eggert  <eggert@cs.ucla.edu>
45221
45222         * modules/inttypes: New file.
45223         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
45224
45225 2006-04-18  Derek Price  <derek@ximbiot.com>
45226             Paul Eggert  <eggert@cs.ucla.edu>
45227
45228         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
45229         New files.
45230
45231 2006-04-18  Derek Price  <derek@ximbiot.com>
45232             Paul Eggert  <eggert@cs.ucla.edu>
45233
45234         * lib/inttypes.h: New file.
45235         * lib/strtoimax.c: Assume <inttypes.h>.
45236
45237 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
45238
45239         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
45240         isn't mounted.  Problem reported by Kir Kolyshkin.
45241
45242 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
45243
45244         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
45245         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
45246         Derek R. Price.
45247         * lib/regex.h (RE_DUP_MAX): Update comment to match current
45248         implementation.
45249
45250 2006-04-12  Eric Blake  <ebb9@byu.net>
45251
45252         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
45253         is now done automatically by the corresponding Autoconf macro.
45254
45255 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
45256
45257         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
45258         time_r.h.
45259
45260 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
45261
45262         Merge regex changes from libc, removing some of our
45263         POSIX-conformance changes that were rejected and redoing them in a
45264         less-intrusive way.
45265
45266         * lib/regcomp.c (re_compile_internal, init_dfa):
45267         Length arg is now size_t, not Idx.  All uses changed.
45268         (peek_token): Forward decl now says internal_function.
45269         (__re_error_msgid, __re_error_msgid_idx):
45270         Now static rather than extern with attribute_hidden.
45271         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
45272         For some reason libc prefers K&R style defns for external functions.
45273         (regerror) [!defined _LIBC]: Likewise.
45274         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
45275         (seek_collating_symbol_entry, lookup_collation_sequence_value):
45276         (build_range_exp, build_collating_symbol):
45277         Use K&R-style defn.
45278         (re_compile_fastmap): Use '\0' to memset, not 0.
45279         (utf8_sb_map): Make the calculations more obvious.
45280         (init_dfa, parse_bracket_exp, build_charclass_op):
45281         Call calloc and cast result, as glibc does.
45282         (init_word_char, fetch_token, peek_token, peek_token_bracket):
45283         (build_range_exp, build_collating_symbol):
45284         Now internal functions.
45285
45286         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
45287
45288         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
45289         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
45290         Don't depend on VMS; depend on __VMS instead, for POSIX
45291         namespace cleanness.
45292         (regoff_t): Define to ssize_t, not long int.
45293
45294         Remove the REG_ macros named below.  Instead, make the old names
45295         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
45296         __USE_GNU_REGEX.
45297         (REG_BACKSLASH_ESCAPE_IN_LISTS):
45298         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
45299         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
45300         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
45301         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
45302         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
45303         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
45304         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
45305         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
45306         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
45307         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
45308         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
45309         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
45310         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
45311         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
45312         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
45313         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
45314         (REG_NREGS):
45315         Remove.  All uses replaced by the old RE_* names.
45316         (RE_BACKSLASH_ESCAPE_IN_LISTS):
45317         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
45318         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
45319         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
45320         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
45321         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
45322         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
45323         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
45324         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
45325         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
45326         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
45327         Don't bother having these macros be independent of each others'
45328         values, since they no longer exist in the POSIX name space.
45329
45330         Rename the following member names back to their old names,
45331         unless !__USE_GNU_REGEX.  All uses changed back.
45332         (buffer): Renamed from re_buffer.
45333         (allocated): Renamed from re_allocated.
45334         (used): Renamed from re_used.
45335         (syntax): Renamed from re_syntax.
45336         (fastmap): Renamed from re_fastmap.
45337         (translate): Renamed from re_translate.
45338         (can_be_null): Renamed from re_can_be_null.
45339         (regs_allocated): Renamed from re_regs_allocated.
45340         (fastmap_accurate): Renamed from re_fastmap_accurate.
45341         (no_sub): Renamed from re_no_sub.
45342         (not_bol): Renamed from re_not_bol.
45343         (not_eol): Renamed from re_not_eol.
45344         (newline_anchor): Renamed from re_newline_anchor.
45345         (num_regs): Renamed from rm_num_regs.
45346         (start): Renamed from rm_start.
45347         (end): Renamed from rm_end.
45348
45349         (free_state): Move up a bit.
45350
45351         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
45352         #define to be empty.
45353         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
45354         when that is what is intended.
45355         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
45356         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
45357         (MAX): New macro.
45358         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
45359         All uses changed back to re_malloc, etc.  It's now the caller's
45360         responsibility to check for overflow; all callers changed.
45361         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
45362         (re_x2nrealloc): Remove.
45363         (free_state): Remove decl.
45364
45365         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
45366         (re_set_registers, re_exec):
45367         Use K&R-style defn.
45368
45369         2006-01-31  Roland McGrath  <roland@redhat.com>
45370
45371         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
45372         Reported by Mike Frysinger <vapier@gentoo.org>.
45373
45374         2006-01-15  Andreas Jaeger  <aj@suse.de>
45375
45376         [BZ #1950]
45377         * lib/regex_internal.c (re_string_reconstruct): Adjust for
45378         build_wcs_upper_buffer change.
45379         (build_wcs_upper_buffer): Change return type.
45380
45381         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
45382
45383         * lib/regex_internal.h: Include <stdint.h> if available.
45384
45385         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
45386
45387         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
45388
45389         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
45390
45391         * lib/regcomp.c: Adjust for changed secondary hash function.
45392
45393         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
45394
45395         * lib/regex.h: Pretty printing.
45396         Clean up namespace a bit.
45397
45398         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
45399
45400         * lib/regexec.c (update_cur_sifted_state, check_arrival,
45401         check_arrival_add_next_nodes): Avoid using uninitialized variable.
45402
45403         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
45404                     Ulrich Drepper  <drepper@redhat.com>
45405
45406         [BZ #1302]
45407         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
45408         changed.
45409         (bitset_word_t): Renamed from bitset_word.  All uses changed.
45410
45411         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
45412
45413         [BZ #281]
45414         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
45415         * lib/regcomp.c: Remove unnecessary uses of
45416         unsigned RE_TRANSLATE_TYPE.
45417         * lib/regex_internal.h: Likewise.
45418         * lib/regex_internal.c: Likewise.
45419         * lib/regexec.c: Likewise.
45420         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
45421
45422         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
45423
45424         * lib/regexec.c (find_recover_state): Remove unnecessary
45425         initialization.
45426         (transit_state_bkref): Make DFA a const pointer.
45427         (get_subexp): Likewise.
45428         (check_arrival): Likewise.
45429         (update_cur_sifted_state): Likewise.
45430         (re_search_internal): Likewise.
45431         (prune_impossible_nodes): Likewise.
45432         (acquire_init_state_context): Likewise.
45433         (proceed_next_node): Likewise.
45434         (set_regs): Likewise.
45435         (free_fail_stack_return): Likewise.
45436         (check_arrival_expand_ecl): Mark DFA parameter as const.
45437         (check_arrival_expand_ecl_sub): Likewise.
45438         (check_subexp_limits): Likewise.
45439         (sub_epsilon_src_nodes):  Likewise.
45440         (add_epsilon_src_nodes):  Likewise.
45441         (merge_state_array): Likewise.
45442         (update_regs): Likewise.
45443         (build_trtable): Likewise.
45444         (sift_states_backward): Mark MCTX parameter as const.
45445         (build_sifted_states): Likewise.
45446         (update_cur_sifted_state): Likewise.
45447         (sift_states_mkref): Likewise.
45448         (check_arrival_expand_ecl): Mark eclosure as const.
45449         (check_dst_limits_calc_pos_1): Likewise.
45450         * lib/regex_internal.h (re_match_context_t): Make dfa a const
45451         pointer.
45452
45453         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
45454
45455         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
45456         (transit_state_sb): Likewise.
45457         (transit_state_mb): Likewise.
45458         (sift_states_iter_mb): Likewise.
45459         (check_arrival_add_next_nodes): Likewise.
45460         (check_node_accept_bytes): Change first parameter to pointer-to-const.
45461         [_LIBC] (re_search_2_stub): Use mempcpy.
45462
45463         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
45464         mbrtowc for very simple UTF-8 case.
45465
45466         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
45467         a pointer-to-const.
45468         (re_acquire_state_context): Likewise.
45469         * lib/regex_internal.h: Adjust prototypes.
45470
45471         * lib/regex.c: Prevent using C++ compilers.
45472
45473         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
45474         (re_acquire_state_context): Likewise.
45475
45476 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
45477
45478         * modules/regex (Depends-on): Add ssize_t.
45479
45480 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
45481
45482         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
45483         translation table.
45484
45485 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
45486
45487         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
45488
45489 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
45490             Bruno Haible  <bruno@clisp.org>
45491
45492         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
45493         <sys/types.h> and <inttypes.h>.
45494
45495 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45496
45497         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
45498         `__error_t_defined', so argp.h will not typedef the former.
45499
45500 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
45501
45502         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
45503         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
45504         glibc names.  Even if glibc is changed to conform to POSIX, the
45505         traditional names will be available anyway, since regex depends on
45506         the extensions module.  Also, fix a longstanding typo in the
45507         implementation of Spencer ERE test #75 from grep 2.3.  Problems
45508         reported by Emanuele Giaquinta.  Also, change sense of cached
45509         variable, so that the message makes sense.
45510
45511 2006-03-24  Simon Josefsson  <jas@extundo.com>
45512
45513         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
45514         including some doc fixes.
45515         (base64_encode_alloc): Fix +1 bug on allocation failures.
45516
45517 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45518
45519         * lib/base64.c (base64_encode): Do not read past end of array with
45520         unsanitized input on systems with CHAR_BIT > 8.
45521
45522 2006-03-24  Eric Blake  <ebb9@byu.net>
45523
45524         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
45525
45526 2006-03-22  Karl Berry  <karl@gnu.org>
45527
45528         * config/srclist.txt (*setenv.[ch]): get from coreutils.
45529         * config/srclistvars.sh (COREUTILS): new var.
45530
45531 2006-03-17  Jim Meyering  <jim@meyering.net>
45532
45533         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
45534         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
45535
45536 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
45537
45538         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
45539         no longer needs it.  Instead, check that regoff_t is as least
45540         as wide as ptrdiff_t.
45541
45542         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
45543         so that our regex.h stays compatible with the installed regex.
45544         This is helpful for installers who configure --without-included-regex.
45545         Problem reported by Emanuele Giaquinta.
45546
45547 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
45548
45549         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
45550         Typedef to long int, not to off_, as POSIX will likely change
45551         in that direction.
45552
45553 2006-03-15  Eric Blake  <ebb9@byu.net>
45554
45555         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
45556
45557 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
45558
45559         * lib/argp-help.c (validate_uparams): Fix typo
45560         * lib/argp-parse.c (argp_default_options): Consistently begin help
45561         messages with a lowercase letter.
45562
45563 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
45564
45565         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
45566         overrun buffers and shouldn't be used (much as gets shouldn't be
45567         used).
45568         * lib/time_r.c (asctime_r, ctime_r): Likewise.
45569
45570 2006-03-08  Simon Josefsson  <jas@extundo.com>
45571
45572         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
45573         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45574
45575 2006-03-08  Simon Josefsson  <jas@extundo.com>
45576
45577         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
45578         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45579
45580 2006-03-08  Simon Josefsson  <jas@extundo.com>
45581
45582         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
45583         signal that configure disabled the device.
45584
45585 2006-03-08  Simon Josefsson  <jas@extundo.com>
45586
45587         * build-aux/maint.mk: Fix refresh-po, to handle no translated
45588         languages.
45589
45590 2006-03-07  Simon Josefsson  <jas@extundo.com>
45591
45592         * modules/getopt (Depends-on): Add unistd.
45593
45594         * modules/unistd: New file.
45595
45596 2006-03-07  Simon Josefsson  <jas@extundo.com>
45597
45598         * modules/gc-random: New file.
45599
45600 2006-03-07  Simon Josefsson  <jas@extundo.com>
45601
45602         * m4/unistd_h.m4: New file.
45603
45604 2006-03-07  Simon Josefsson  <jas@extundo.com>
45605
45606         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
45607         test to be side-effect free by storing the result in the cache
45608         variable gl_cv_lib_readline, and moving the assignment of
45609         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
45610         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45611
45612 2006-03-07  Simon Josefsson  <jas@extundo.com>
45613
45614         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
45615         error on missing devices (the functions will return an error).
45616
45617         * m4/gc.m4: Move random stuff to gc-random.m4
45618
45619 2006-03-07  Simon Josefsson  <jas@extundo.com>
45620
45621         * lib/unistd_.h: New file.
45622
45623 2006-03-07  Simon Josefsson  <jas@extundo.com>
45624
45625         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
45626
45627 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45628
45629         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
45630         Problem reported by Juan Manuel Guerrero.
45631
45632 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45633
45634         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
45635         the unistd module.
45636         * lib/getlogin_r.c: Likewise.
45637         * lib/getlogin_r.h: Likewise.
45638         * lib/glob.c: Likewise.
45639         * lib/pagealign_alloc.c: Likewise.
45640         * lib/unistd_.h: Remove; no longer needed.
45641
45642 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
45643
45644         * MODULES.html.sh (Support for systems lacking POSIX:2001):
45645         Add unistd.
45646         * modules/c-stack (Depends-on): Add unistd.
45647         * modules/getlogin_r: Likewise.
45648         * modules/glob: Likewise.
45649         * modules/pagealign_alloc: Likewise.
45650         * modules/unistd (Files): Remove lib/unistd_.h.
45651         (EXTRA_DIST): Remove.
45652         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
45653         need unistd_.h.
45654         (MOSTLYCLEANFILES): Remove unistd.h-t.
45655
45656 2006-03-03  Simon Josefsson  <jas@extundo.com>
45657
45658         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
45659
45660 2006-03-03  Simon Josefsson  <jas@extundo.com>
45661
45662         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
45663         libidn and bison.
45664
45665 2006-03-03  Simon Josefsson  <jas@extundo.com>
45666
45667         * build-aux/maint.mk: Add indent target.
45668
45669 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
45670
45671         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
45672         our replacement poll.h in any case, to avoid a differing
45673         declaration from a system header.  Seen on AIX.
45674
45675 2006-03-01  Simon Josefsson  <jas@extundo.com>
45676
45677         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
45678         <kasal@ucw.cz>.
45679
45680 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45681
45682         * modules/gettime (Depends-on): Add extensions module.
45683         * modules/nanosleep (Depends-on): Likewise.
45684         * modules/settime (Depends-on): Likewise.
45685
45686 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45687
45688         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
45689         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
45690         pedantically.
45691         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
45692         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
45693
45694         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
45695         not "==".  Reported by Ralf Wildenhues.
45696
45697 2006-03-01  Karl Berry  <karl@gnu.org>
45698
45699         * doc/Copyright/request-*: new files, synced from gnuorg.
45700
45701 2006-03-01  Karl Berry  <karl@gnu.org>
45702
45703         * config/srclist.txt (Copyright/*): new entries.
45704
45705 2006-02-28  Simon Josefsson  <jas@extundo.com>
45706
45707         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
45708
45709 2006-02-27  Simon Josefsson  <jas@extundo.com>
45710
45711         * lib/base64.h: Indent #define's.  From Jim Meyering
45712         <jim@meyering.net>.
45713
45714 2006-02-27  Jim Meyering  <jim@meyering.net>
45715
45716         Revert the change of 2006-02-24, so these files can continue
45717         to be sync'd from gettext.
45718         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
45719         of `config.h'.
45720
45721 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
45722
45723         * modules/intprops: New file.
45724         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
45725         Add intprops.
45726         * modules/getloadavg (Files): Remove lib/intprops.h.
45727         (Depends-on): Add intprops.
45728         * modules/human: Likewise.
45729         * modules/inttostr: Likewise.
45730         * modules/openat: Likewise.
45731         * modules/sig2str: Likewise.
45732         * modules/userspec: Likewise.
45733         * modules/utimecmp: Likewise.
45734         * modules/xnanosleep: Likewise.
45735         * modules/xstrtol: Likewise.
45736
45737 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
45738
45739         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
45740         * modules/lock-tests (TESTS): Use $(EXEEXT).
45741         * modules/tls-tests: Likewise.
45742         * modules/argp-tests: Likewise.
45743         (check_PROGRAMS): New var, replacing...
45744         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
45745
45746 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45747
45748         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
45749         `config.h'.
45750
45751 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
45752
45753         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
45754
45755 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45756
45757         Sync from coreutils.
45758         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
45759         gl_CHDIR_SAFER.
45760
45761 2006-02-22  Jim Meyering  <jim@meyering.net>
45762
45763         Sync from coreutils.
45764         * m4/chdir-safer.m4: New file.
45765
45766 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
45767
45768         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
45769         AT_FDCWD exceeds INT_MAX.
45770         * lib/openat.h (AT_FDCWD): Likewise.
45771
45772 2006-02-17  Eric Blake  <address@hidden>
45773
45774         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
45775
45776 2006-02-16  Simon Josefsson  <jas@extundo.com>
45777
45778         * modules/getaddrinfo (Depends-on): Add sys_socket.
45779
45780 2006-02-15  Simon Josefsson  <jas@extundo.com>
45781
45782         * build-aux/maint.mk: Add dsyntax-check rule.
45783
45784 2006-02-15  Eric Blake  <ebb9@byu.net>
45785
45786         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
45787         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
45788         'present but cannot compile' warnings on cygwin.
45789         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
45790         use ws2tcpip.h if sys/socket.h works.
45791         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
45792         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
45793
45794 2006-02-14  Simon Josefsson  <jas@extundo.com>
45795
45796         * modules/maintainer-makefile (Files): Rename.
45797
45798         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
45799         and (the local) Makefile.cfg to maint-cfg.mk.
45800
45801         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
45802         to the latter.
45803
45804         * modules/maintainer-makefile: New module.
45805
45806         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
45807         severaly stripped to make it possible to build it up from scratch
45808         with reliable tests.
45809
45810         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
45811         fixes to permit overriding the default actions when configure and
45812         makefile are not available.
45813
45814 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
45815
45816         Sync from coreutils.
45817         * modules/lstat (Depends-on): Don't depend on xalloc.
45818         (License): Change from GPL to LGPL, since this is now simply a
45819         replacement for a libc function.
45820
45821 2006-02-14  Jim Meyering  <jim@meyering.net>
45822
45823         Sync from coreutils.
45824
45825         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
45826         failure on deficient systems, and simplify gnulib lgpl dependencies.
45827         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
45828         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
45829
45830         * lib/xalloc-die.c: Remove unused definition of N_.
45831
45832 2006-02-14  Jim Meyering  <jim@meyering.net>
45833
45834         Sync from coreutils.
45835         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
45836         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
45837         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
45838         double-quote uses of that variable, to accommodate the rare case in
45839         which getmntent is available in none of the libraries checked.  This
45840         happens at least on FreeBSD 5.0.
45841
45842 2006-02-13  Simon Josefsson  <jas@extundo.com>
45843
45844         * gnulib-tool (Usage): Fix --import, from
45845         karl@freefriends.org (Karl Berry).
45846
45847 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
45848
45849         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
45850
45851 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
45852
45853         * lib/argp-namefrob.h: Restore changes accidentally lost during the
45854         "autoupdate" on 2005-12-12.
45855
45856 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
45857
45858         * modules/closeout (Depends-on): Remove atexit.
45859
45860 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
45861
45862         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
45863         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
45864
45865 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
45866
45867         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
45868         __EXTENSIONS__ if this causes compilation to fail.  Problem
45869         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
45870         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
45871
45872 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
45873
45874         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
45875         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
45876         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
45877         All uses changed.
45878
45879 2006-01-26  Simon Josefsson  <jas@extundo.com>
45880
45881         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
45882         prototype is visible on mingw32.
45883
45884         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
45885         for mingw32.
45886
45887         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
45888         mingw32).
45889
45890 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
45891
45892         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
45893         attempt to open for write; this always fails, at least on POSIX
45894         hosts.  This reinstates the 2006-01-09 change, which was
45895         inadvertently removed.
45896
45897 2006-01-26  Bruno Haible  <bruno@clisp.org>
45898
45899         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
45900         Reported by Paul Eggert.
45901
45902 2006-01-26  Bruno Haible  <bruno@clisp.org>
45903             Paul Eggert  <eggert@cs.ucla.edu>
45904
45905         * lib/stdbool_.h (_Bool)
45906         [(! (defined __cplusplus || defined __BEOS__)
45907           && !defined __GNUC__
45908           && !(defined __HP_cc || defined __xlc__
45909                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
45910                || defined __sgi))]:
45911         #define to signed char in these cases too; this simplifies
45912         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
45913         etc., separately) and makes it more conservative.
45914
45915 2006-01-25  Simon Josefsson  <jas@extundo.com>
45916
45917         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
45918         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
45919         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
45920
45921 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45922
45923         * lib/argp-namefrob.h: Bugfix. Remove stray #
45924
45925 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
45926
45927         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
45928         so that we test the test.
45929         Check for yet another HP-UX cc bug involving *bool |= bool.
45930
45931 2006-01-25  Karl Berry  <karl@gnu.org>
45932
45933         * config/srclist.txt (vasnprintf.c): sync lost.
45934
45935 2006-01-25  Jim Meyering  <jim@meyering.net>
45936
45937         Sync from the stable (b5) branch of coreutils:
45938
45939         * lib/fts.c (fts_children): Don't let close() clobber errno from
45940         failed fchdir().
45941
45942         * lib/fts.c (fts_stat): When following a symlink-to-directory,
45943         don't necessarily interpret stat-fails+lstat-succeeds as indicating
45944         a dangling symlink.  That can also happen at least for ELOOP.
45945         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
45946         FYI, this bug predates the inclusion of fts.c in coreutils.
45947
45948         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
45949         in their own block, so pre-c99 compilers don't object.
45950
45951         Avoid the double-free (first in fts_read, second in fts_close) that
45952         would occur when an `active' directory is made inaccessible (e.g.,
45953         via chmod a-x) during a traversal.
45954         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
45955         before returning.  Reproduce this failure by
45956         mkdir -p a/b; cd a; chmod a-x . b
45957         Reported by Stavros Passas.
45958
45959 2006-01-25  Jim Meyering  <jim@meyering.net>
45960
45961         * lib/fileblocks.c: Remove more useless parentheses.
45962         * lib/readutmp.h: Likewise.
45963
45964 2006-01-25  Bruno Haible  <bruno@clisp.org>
45965
45966         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
45967         warnings.
45968         Reported by Paul Eggert.
45969
45970 2006-01-25  Bruno Haible  <bruno@clisp.org>
45971
45972         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
45973         rid of a trap command. For Solaris sh.
45974         Reported by Mark D. Baushke <mdb@gnu.org>.
45975
45976 2006-01-24  Simon Josefsson  <jas@extundo.com>
45977
45978         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
45979         Bruno.
45980
45981 2006-01-24  Karl Berry  <karl@gnu.org>
45982
45983         * config/srclist.txt (argp-namefrob.h): sync lost.
45984
45985 2006-01-24  Jim Meyering  <jim@meyering.net>
45986
45987         * modules/openat (Files): Add lib/intprops.h.
45988         From Mark D. Baushke.
45989
45990 2006-01-24  Jim Meyering  <jim@meyering.net>
45991
45992         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
45993         Reported by Mark D. Baushke.
45994
45995 2006-01-24  Jim Meyering  <jim@meyering.net>
45996
45997         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
45998
45999 2006-01-24  Bruno Haible  <bruno@clisp.org>
46000
46001         * modules/strnlen (Maintainer): Change from glibc to all.
46002
46003 2006-01-24  Bruno Haible  <bruno@clisp.org>
46004
46005         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
46006         Patch by Paul Eggert.
46007
46008 2006-01-24  Bruno Haible  <bruno@clisp.org>
46009
46010         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
46011         already has it.
46012         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
46013         2005-11-26.
46014
46015         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
46016         'signed char' to avoid problems with the built-in _Bool type.
46017         Reported by Paul Eggert on 2005-11-26.
46018
46019 2006-01-24  Bruno Haible  <bruno@clisp.org>
46020
46021         * gnulib-tool (func_import): Avoid constructing complicated sed
46022         expressions inside backquote.
46023         Report and solution by Mark D. Baushke <mdb@gnu.org>.
46024
46025 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
46026
46027         These changes imported from libc.
46028         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
46029         test and two separate function calls.
46030         * lib/strndup.c (__strndup): Add libc_hidden_def.
46031
46032 2006-01-23  Simon Josefsson  <jas@extundo.com>
46033
46034         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
46035         Remove the test_*_SOURCES variable: automake infers it by default.
46036         * modules/tls-tests: Likewise.
46037
46038 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
46039
46040         Work around porting bugs reported by Dieter in
46041         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
46042         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
46043         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
46044         Include "getopt.h" first, to check interface.
46045         (getenv): Declare only if defined HAVE_DECL_GETENV &&
46046         !HAVE_DECL_GETENV.
46047         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
46048         (__strndup): Revert to K&R-style function dfns, the glibc style.
46049         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
46050         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
46051         Include strnlen.h first, to get prototype properly.
46052         (strnlen): Renamed from __strnlen.
46053         Remove weak alias.
46054
46055 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
46056
46057         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
46058
46059 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
46060
46061         * config/srclist.txt: Adjust to reflect glibc reorganization.
46062         This affects only comments.
46063
46064 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
46065
46066          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
46067          Reported by Bruce Korb <bkorb@gnu.org>.
46068
46069 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
46070
46071         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
46072         to pacify gcc -Wswitch-default.
46073
46074 2006-01-22  Bruno Haible  <bruno@clisp.org>
46075
46076         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
46077         temporary buffer for sprintf, take into account the precision also
46078         for 'd', 'i', 'u', 'o', 'x', 'X'.
46079
46080 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
46081
46082         * modules/argp-tests: New module
46083         * tests/test-argp.c: New file
46084         * tests/test-argp-2.sh: New file
46085
46086 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
46087
46088         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
46089         (__argp_base_name): Removed
46090         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
46091         typo.
46092         (__argp_base_name): Provide macro definition or extern declaration
46093         depending on the configuration
46094
46095 2006-01-20  Simon Josefsson  <jas@extundo.com>
46096
46097         * modules/inet_ntop (Depends-on): Depend on sys_socket.
46098
46099 2006-01-20  Simon Josefsson  <jas@extundo.com>
46100
46101         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
46102
46103 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
46104
46105         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
46106         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
46107         Suggested by Bruno Haible.
46108
46109 2006-01-20  Karl Berry  <karl@gnu.org>
46110
46111         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
46112         until changes propagate, I guess.
46113
46114 2006-01-19  Simon Josefsson  <jas@extundo.com>
46115
46116         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
46117
46118 2006-01-19  Simon Josefsson  <jas@extundo.com>
46119
46120         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
46121
46122 2006-01-19  Simon Josefsson  <jas@extundo.com>
46123
46124         * gnulib-tool: Set check_PROGRAMS.
46125
46126         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
46127         modules/des-tests, modules/gc-arcfour-tests,
46128         modules/gc-arctwo-tests, modules/gc-des-tests,
46129         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
46130         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
46131         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
46132         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
46133         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
46134         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
46135         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
46136         test_*_SOURCES.
46137
46138 2006-01-18  Simon Josefsson  <jas@extundo.com>
46139
46140         * modules/socklen (Depends-on): Depend on sys_socket.
46141
46142 2006-01-18  Simon Josefsson  <jas@extundo.com>
46143
46144         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
46145         modules/des-tests, modules/gc-arcfour-tests,
46146         modules/gc-arctwo-tests, modules/gc-des-tests,
46147         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
46148         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
46149         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
46150         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
46151         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
46152         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
46153         $(EXEEXT) to automake TESTS variable, for mingw32.
46154
46155 2006-01-17  Simon Josefsson  <jas@extundo.com>
46156
46157         * modules/socklen (Include): Need sys/socket.h.
46158
46159 2006-01-17  Bruno Haible  <bruno@clisp.org>
46160
46161         * modules/ssize_t (Include): Add <sys/types.h>.
46162
46163 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
46164
46165         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
46166         it's not portable and it doesn't work with cross-compiles.
46167         Problem reported by Bruno Haible.  Fix missing-$ typo in
46168         'test "gl_cv_ignore_unused_libraries" ...' that prevented
46169         -zignore from being used with Sun's C compiler.
46170
46171 2006-01-12  Simon Josefsson  <jas@extundo.com>
46172
46173         * lib/base64.c: Fix warning, reported by Bruno Haible
46174         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
46175
46176 2006-01-12  Bruno Haible  <bruno@clisp.org>
46177
46178         * modules/ldd: New file.
46179         * build-aux/ldd.sh.in: New file.
46180         * MODULES.html.sh (Support for building libraries and executables): Add
46181         ldd.
46182
46183 2006-01-12  Bruno Haible  <bruno@clisp.org>
46184
46185         * m4/ldd.m4: New file.
46186
46187 2006-01-12  Bruno Haible  <bruno@clisp.org>
46188
46189         * gnulib-tool (func_import, func_create_testdir): Don't go into an
46190         endless loop while replacing $auxdir with build-aux.
46191
46192 2006-01-11  Simon Josefsson  <jas@extundo.com>
46193
46194         * lib/stdint_.h (SIZE_MAX): Add missing (.
46195
46196 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
46197
46198         Sync from coreutils.
46199         * lib/md5.c: Fix commentary typos.
46200         (alignof, UNALIGNED_P): No need for a GCC-specific version.
46201         * lib/md5.h (__attribute__): Remove; unused.
46202         * lib/sha1.c: Fix commentary to match md5 better.
46203         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
46204         so that we don't need to worry about alignment.  All uses changed.
46205         This merges the 2005-10-28 md5 change into sha1.
46206
46207 2006-01-11  Jim Meyering  <jim@meyering.net>
46208
46209         Sync from coreutils.
46210         * lib/md5.c (OP): Fix spacing.
46211
46212 2006-01-11  Bruno Haible  <bruno@clisp.org>
46213
46214         Ensure automatic ordering between gl_LOCK and gl_ARGP.
46215         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
46216         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
46217
46218 2006-01-11  Bruno Haible  <bruno@clisp.org>
46219
46220         Ensure automatic ordering between gl_LOCK and gl_ARGP.
46221         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
46222         the "early" section as well.
46223
46224 2006-01-11  Bruno Haible  <bruno@clisp.org>
46225
46226         Avoid "ar: no archive members specified" error on MacOS X.
46227         * gnulib-tool (func_modules_add_dummy): New function.
46228         (func_import, func_create_testdir): Invoke it.
46229
46230 2006-01-11  Bruno Haible  <bruno@clisp.org>
46231
46232         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
46233         with $auxdir in AC_CONFIG_FILES statements.
46234
46235 2006-01-11  Bruno Haible  <bruno@clisp.org>
46236
46237         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46238         Initialize also noinst_HEADERS to empty.
46239
46240 2006-01-11  Bruno Haible  <bruno@clisp.org>
46241
46242         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
46243         variables.
46244         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
46245         autoreconf.
46246
46247 2006-01-11  Bruno Haible  <bruno@clisp.org>
46248
46249         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
46250         overridable by the user.
46251         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46252
46253 2006-01-10  Simon Josefsson  <jas@extundo.com>
46254
46255         * modules/sys_socket: New file.
46256
46257 2006-01-10  Simon Josefsson  <jas@extundo.com>
46258
46259         * m4/sys_socket_h.m4: New file.
46260
46261 2006-01-10  Simon Josefsson  <jas@extundo.com>
46262
46263         * lib/socket_.h: New file.
46264
46265 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
46266
46267         * modules/readutmp (Maintainer): Add myself.
46268
46269 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
46270
46271         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
46272         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
46273         People who are still concerned with buggy memcmp implementations
46274         can invoke gl_FUNC_MEMCMP themselves.
46275
46276 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
46277
46278         * lib/regex_internal.h (BITSET_WORD_BITS):
46279         Work around a bug in 64-bit PGC (before version 6.1-2), where the
46280         preprocessor mishandles large unsigned values as if they were signed.
46281         Problem reported by Claudio Fontana in
46282         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
46283
46284 2006-01-10  Jim Meyering  <jim@meyering.net>
46285
46286         Avoid the double-free (first in fts_read, second in fts_close) that
46287         would occur when an `active' directory is made inaccessible (e.g.,
46288         via chmod a-x) during a traversal.
46289         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
46290         before returning.  Reproduce this failure by
46291         mkdir -p a/b; cd a; chmod a-x . b
46292         Reported by Stavros Passas.
46293
46294         Sync from coreutils.
46295         * lib/sha1.c: Tweak grammar in a comment.
46296
46297 2006-01-10  Jim Meyering  <jim@meyering.net>
46298
46299         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
46300         Patch by Joerg Sonnenberger.
46301
46302 2006-01-10  Bruno Haible  <bruno@clisp.org>
46303
46304         * modules/readutmp: Depend on module free.
46305         * modules/strtok_r: Depend on module restrict.
46306
46307 2006-01-10  Bruno Haible  <bruno@clisp.org>
46308
46309         * modules/gettext (configure.ac): Add an invocation of
46310         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
46311
46312 2006-01-10  Bruno Haible  <bruno@clisp.org>
46313
46314         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
46315         Reported by Werner Lemberg <wl@gnu.org>.
46316
46317 2006-01-10  Bruno Haible  <bruno@clisp.org>
46318
46319         * lib/localcharset.c: Update from GNU gettext.
46320
46321 2006-01-10  Bruno Haible  <bruno@clisp.org>
46322
46323         * lib/argp.h (__const): Remove macro. Use const instead.
46324         * lib/argp-fmtstream.h (__const): Likewise.
46325         * lib/glob_.h (__const): Remove macro.
46326         * lib/glob-libc.h: Use const instead of __const.
46327
46328 2006-01-10  Bruno Haible  <bruno@clisp.org>
46329
46330         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
46331         variable.
46332         Needed to avoid an automake error regarding the 'gettext' module.
46333
46334 2006-01-09  Simon Josefsson  <jas@extundo.com>
46335
46336         * modules/inet_ntop (Depends-on): Add restrict.
46337
46338 2006-01-09  Simon Josefsson  <jas@extundo.com>
46339
46340         * modules/gc-rijndael-tests (License): Put under LGPL.
46341
46342         * modules/gc-des-tests (License): Likewise.
46343
46344         * modules/gc-arcfour-tests (License): Likewise.
46345
46346         * modules/gc-arctwo-tests (License): Likewise.
46347
46348         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
46349
46350         * modules/gc-hmac-sha1-tests (Files): Likewise.
46351
46352         * modules/gc-hmac-md5-tests (License): Likewise.
46353
46354         * modules/gc-sha1-tests (License): Likewise.
46355
46356         * modules/gc-md5-tests (License): Likewise.
46357
46358         * modules/gc-md4-tests (License): Likewise.
46359
46360         * modules/gc-md2-tests (License): Likewise.
46361
46362         * modules/gc-tests (License): Likewise.
46363
46364         * modules/des-tests (License): Likewise.
46365
46366         * modules/md4-tests (License): Likewise.
46367
46368         * modules/md2-tests (License): Likewise.
46369
46370 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46371
46372         Sync from coreutils:
46373
46374         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
46375         * modules/lib-ignore: New file.
46376         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
46377         chdir-safer.m4, lchmod.m4.
46378         * modules/openat: Add mkdirat.c, openat-priv.h.
46379
46380 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46381
46382         Sync from coreutils.
46383         * m4/lib-ignore.m4: New file.
46384         * m4/lchmod.m4: New file.
46385
46386 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46387
46388         Sync from coreutils.
46389         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
46390         for write access: POSIX says that must fail.
46391         * lib/fts.c (diropen): Likewise.
46392         * lib/save-cwd.c (save_cwd): Likewise.
46393         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
46394         well, for minor improvements on hosts that lack O_DIRECTORY.
46395         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
46396         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
46397         Fall back on chown if open failed with EACCES.
46398
46399         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
46400         Report an error at compile-time if only a 1-second nominal clock
46401         resolution is found.
46402
46403         * lib/lchmod.h: New file.
46404         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
46405         (make_dir_parents): Use lchown rather than chown, and
46406         lchmod rather than chmod.
46407
46408         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
46409         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
46410         "proc" reported by n0dalus.
46411
46412         * lib/mountlist.c: Include <limits.h>.
46413         (dev_from_mount_options)
46414         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
46415         New function.  It no longer assumes "dev=" has the System V meaning
46416         on Linux (since it doesn't).  It also parses "dev=" more carefully.
46417         (read_file_system_list)
46418         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
46419         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
46420         dev= in that case.
46421
46422         * lib/posixtm.h (PDS_PRE_2000): New macro.
46423         * lib/posixtm.c (year): Arg is now syntax_bits rather than
46424         allow_century.  All usages changed.  Reject dates outside the range
46425         1969-1999 if PDS_PRE_2000 is used.
46426
46427 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46428
46429         Sync from coreutils.
46430         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
46431         (Time of day items): Mention the possibility of leap seconds.
46432         Problem reported by Dr. David Alan Gilbert.
46433
46434 2006-01-09  Jim Meyering  <jim@meyering.net>
46435
46436         Sync from coreutils.
46437
46438         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
46439
46440         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
46441
46442         * lib/modechange.c (mode_compile): Reject an invalid mode string
46443         that starts with an octal digit.  From Andreas Gruenbacher.
46444
46445         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
46446         and dup to open_safer and dup_safer, respectively.
46447         (openat_permissive): Fix typo in comment.
46448
46449         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
46450         "gettext.h"; either no longer needed or are guaranteed by openat.h.
46451         (_): Remove; no longer needed.
46452         (openat): Renamed from rpl_openat; no need for rpl_openat
46453         since openat.h renames openat for us.
46454         Replace most of the body with a call to openat_permissive,
46455         to avoid duplicate code.
46456         Port to (probably hypothetical) environments were mode_t is
46457         wider than int.
46458         (openat_permissive): Require mode arg, so that we can check
46459         types better.  Put it just after flags.  Change cwd failure
46460         indicator from pointer-to-bool to pointer-to-errno-value.
46461         All callers changed.
46462         Invoke openat_save_fail and/or openat_restore_fail if
46463         cwd_errno is null, so that openat can call us.
46464         (openat_permissive, fdopendir, fstatat, unlinkat):
46465         Simplify errno handling to avoid some duplicate code,
46466         as it's OK to set errno on success.
46467         * lib/openat.h: Revamp code so that function macros depend on
46468         __OPENAT_PREFIX only, not also on AT_FDCWD.
46469         (openat_ro): Remove.  Caller changed to use openat_permissive.
46470         (openat_permissive): Now a macro, if not a function.
46471         (openat_restore_fail, openat_save_fail): Now always functions,
46472         since mkdirat needs them even if __OPENAT_PREFIX is defined.
46473
46474         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
46475         and openat.c.
46476         * lib/mkdirat.c: Include openat-priv.h.
46477         Remove definitions of macros defined therein.
46478         * lib/openat.c: Likewise.
46479
46480         * lib/mkdirat.c (mkdirat): New file and function.
46481         * lib/openat.h (mkdirat): Declare.
46482
46483         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
46484
46485         * lib/openat.h (openat_permissive): Declare.
46486         (openat_ro): Define.
46487
46488         * lib/openat.c (EXPECTED_ERRNO): New macro.
46489         (openat_permissive): New function -- used in remove.c rewrite.
46490         (all functions): Set errno just before returning, only if there
46491         was an actual failure.
46492         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
46493
46494         Emulate openat-family functions using Linux's procfs, if possible.
46495         Idea and some code based on Ulrich Drepper's glibc changes.
46496
46497         * lib/openat.c: (BUILD_PROC_NAME): New macro.
46498         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
46499         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
46500         before falling back on save_cwd and restore_cwd.
46501         (fdopendir, fstatat, unlinkat): Likewise.
46502
46503         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
46504         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
46505
46506         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
46507         as second argument to va_arg.  Otherwise, some versions of gcc
46508         warn that `if this code is reached, the program will abort'.
46509
46510 2006-01-09  Jim Meyering  <jim@meyering.net>
46511
46512         Sync from coreutils.
46513         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
46514         Require openat-priv.h.
46515
46516 2006-01-09  Bruno Haible  <bruno@clisp.org>
46517
46518         * modules/strnlen (Include): Use strnlen.h.
46519
46520 2006-01-09  Bruno Haible  <bruno@clisp.org>
46521
46522         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
46523
46524 2006-01-09  Bruno Haible  <bruno@clisp.org>
46525
46526         * lib/sysexit_.h (EX_OK): New macro.
46527         Suggested by Martin Lambers <marlam@marlam.de>.
46528
46529 2006-01-09  Bruno Haible  <bruno@clisp.org>
46530
46531         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
46532         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
46533
46534 2006-01-09  Bruno Haible  <bruno@clisp.org>
46535
46536         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
46537         numbers.
46538
46539 2006-01-09  Bruno Haible  <bruno@clisp.org>
46540
46541         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
46542         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
46543         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
46544         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
46545
46546 2006-01-09  Bruno Haible  <bruno@clisp.org>
46547
46548         * build-aux/javacomp.sh.in: New file, moved from lib/.
46549         * modules/javacomp-script (Files): Update.
46550         (configure.ac): Add AC_CONFIG_FILES invocation.
46551         (EXTRA_DIST): Remove variable.
46552
46553         * build-aux/javaexec.sh.in: New file, moved from lib/.
46554         * modules/javaexec (Files): Update.
46555         (configure.ac): Add AC_CONFIG_FILES invocation.
46556         (EXTRA_DIST): Remove javaexec.sh.in.
46557
46558         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
46559         * modules/csharpcomp-script (Files): Update.
46560         (configure.ac): Add AC_CONFIG_FILES invocation.
46561         (EXTRA_DIST): Remove variable.
46562
46563         * build-aux/csharpexec.sh.in: New file, moved from lib/.
46564         * modules/csharpexec (Files): Update.
46565         (configure.ac): Add AC_CONFIG_FILES invocation.
46566         (EXTRA_DIST): Remove csharpexec.sh.in.
46567
46568 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
46569
46570         Sync from coreutils.
46571
46572         Add POSIX ACL support
46573         * lib/acl.h (copy_acl, set_acl): Add declarations.
46574         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
46575         systems other than Linux.
46576         (chmod_or_fchmod): New function: use fchmod when possible,
46577         and chmod otherwise.
46578         (file_has_acl): Add a POSIX ACL implementation, with a
46579         Linux-specific subcase.
46580         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
46581         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
46582         acls are unsupported.
46583         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
46584         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
46585         are unsupported.
46586
46587 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
46588
46589         Sync from coreutils.
46590         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
46591
46592 2006-01-07  Bruno Haible  <bruno@clisp.org>
46593
46594         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
46595         gl_EARLY.
46596
46597 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46598
46599         * lib/strftime.c (tzname): Don't declare if it is already #defined.
46600         Problem reported for Mingw by Mark Junker.
46601
46602 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46603
46604         * README: Gnulib normally doesn't generate a tarball.
46605
46606 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
46607
46608         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
46609         long int, not int, for nanosecond counts, so that people who are
46610         used to POSIX struct timespec won't be surprised.  Reported by Jim
46611         Meyering.
46612
46613 2005-12-28  Bruno Haible  <bruno@clisp.org>
46614
46615         * build-aux/config.rpath: Update from GNU gettext.
46616
46617 2005-12-16  Jim Meyering  <jim@meyering.net>
46618
46619         * modules/fprintftime: New module.
46620         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
46621
46622 2005-12-16  Jim Meyering  <jim@meyering.net>
46623
46624         * m4/fprintftime.m4: New file.
46625
46626 2005-12-16  Jim Meyering  <jim@meyering.net>
46627
46628         * lib/fprintftime.c, lib/fprintftime.h: New files.
46629
46630 2005-12-15  Simon Josefsson  <jas@extundo.com>
46631
46632         * modules/socklen (configure.ac): Fix M4 macro name, to align with
46633         new m4/socklen.m4.
46634
46635 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46636
46637         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
46638         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
46639
46640 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46641
46642         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
46643         * lib/argp-help.c (fill_in_uparams): Check if the constructed
46644         struct uparams is valid. Fall back to the default values if it is
46645         not.
46646
46647 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46648
46649         * modules/argp (Files): Add argp-pin.c
46650         (Depends-on): dirname
46651         (lib_SOURCES): Add argp-pin.c
46652
46653 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46654
46655         * m4/argp.m4:  Check if program_invocation_name and
46656         program_invocation_short_name are declared and define appropriate
46657         macros if they are not.
46658
46659 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46660
46661         * lib/argp-help.c (__argp_base_name): New function
46662         (__argp_short_program_name): Rewrite using __argp_base_name
46663         * lib/argp-namefrob.h: Define program_invocation_name and
46664         program_invocation_short_name if requested
46665         (__argp_base_name): Add prototype
46666         * lib/argp-parse.c (argp_def): Use gettext wrappers
46667         (argp_default_parser): Use __argp_base_name
46668         * lib/argp-pin.c: New file. Defines program_invocation_name and
46669         program_invocation_short_name on systems that lack them.
46670
46671 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
46672
46673         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
46674         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
46675         porting problem reported by Georg Schwarz in
46676         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
46677
46678 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
46679
46680         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
46681         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
46682         porting problem reported by Georg Schwarz in
46683         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
46684
46685 2005-12-05  Bruno Haible  <bruno@clisp.org>
46686
46687         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
46688         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
46689         Reported by Mark Junker <mjscod@gmx.de>.
46690
46691 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
46692
46693         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
46694         Use implementation from Albert Chin, with some
46695         comments/corrections by Stepan Kasal and myself.
46696
46697 2005-12-02  Bruno Haible  <bruno@clisp.org>
46698
46699         * gnulib-tool (func_import): Accept GPLed build tool modules when
46700         --lgpl is given.
46701         * modules/csharpcomp-script: New file.
46702         * modules/csharpcomp: Depend on it.
46703         * modules/javacomp-script: New file.
46704         * modules/javacomp: Depend on it.
46705         Suggested by Simon Josefsson.
46706
46707 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
46708
46709         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
46710         statement, to work around an HP-UX 10.20 compiler bug reported by
46711         Peter O'Gorman.
46712
46713 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
46714
46715         * modules/savedir (Depends-on): Add openat.
46716
46717 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
46718
46719         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
46720         (uintmax_t) [defined uintmax_t]: Do not declare.
46721         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
46722         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
46723         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
46724         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
46725         sake of portability to weird hosts that C allows (though we don't
46726         know of any practical examples).
46727
46728         * lib/savedir.h (fdsavedir): New decl.
46729         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
46730         contains most of the former guts of savedir.
46731         (savedir): Use savedirstream.
46732         Include "openat.h".
46733
46734 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46735
46736         * modules/obstack (Files): Add m4/ulonglong.m4.
46737         Problem reported by Davide Angelocola.
46738
46739 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46740
46741         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
46742         coreutils no longer futzes with rounding modes.
46743
46744 2005-11-14  Jim Meyering  <jim@meyering.net>
46745
46746         * lib/mkstemp-safer.c: Include <config.h>, required for possible
46747         replacement of mkstemp.
46748
46749 2005-11-10  Simon Josefsson  <jas@extundo.com>
46750
46751         * lib/readline.c: Remove EOL.
46752
46753 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46754
46755         * modules/gethrxtime (Depends-on): Add gettime.
46756
46757 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46758
46759         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
46760         or gettimeofday; no longer needed.
46761
46762 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46763
46764         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
46765         time business.
46766         (gethrxtime) [! (HAVE_NANOUPTIME
46767         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
46768         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
46769         our own approximation.
46770
46771 2005-11-08  Eric Blake  <ebb9@byu.net>
46772
46773         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
46774
46775 2005-11-08  Eric Blake  <ebb9@byu.net>
46776
46777         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
46778
46779 2005-11-04  Bruno Haible  <bruno@clisp.org>
46780
46781         * gnulib-tool: Implement --update mode.
46782
46783 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
46784
46785         Fix porting problem reported by Theodoros V. Kalamatianos.
46786         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
46787         Don't assume that futimes failing means we must fail.
46788
46789 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
46790
46791         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
46792         variables to suggest the intended function of the PATH_MAX check.
46793
46794 2005-10-30  Kean Johnston  <jkj@sco.com>
46795
46796         Trivial changes to support SCO systems.
46797         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
46798         as PATH_MAX.
46799         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
46800         where __ptr is null when no I/O is pending.
46801
46802 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46803
46804         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
46805         leave errno alone.  Problem reported by Dmitry V. Levin.
46806
46807 2005-10-28  Simon Josefsson  <jas@extundo.com>
46808
46809         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
46810         Test more.
46811
46812         * tests/test-gc-md2.c, tests/test-md2.c: New files.
46813
46814         * modules/md2, modules/md2-tests: New files.
46815
46816 2005-10-28  Simon Josefsson  <jas@extundo.com>
46817
46818         * m4/inet_ntop.m4: More tests.
46819
46820         * m4/gc-md2.m4, md2.m4: New file.
46821
46822 2005-10-28  Simon Josefsson  <jas@extundo.com>
46823
46824         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
46825         "restrict" keywords, as per POSIX.  Protect the function
46826         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
46827         Don't use K&R prototypes.  Check the sprintf return values.
46828         Re-define EAFNOSUPPORT if not present.  Indent.
46829
46830         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
46831         suggested by Bruno Haible <bruno@clisp.org>.
46832
46833         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
46834
46835         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
46836
46837         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
46838         libgcrypt).
46839
46840         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
46841
46842         * lib/md2.h, lib/md2.c: New files.
46843
46844 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
46845
46846         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
46847         errno alone.  Problem reported by Frederic Jolliton.
46848
46849 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
46850
46851         * modules/verify (License): Change from GPL to LGPL.  This is a
46852         tiny module and there are apparently near-equivalents that are
46853         under the BSD license.
46854
46855 2005-10-24  Simon Josefsson  <jas@extundo.com>
46856
46857         * modules/sha1: Relicense to LGPL.
46858
46859 2005-10-24  Simon Josefsson  <jas@extundo.com>
46860
46861         * lib/md4.h: Shrink buffer size, now that we changed the type.
46862
46863 2005-10-23  Simon Josefsson  <jas@extundo.com>
46864
46865         * gnulib-tool (func_import): Fix --tests-base.
46866
46867 2005-10-22  Simon Josefsson  <jas@extundo.com>
46868
46869         * modules/arcfour (Depends-on): Need stdint.
46870
46871 2005-10-22  Simon Josefsson  <jas@extundo.com>
46872
46873         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
46874         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
46875
46876 2005-10-22  Simon Josefsson  <jas@extundo.com>
46877
46878         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
46879         suggested by Bruno Haible <bruno@clisp.org>.
46880
46881 2005-10-22  Simon Josefsson  <jas@extundo.com>
46882
46883         * lib/crc.h: Include stddef.h, for size_t.
46884
46885 2005-10-22  Simon Josefsson  <jas@extundo.com>
46886
46887         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
46888         arcfour_context struct (simplify test vector testing in GNU
46889         Shishi).
46890
46891 2005-10-21  Simon Josefsson  <jas@extundo.com>
46892
46893         * modules/des, modules/des-tests: New files.
46894
46895         * modules/gc-des, modules/gc-des-tests: New files.
46896
46897         * tests/test-des.c, tests/test-gc-des.c: New file.
46898
46899 2005-10-21  Simon Josefsson  <jas@extundo.com>
46900
46901         * modules/arctwo, modules/arctwo-tests: New files.
46902
46903         * tests/test-arctwo.c: New file.
46904
46905         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
46906
46907         * tests/test-gc-arctwo.c: New file.
46908
46909 2005-10-21  Simon Josefsson  <jas@extundo.com>
46910
46911         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
46912         Bruno Haible <bruno@clisp.org>.
46913
46914         * m4/gc-des.m4: New file.
46915
46916 2005-10-21  Simon Josefsson  <jas@extundo.com>
46917
46918         * m4/arctwo.m4: New file.
46919
46920         * m4/gc-arctwo.m4: New file.
46921
46922 2005-10-21  Simon Josefsson  <jas@extundo.com>
46923
46924         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
46925         block.
46926
46927 2005-10-21  Simon Josefsson  <jas@extundo.com>
46928
46929         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
46930         <bruno@clisp.org>.
46931
46932         * lib/hmac-sha1.c (hmac_sha1): Likewise.
46933
46934         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
46935         Bruno Haible <bruno@clisp.org>.
46936
46937         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
46938         <bruno@clisp.org>.
46939
46940 2005-10-21  Simon Josefsson  <jas@extundo.com>
46941
46942         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
46943
46944 2005-10-21  Simon Josefsson  <jas@extundo.com>
46945
46946         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
46947
46948 2005-10-21  Simon Josefsson  <jas@extundo.com>
46949
46950         * lib/des.h, lib/des.c: New files.
46951
46952         * lib/gc-gnulib.c: Support DES.c
46953
46954 2005-10-21  Simon Josefsson  <jas@extundo.com>
46955
46956         * lib/arctwo.h, lib/arctwo.c: New files.
46957
46958         * lib/gc-gnulib.c: Support ARCTWO.
46959
46960 2005-10-21  Simon Josefsson  <jas@extundo.com>
46961
46962         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
46963         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46964
46965 2005-10-21  Simon Josefsson  <jas@extundo.com>
46966
46967         * gnulib-tool (func_import, func_create_testdir): Define automake
46968         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
46969         Makefile.am snippet),
46970         suggested by Bruno Haible <bruno@clisp.org>.
46971
46972         * modules/gc (Makefile.am): Use it.
46973
46974 2005-10-21  Bruno Haible  <bruno@clisp.org>
46975
46976         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
46977         patch.
46978
46979 2005-10-19  Simon Josefsson  <jas@extundo.com>
46980
46981         * tests/test-gc-rijndael.c: New file.
46982
46983         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
46984
46985 2005-10-19  Simon Josefsson  <jas@extundo.com>
46986
46987         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
46988         interface too.
46989
46990 2005-10-19  Simon Josefsson  <jas@extundo.com>
46991
46992         * tests/test-gc-arcfour.c: New file.
46993
46994         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
46995
46996 2005-10-19  Simon Josefsson  <jas@extundo.com>
46997
46998         * modules/gc-md4, modules/gc-md4-tests: New file.
46999
47000         * tests/test-gc-md4.c: New file.
47001
47002 2005-10-19  Simon Josefsson  <jas@extundo.com>
47003
47004         * m4/gc-md4.m4: New file.
47005
47006 2005-10-19  Simon Josefsson  <jas@extundo.com>
47007
47008         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
47009         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
47010         <kasal@ucw.cz>.
47011
47012 2005-10-19  Simon Josefsson  <jas@extundo.com>
47013
47014         * m4/gc-arcfour.m4: New file.
47015
47016         * m4/gc-rijndael.m4: New file.
47017
47018 2005-10-19  Simon Josefsson  <jas@extundo.com>
47019
47020         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
47021
47022 2005-10-19  Simon Josefsson  <jas@extundo.com>
47023
47024         * lib/gc-gnulib.c: Support ARCFOUR.
47025
47026 2005-10-19  Simon Josefsson  <jas@extundo.com>
47027
47028         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
47029         support.
47030
47031         * lib/gc.h: Add ECB enum type.
47032
47033         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
47034
47035 2005-10-18  Simon Josefsson  <jas@extundo.com>
47036
47037         * tests/test-md5.c: New file.
47038
47039         * modules/md5-tests: New file.
47040
47041 2005-10-18  Simon Josefsson  <jas@extundo.com>
47042
47043         * tests/test-md4.c: New file.
47044
47045         * modules/md4, modules/md4-tests: New files.
47046
47047 2005-10-18  Simon Josefsson  <jas@extundo.com>
47048
47049         * m4/md4.m4: New file.
47050
47051 2005-10-18  Simon Josefsson  <jas@extundo.com>
47052
47053         * lib/md4.h, lib/md4.c: New files, based on md5.?.
47054
47055 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
47056
47057         * gnulib-tool (func_create_testdir): Omit the second check whether
47058         BUILT_SOURCES in nonempty.
47059
47060 2005-10-17  Simon Josefsson  <jas@extundo.com>
47061
47062         * tests/test-rijndael.c: New file.
47063
47064 2005-10-17  Simon Josefsson  <jas@extundo.com>
47065
47066         * modules/sha1: Depend on stdint instead of md5.
47067
47068         * modules/md5: Depend on stdint, remove uint32_t.
47069
47070 2005-10-17  Simon Josefsson  <jas@extundo.com>
47071
47072         * modules/gc-sha1-tests: New file.
47073
47074         * tests/test-gc-sha1.c: New file.
47075
47076 2005-10-17  Simon Josefsson  <jas@extundo.com>
47077
47078         * m4/md5.m4: Remove call to uint32_t.m4.
47079
47080 2005-10-17  Simon Josefsson  <jas@extundo.com>
47081
47082         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
47083
47084         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
47085         md5.h.
47086
47087         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
47088
47089         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
47090
47091 2005-10-17  Simon Josefsson  <jas@extundo.com>
47092
47093         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
47094
47095 2005-10-17  Simon Josefsson  <jas@extundo.com>
47096
47097         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
47098
47099 2005-10-17  Simon Josefsson  <jas@extundo.com>
47100
47101         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
47102
47103         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
47104
47105 2005-10-17  Bruno Haible  <bruno@clisp.org>
47106
47107         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
47108         that it can also be used in a test.
47109
47110 2005-10-16  Bruno Haible  <bruno@clisp.org>
47111
47112         * gnulib-tool (func_emit_tests_Makefile_am): Also define
47113         TESTS_ENVIRONMENT, so that individual tests can augment it.
47114
47115         * gnulib-tool (func_create_testdir): Use an intermediate target for
47116         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
47117         macros, like $(ALLOCA_H), which cannot be passed through the command
47118         line.
47119
47120 2005-10-15  Simon Josefsson  <jas@extundo.com>
47121
47122         * modules/rijndael-tests: New file.
47123
47124         * modules/rijndael: New file.
47125
47126 2005-10-15  Simon Josefsson  <jas@extundo.com>
47127
47128         * m4/rijndael.m4: New file.
47129
47130 2005-10-15  Simon Josefsson  <jas@extundo.com>
47131
47132         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
47133
47134         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
47135
47136 2005-10-14  Simon Josefsson  <jas@extundo.com>
47137
47138         * tests/test-arcfour.c: New file.
47139
47140         * modules/arcfour, modules/arcfour-tests: New files.
47141
47142 2005-10-14  Simon Josefsson  <jas@extundo.com>
47143
47144         * m4/arcfour.m4: New file.
47145
47146 2005-10-14  Simon Josefsson  <jas@extundo.com>
47147
47148         * lib/arcfour.h, lib/arcfour.c: New files.
47149
47150 2005-10-14  Roland McGrath  <roland@redhat.com>
47151
47152         Import from libc.  [BZ #1331]
47153         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
47154         macro argument.
47155         Reported by Matej Vela <vela@debian.org>.
47156
47157 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
47158
47159         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
47160         include <wchar.h>; no longer needed.
47161
47162 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
47163
47164         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
47165
47166 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
47167         and  Ulrich Drepper  <drepper@redhat.com>
47168
47169         Import from libc.
47170         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
47171         instead of inline stream orientation test and two separate
47172         function calls.  Pay no attention to USE_IN_LIBIO.
47173
47174 2005-10-13  Simon Josefsson  <jas@extundo.com>
47175
47176         * modules/gc-hmac-md5-tests: New file.
47177
47178         * tests/test-gc-hmac-sha1.c: New file.
47179
47180         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
47181
47182         * modules/gc-hmac-md5-tests: New file.
47183
47184         * tests/test-gc-md5.c: New file.
47185
47186         * modules/gc-md5-tests: New file.
47187
47188 2005-10-13  Simon Josefsson  <jas@extundo.com>
47189
47190         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
47191         Move memory allocation outside of loop.
47192
47193 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
47194
47195         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
47196         intermediate directory is in a read-only file system.  Problem
47197         reported by Eric Blake.
47198
47199 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
47200
47201         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
47202
47203 2005-10-12  Simon Josefsson  <jas@extundo.com>
47204
47205         * tests/test-hmac-sha1.c: New file.
47206
47207         * modules/hmac-sha1-tests: New file.
47208
47209         * modules/hmac-sha1: New file.
47210
47211 2005-10-12  Simon Josefsson  <jas@extundo.com>
47212
47213         * modules/gc-sha1: New file.
47214
47215 2005-10-12  Simon Josefsson  <jas@extundo.com>
47216
47217         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
47218
47219         * tests/test-gc-pbkdf2-sha1.c: New file.
47220
47221 2005-10-12  Simon Josefsson  <jas@extundo.com>
47222
47223         * modules/gc-md5, modules/gc-hmac-md5: New files.
47224
47225         * modules/gc (Files): Remove md5, memxor and hmac files.
47226
47227 2005-10-12  Simon Josefsson  <jas@extundo.com>
47228
47229         * m4/gc-pbkdf2-sha1.m4: New file.
47230
47231         * m4/gc-hmac-sha1.m4: New file.
47232
47233         * m4/gc-sha1: New file.
47234
47235         * m4/hmac-sha1.m4: New file.
47236
47237 2005-10-12  Simon Josefsson  <jas@extundo.com>
47238
47239         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
47240
47241         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
47242
47243 2005-10-12  Simon Josefsson  <jas@extundo.com>
47244
47245         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
47246         suggested by Bruno Haible <bruno@clisp.org>.
47247
47248 2005-10-12  Simon Josefsson  <jas@extundo.com>
47249
47250         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
47251
47252 2005-10-12  Simon Josefsson  <jas@extundo.com>
47253
47254         * lib/gc-pbkdf2-sha1.c: New file.
47255
47256         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
47257
47258 2005-10-12  Simon Josefsson  <jas@extundo.com>
47259
47260         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
47261
47262         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
47263
47264 2005-10-12  Simon Josefsson  <jas@extundo.com>
47265
47266         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
47267         GC_USE_HMAC_MD5, respectively.
47268
47269         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
47270         (gc_md5): Fix typo.
47271
47272         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
47273
47274         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
47275
47276         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
47277
47278 2005-10-12  Bruno Haible  <bruno@clisp.org>
47279
47280         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
47281         Reported by Stepan Kasal <kasal@ucw.cz>.
47282
47283 2005-10-11  Simon Josefsson  <jas@extundo.com>
47284
47285         * tests/test-crc.c: New file.
47286
47287         * modules/crc, modules/crc-tests: New files.
47288
47289 2005-10-11  Simon Josefsson  <jas@extundo.com>
47290
47291         * m4/crc.m4: New file.
47292
47293 2005-10-11  Simon Josefsson  <jas@extundo.com>
47294
47295         * lib/gc.h: Add gc_hash and gc_hash_buffer.
47296
47297         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
47298
47299         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
47300
47301 2005-10-11  Simon Josefsson  <jas@extundo.com>
47302
47303         * lib/crc.h, lib/crc.c: New files.
47304
47305         * lib/gc.h (gc_hash_buffer): Add doc.
47306
47307 2005-10-11  Bruno Haible  <bruno@clisp.org>
47308
47309         * modules/c-strcasestr: New file.
47310         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
47311
47312 2005-10-11  Bruno Haible  <bruno@clisp.org>
47313
47314         * modules/c-strcase: New file.
47315         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
47316
47317 2005-10-11  Bruno Haible  <bruno@clisp.org>
47318
47319         * lib/strcasecmp.c: Include limits.h.
47320         (strcasecmp): Avoid integer overflow on exotic platforms.
47321         * lib/strncasecmp.c: Include limits.h.
47322         (strncasecmp): Avoid integer overflow on exotic platforms.
47323         Reported by Paul Eggert.
47324
47325 2005-10-11  Bruno Haible  <bruno@clisp.org>
47326
47327         * lib/c-strcasestr.h: New file, from GNU gettext.
47328         * lib/c-strcasestr.c: New file, from GNU gettext.
47329
47330 2005-10-11  Bruno Haible  <bruno@clisp.org>
47331
47332         * lib/c-strcase.h: New file, from GNU gettext.
47333         * lib/c-strcasecmp.c: New file, from GNU gettext.
47334         * lib/c-strncasecmp.c: New file, from GNU gettext.
47335
47336 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
47337
47338         * modules/mempcpy (License): GPL -> LGPL.
47339         * modules/strchrnul (License): Likewise.
47340         * modules/sysexits (License): Likewise.
47341
47342 2005-10-08  Simon Josefsson  <jas@extundo.com>
47343
47344         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
47345
47346 2005-10-07  Simon Josefsson  <jas@extundo.com>
47347
47348         * m4/memxor.m4: Remove gl_C_RESTRICT call.
47349
47350 2005-10-06  Simon Josefsson  <jas@extundo.com>
47351
47352         * tests/test-hmac-md5.c: New file.
47353
47354         * modules/hmac-md5-tests: New file.
47355
47356         * modules/hmac-md5: New file.
47357
47358 2005-10-06  Simon Josefsson  <jas@extundo.com>
47359
47360         * m4/hmac-md5.m4: New file.
47361
47362         * m4/memxor.m4: Require gl_C_RESTRICT.
47363
47364 2005-10-06  Simon Josefsson  <jas@extundo.com>
47365
47366         * lib/memxor.c (memxor): Avoid casts and warnings.
47367
47368 2005-10-06  Simon Josefsson  <jas@extundo.com>
47369
47370         * lib/hmac-md5.c: New file.
47371
47372         * lib/hmac.h: New file.
47373
47374 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
47375
47376         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
47377         promotes to int, not unsigned int, to catch the AIX 5.3
47378         compiler bug.
47379
47380 2005-10-05  Simon Josefsson  <jas@extundo.com>
47381
47382         * modules/memxor: New file.
47383
47384         * modules/iconv (Files): Move config.rpath to havelib, it is used
47385         there.
47386
47387         * modules/havelib (Files): Add config.rpath.
47388
47389 2005-10-05  Simon Josefsson  <jas@extundo.com>
47390
47391         * m4/memxor.m4: New file.
47392
47393 2005-10-05  Simon Josefsson  <jas@extundo.com>
47394
47395         * lib/memxor.c (memxor): Fix compiler error.
47396
47397         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
47398         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
47399
47400         * lib/memxor.h, lib/memxor.c: New files.
47401
47402         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
47403         we assume all systems have it, suggested by Jim Meyering
47404         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
47405         any systems lack sys/socket.h; mingw32 is known to lack it, but we
47406         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
47407         same reasons.
47408
47409 2005-10-05  Simon Josefsson  <jas@extundo.com>
47410
47411         * config/srclist.txt: Add glibc bug 1423 for md5.h.
47412
47413 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47414
47415         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
47416         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
47417         needed, since the source code now assumes these .h files.
47418
47419 2005-10-05  Derek Price  <derek@ximbiot.com>
47420
47421         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
47422
47423 2005-10-05  Bruno Haible  <bruno@clisp.org>
47424
47425         * modules/stdint (License): Change to LGPL.
47426
47427 2005-10-04  Simon Josefsson  <jas@extundo.com>
47428
47429         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
47430         D. Baushke" <mdb@gnu.org>.
47431
47432 2005-10-04  Bruno Haible  <bruno@clisp.org>
47433
47434         * lib/verify.h (verify_true): Provide alternative definition for C++.
47435
47436 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
47437
47438         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
47439         (SSIZE_MAX): New macro, if not already defined.
47440         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
47441         than 2 GiB.
47442
47443 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
47444
47445         Sync from coreutils.
47446         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
47447         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
47448         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
47449         ULLONG_MAX doesn't work with 2.7.2.1.
47450
47451 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
47452
47453         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
47454         From Ben Pfaff.
47455
47456         * modules/exclude (Depends-on): Depend on verify.
47457         * modules/strtoimax (Depends-on): Likewise.
47458         * modules/utimecmp (Depends-on): Likewise.
47459
47460 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
47461
47462         * lib/exclude.c: Include verify.h.
47463         (verify): Remove.  All callers changed to use verify.h's version.
47464         * lib/strtoimax.c: Likewise.
47465         * lib/utimecmp.c: Likewis.e
47466
47467         Sync from coreutils.
47468         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
47469         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
47470         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
47471         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
47472         bother returning ENOSYS if settimeofday or stime fails; just let
47473         them return whatever errno they want to return.
47474         * lib/utimens.c: Include unistd.h, for dup2.
47475         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
47476         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
47477
47478 2005-10-02  Jim Meyering  <jim@meyering.net>
47479
47480         Sync from coreutils.
47481         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
47482         from glibc-2.2.5 that fails for read-only files.
47483
47484 2005-10-02  Jim Meyering  <jim@meyering.net>
47485
47486         Sync from coreutils.
47487         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
47488         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
47489         `#if HAVE_CONFIG_H'.
47490         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
47491         Remove AT_FDCWD test.
47492         Do not consume the fd unless successful.
47493         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
47494         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
47495         block, so that we don't even try to compile it if settimeofday is
47496         available.  This works around a compilation failure on OSF1 V5.1,
47497         due to stime requiring a `long int*' while tv_sec is `int'.
47498
47499 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
47500
47501         Sync from coreutils.
47502         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
47503         against `yes', rather than just testing for nonempty.
47504
47505 2005-10-01  Simon Josefsson  <jas@extundo.com>
47506
47507         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
47508         and Darwin.
47509
47510         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
47511         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
47512         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
47513         freeaddrinfo and gai_strerror are declared by the POSIX headers.
47514         Check if struct addrinfo is declared.
47515
47516 2005-10-01  Simon Josefsson  <jas@extundo.com>
47517
47518         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
47519         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
47520         AI_* and EAI_* definitions.  Protect function declarations.
47521
47522 2005-10-01  Jim Meyering  <jim@meyering.net>
47523
47524         Sync from coreutils.
47525
47526         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
47527         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
47528         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
47529         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
47530         in the inet and nsl libraries.  Required on Solaris 5.7.
47531
47532 2005-10-01  Jim Meyering  <jim@meyering.net>
47533
47534         Sync from coreutils.
47535         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
47536         in the inet and nsl libraries.  Required on Solaris 5.7.
47537
47538 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
47539
47540         * lib/getdelim.c (getdelim): Remove unused variables.
47541
47542 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
47543
47544         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
47545         so that the code works even with ancient cpp.  Portability problem
47546         with GCC 2.7.2.1 reported by Thomas M.Ott.
47547
47548 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
47549
47550         * modules/regex (Depends-on): Add strcase.
47551
47552         * modules/gethostname (Licence): Change from GPL to LGPL, since
47553         gethostname.c is a trivial implementation of a standard library
47554         function.
47555         * modules/poll (License): Change from GPL to LGPL, since it's
47556         derived from LGPL code.
47557
47558 2005-09-27  Jim Meyering  <jim@meyering.net>
47559
47560         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
47561         HAVE_CONFIG_H.
47562
47563         * lib/intprops.h (signed_type_or_expr__): Define.
47564         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
47565         for unsigned types.
47566
47567 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47568
47569         * lib/verify.h (verify_expr): Remove, replacing with:
47570         (verify_true): New macro that returns true instead of void.
47571         (verify_type__): Remove.
47572         (verify): Use verify_true rather than verify_type__.
47573
47574 2005-09-26  Bruno Haible  <bruno@clisp.org>
47575
47576         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
47577         is necessary.
47578         (lib_SOURCES): Remove mbchar.c.
47579         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
47580         (Files): Add m4/mbrtowc.m4.
47581         * modules/mbiter: Likewise.
47582         * modules/mbuiter: Likewise.
47583
47584 2005-09-26  Bruno Haible  <bruno@clisp.org>
47585
47586         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
47587         compile mbchar.c if they are not both present.
47588         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
47589         * m4/mbiter.m4 (gl_MBITER): Likewise.
47590         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
47591         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
47592         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
47593
47594 2005-09-25  Jim Meyering  <jim@meyering.net>
47595
47596         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
47597         also uses socklen_t.
47598
47599 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
47600
47601         * lib/utimens.c (ENOSYS): Define if not already defined.
47602         (futimens): Support having a null PATH if the file descriptor
47603         is nonnegative.
47604
47605         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
47606         Remove.
47607         (__attribute): Define to empty unless GCC 3.1 or later.
47608         This works around a core dump on OpenBSD 3.4, which has GCC
47609         2.95.3, which dumps core when given __attribute__(()).  It also
47610         simplifies other tests, since we really don't want to bother with
47611         worrying about which ancient version of GCC supported what.
47612         Original problem reported by Yoann Vandoorselaere, with part of
47613         the fix suggested by Derek Price.
47614
47615 2005-09-24  Jim Meyering  <jim@meyering.net>
47616
47617         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
47618         so we can once again use a positive bitfield width of 1 -- now we
47619         don't have to explain why we were using a bitfield width of 2.
47620
47621 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47622
47623         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
47624         and similarly for the other external symbols.  Problem reported
47625         by James Gallager.
47626
47627         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
47628         bug reported by Jim Meyering.
47629
47630         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
47631         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
47632         not needed, since socklen is a prerequisite module.
47633
47634 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47635
47636         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
47637         Problem reported by Eric Blake.
47638         (getaddrinfo): Initialize se so that it's not garbage.
47639         Redo internal storage allocation so that it doesn't make unportable
47640         assumptions about alignment.
47641         Fix a memory leak.
47642
47643         * lib/utimens.c (futimens): Use futimesat if available.
47644         Prefer it to futimes since it doesn't have the futimes bug.
47645
47646         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
47647         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
47648         Instead, declare a function that returns a pointer to an array,
47649         and use verify_type__ to declare the size of the array.
47650         Problem and germ of a solution reported by Bruno Haible.
47651         (verify_type__): Use 2, not 1, for bitfield size, to avoid
47652         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
47653
47654 2005-09-23  Jim Meyering  <jim@meyering.net>
47655
47656         Sync from coreutils.
47657         Correct build failure (socklen_t not defined) on at least
47658         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
47659         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
47660
47661 2005-09-23  Jim Meyering  <jim@meyering.net>
47662
47663         * modules/getaddrinfo (Depends-on): Add socklen.
47664
47665 2005-09-23  Bruno Haible  <bruno@clisp.org>
47666
47667         * tests/test-verify.c: New file.
47668
47669 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47670
47671         Sync from coreutils.
47672
47673         * modules/argmatch (Depends-on): Add verify.
47674         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
47675         unistd-safer.
47676         * modules/save-cwd (Depends-on): Likewise.
47677
47678         * modules/openat (Files): Add lib/openat-die.c.
47679         (Depends-on): Remove error, exitfail.
47680         Add dirname.
47681
47682         * modules/verify: New file.
47683         * MODULES.html.sh (Diagnostics <assert.h>): New section,
47684         with "verify" module.
47685
47686 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47687
47688         Sync from coreutils.
47689
47690         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
47691         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
47692         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
47693         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
47694         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
47695         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
47696         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
47697         Don't bother checking for string.h, stdlib.h, unistd.h.
47698         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
47699         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
47700         module's job.
47701         * m4/jm-macros.m4 (gl_MACROS): Likewise.
47702         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
47703
47704         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
47705         (gl_GETDATE): Use it.
47706
47707         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
47708
47709 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47710
47711         Sync from coreutils.
47712
47713         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
47714         stat-time.h.
47715         * lib/argmatch.h: Include verify.h
47716         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
47717         (ARGMATCH_ASSERT): Remove; unused.
47718         * lib/canonicalize.c: Assume STDC_HEADERS.
47719         * lib/exclude.c: Include "strcase.h".
47720         * lib/regex_internal.h [!defined _LIBC]: Likewise.
47721         * lib/getusershell.c: Include stdio--.h rather than stdio.h
47722         and stdio-safer.h.
47723         (getusershell): Call fopen, not fopen_safer.
47724         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
47725         Do not include unistd-safer.h.
47726         (save_cwd): Don't call fd_safer; no longer needed
47727         now that we include fcntl--.h.
47728
47729         * lib/getdate.y (relative_time): New type.
47730         (RELATIVE_TIME_0): New constant.
47731         (parser_control): Use relative_time instead of doing it ourselves.
47732         (%union): Add new relative_time rel member.
47733         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
47734         Now typeless.
47735         (relunit, relunit_snumber): Now of type rel.
47736         (zone, rel, relunit, get_date): Adjust to above changes.
47737
47738         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
47739         Do not include unistd-safer.h.
47740         (getloadavg): Don't call fd_safer; no longer needed
47741         now that we include fcntl--.h.
47742
47743         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
47744         (make_dir_parents): Treat ENOSYS like EEXIST.
47745
47746         Improve quality of diagnostics on restore_cwd failure.
47747         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
47748         (make_dir_parents): Last arg is now int * (for errno), not bool *.
47749         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
47750         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
47751         each time through the loop.  Do not diagnose restore_cwd failure;
47752         that is the caller's job (and perhaps the caller does not care).
47753
47754         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
47755         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
47756         If the file already exists but is not a directory, don't bother
47757         to try to make its parents.
47758         Close potential file descriptor leak if we can't chdir("/") (!).
47759         Don't always return true if chdir($PWD) fails; return true only
47760         if the requested action was done successfully (except for the
47761         chdir($PWD)).
47762         Don't log final directory unless we actually made it.
47763         Refactor to avoid duplicate code to fix up permissions.
47764         Don't attempt to fix up parent permissions if chdir($PWD) fails.
47765
47766         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
47767         to make it a bit faster and (I hope) clearer.
47768         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
47769         Fix bug in formats like %2N.
47770
47771         * lib/verify.h: New file.
47772
47773 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47774
47775         Sync from coreutils.
47776         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
47777
47778 2005-09-22  Jim Meyering  <jim@meyering.net>
47779
47780         Sync from coreutils.
47781
47782         * m4/lstat.m4 (gl_FUNC_LSTAT):
47783         Use AC_LIBSOURCES to require lstat.c and lstat.h.
47784         Remove obsolete comment.
47785         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
47786         * m4/xstrtod.m4: Likewise.
47787
47788         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
47789
47790 2005-09-22  Jim Meyering  <jim@meyering.net>
47791
47792         Sync from coreutils.
47793
47794         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
47795
47796         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
47797         the .tm_year member, since otherwise gcc-4.0 would now warn about
47798         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
47799
47800         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
47801         order to avoid an unsuppressible warning from gcc on 64-bit systems.
47802
47803         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
47804         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
47805         when run in a time zone for which daylight savings time is in effect
47806         for the starting date.
47807
47808         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
47809         stop us from restricting permissions of just-created absolute-named
47810         directories.
47811         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
47812         to restore initial working directory.
47813         * lib/mkdir-p.c (make_dir_parents): New parameter:
47814         different_working_dir, to tell caller if/when we change the working
47815         directory and are unable to return to the initial one.
47816         * lib/mkdir-p.h (make_dir_parents): Update prototype.
47817         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
47818         `return false'.  This fixes a bug introduced on 2004-07-30.
47819
47820         * lib/openat.c (fdopendir): Be sure to close the supplied
47821         file descriptor before returning.  This makes our replacement
47822         implementation a little closer to Solaris's, where fdopendir
47823         ties the file descriptor to the returned DIR* pointer.
47824         * lib/openat.c (unlinkat): New function.
47825         * lib/openat.h (unlinkat): Add prototype.
47826         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
47827         (openat_restore_fail): Rename from openat_restore_die.
47828         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
47829
47830         Provide an alternative to exiting immediately upon save_cwd or
47831         restore_cwd failure.  Now, an application can arrange e.g.,
47832         to perform a longjump in that case.
47833         * lib/openat.c: Include dirname.h.
47834         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
47835         (rpl_openat, fdopendir, fstatat): Call openat_save_die
47836         and openat_restore_die rather than calling error directly.
47837         Don't include "error.h" or "exitfail.h"; they're no longer needed.
47838
47839         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
47840         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
47841         define.
47842
47843         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
47844         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
47845                             int utc, int nanoseconds);
47846         Background:
47847         date should not have to allocate a megabyte of virtual memory to
47848         handle a format argument like +%1048575T.  When implemented with
47849         strftime, it must allocate such a buffer, use strftime to fill it
47850         in, print it, then free it.
47851         With fprintftime, it simply prints everything and exits.
47852         With no need for memory allocation, that's one fewer way to fail.
47853         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
47854         optional field width, not before, so we accept %9:z, not %:9z.
47855         (my_strftime): Be sure to use L_('x') for literals.
47856
47857         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
47858         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
47859         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
47860         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
47861         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
47862         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
47863         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
47864         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
47865         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
47866         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
47867         * lib/xgethostname.c, lib/xreadlink.c:
47868         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
47869
47870         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
47871         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
47872         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
47873         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
47874         and don't include <sys/file.h>).
47875
47876 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
47877
47878         Sync from coreutils.
47879
47880         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
47881         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
47882         [!LDAV_DONE]: Avoid unused variable warning.
47883
47884 2005-09-21  Bruno Haible  <bruno@clisp.org>
47885
47886         * lib/unicodeio.h (unicode_to_mb): New declaration.
47887
47888 2005-09-20  Derek Price  <derek@ximbiot.com>
47889
47890         * lib/getaddrinfo.c: Don't include <netdb.h> included from
47891         getaddrinfo.h.
47892
47893 2005-09-20  Bruno Haible  <bruno@clisp.org>
47894
47895         * gnulib-tool: Remove trailing slashes from the values specified for
47896         --source-base, --m4-base, --tests-base, --aux-dir.
47897         Suggested by Simon Josefsson <jas@extundo.com>.
47898
47899 2005-09-20  Bruno Haible  <bruno@clisp.org>
47900
47901         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
47902         func_modules_to_filelist, func_import, func_create_testdir): Make all
47903         sorting results locale-independent, so that gnulib-cache.m4 doesn't
47904         change when gnulib-tool is invoked in a different locale.
47905
47906 2005-09-19  Simon Josefsson  <jas@extundo.com>
47907
47908         * m4/socklen.m4: Fix typo.
47909
47910 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47911
47912         Use a consistent style for including <config.h>.
47913         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
47914         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
47915         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
47916         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
47917         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
47918         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
47919         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
47920         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
47921         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
47922         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
47923         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
47924         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
47925         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
47926         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
47927         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
47928         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
47929         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
47930         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
47931         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
47932         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
47933         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
47934         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
47935         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
47936         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
47937         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
47938         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
47939         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
47940         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
47941         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
47942         lib/xstrtoumax.c, lib/yesno.c:
47943         Standardize inclusion of config.h.
47944         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
47945         lib/inttostr.h:  Removed inclusion of config.h from header files.
47946         * lib/inttostr.c:  Adjusted in-tree users.
47947         * lib/timespec.h: Remove superfluous warning to include config.h.
47948         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
47949         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
47950         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
47951         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
47952         config.h with HAVE_CONFIG_H.
47953
47954 2005-09-19  Jim Meyering  <jim@meyering.net>
47955
47956         * modules/pathmax (License): Change to LGPL.
47957
47958 2005-09-19  Derek Price  <derek@ximbiot.com>
47959
47960         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
47961
47962 2005-09-19  Bruno Haible  <bruno@clisp.org>
47963
47964         * gnulib-tool (import): Provide default for --tests-base.
47965
47966 2005-09-19  Bruno Haible  <bruno@clisp.org>
47967
47968         * doc/quote.texi: New file, extracted from gnulib.texi.
47969         * doc/ctime.texi: New file, extracted from gnulib.texi.
47970         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
47971         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
47972         * doc/gnulib.texi: Include them.
47973
47974 2005-09-18  Bruno Haible  <bruno@clisp.org>
47975
47976         Portability fix.
47977         * gnulib-tool (func_readlink): New function.
47978         (func_ln_if_changed): Use it.
47979
47980 2005-09-18  Bruno Haible  <bruno@clisp.org>
47981
47982         * gnulib-tool: Support --with-tests also with --import.
47983         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
47984         (func_import): Use variables $testsbase and $inctests. Emit a
47985         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
47986         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
47987         SUBDIRS += $testsdir.
47988         (func_create_testdir): Update.
47989
47990 2005-09-18  Bruno Haible  <bruno@clisp.org>
47991
47992         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
47993         instead of $dry_run.
47994         (func_cp_if_changed, func_mv_if_changed): Remove functions.
47995         (func_ln_if_changed): Don't handle dry-run here.
47996         (func_import): In dry-run mode, detect more precisely which actions
47997         would be performed, and don't use "...ing" verbs.
47998
47999 2005-09-18  Bruno Haible  <bruno@clisp.org>
48000
48001         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
48002         (func_import): Use join on two temporary files instead of three nested
48003         loops, in order to determine which files are new or old.
48004
48005 2005-09-18  Bruno Haible  <bruno@clisp.org>
48006
48007         * gnulib-tool (func_import): Comment out code that spits out the
48008         new files with --dry-run.
48009
48010 2005-09-18  Bruno Haible  <bruno@clisp.org>
48011
48012         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
48013
48014 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
48015
48016         * lib/stat-time.h: New file.
48017         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
48018         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
48019         in a different way.
48020         (timespec_cmp): New function.
48021         * lib/utimecmp.c: Include stat-time.h.
48022         (SYSCALL_RESOLUTION): Depend on whether various struct stat
48023         members exist, not on the obsolescent ST_MTIM_NSEC.
48024         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
48025
48026 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
48027
48028         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
48029
48030 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
48031
48032         * MODULES.html.sh (File system functions): Add stat-time.
48033         * modules/stat-time: New file.
48034         * modules/timespec (Files): Remove m4/st_mtim.m4; this
48035         is now done in a different way, by the stat-time module.
48036         * modules/utimecmp (Depends-on): Add stat-time.
48037
48038 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
48039
48040         * m4/st_mtim.m4: Remove.  Superseded by...
48041         * m4/stat-time.m4: New file.
48042         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
48043         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
48044
48045 2005-09-15  Derek Price  <derek@ximbiot.com>
48046
48047         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
48048
48049 2005-09-15  Derek Price  <derek@ximbiot.com>
48050
48051         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
48052         * lib/regex_internal.c: Ditto, using this...
48053         (__GNUC_PREREQ): ...new macro.
48054         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
48055         using...
48056         (__GNUC_PREREQ): ...this new macro.
48057
48058         * lib/strstr.h: Include string.h. Define strstr as a macro here.
48059
48060 2005-09-15  Derek Price  <derek@ximbiot.com>
48061             Paul Eggert  <eggert@cs.ucla.edu>
48062
48063         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
48064         changes, consolidating in...
48065         * lib/regex_internal.h: ...this file.
48066
48067 2005-09-13  Jim Meyering  <jim@meyering.net>
48068
48069         * lib/canon-host.c: Filter through gnu indent and reword comments
48070         slightly.
48071         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
48072
48073 2005-09-13  Derek Price  <derek@ximbiot.com>
48074
48075         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
48076         failure.
48077         Reported by Jim Meyering  <jim@meyering.net>.
48078
48079 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
48080
48081         * lib/base64.c: Typo.
48082         (base64_encode): Put b64str in initialized data section.
48083
48084 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
48085
48086         Merge glibc and coreutils changes into gnulib, plus a few
48087         extra fixes.
48088         * lib/md5.c: Use #error rather than a string.
48089         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
48090         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
48091         (__attribute__): Define to empty for non recent-GCC.
48092         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
48093         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
48094         Renamed from their non-__ counterparts, with new macros replacing
48095         them if not _LIBC.  Add __THROW attribute.
48096         (rol): Remove.
48097         (struct md5_ctx): Align buffer if using GCC.
48098         * lib/sha1.h (struct sha1_ctx): Likewise.
48099         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
48100         The old name was backwards.
48101         (NOTSWAP): Remove; not used.
48102         (rol): New macro, moved here from md5.h.
48103         (sha1_process_block): Remove a FIXME that doesn't make sense.
48104
48105 2005-09-12  Derek Price  <derek@ximbiot.com>
48106
48107         Return usable errors from canon-host.
48108         * lib/canon-host.h: New file.
48109         * lib/canon-host.c (canon_host): Wrap...
48110         (canon_host_r): ...this new function, which now relies exclusively on
48111         getaddrinfo.
48112         (ch_strerror): New function.
48113         (last_cherror): New global.
48114         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
48115         interface.
48116         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
48117         void *.
48118         (freeaddrinfo): Free ai->ai_canonname when set.
48119
48120 2005-09-12  Derek Price  <derek@ximbiot.com>
48121
48122         Make canon-host require getaddrinfo.
48123         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
48124         AC_LIBSOURCE canon-host.h.  Call...
48125         (gl_PREREQ_CANON_HOST): ...this new function, which requires
48126         gl_GETADDRINFO.
48127         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
48128
48129 2005-09-12  Derek Price  <derek@ximbiot.com>
48130
48131         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
48132         LGPL.
48133         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
48134
48135 2005-09-12  Derek Price  <derek@ximbiot.com>
48136
48137         * lib/gai_strerror.c: Include config.h when available.  Include
48138         getaddrinfo.h before other headers to test interface.
48139         Reported by Larry Jones <lawrence.jones@ugs.com>.
48140
48141 2005-09-12  Derek Price  <derek@ximbiot.com>
48142             Paul Eggert  <eggert@cs.ucla.edu>
48143
48144         * modules/glob (Files): Add glob-libc.h.
48145
48146 2005-09-12  Derek Price  <derek@ximbiot.com>
48147             Paul Eggert  <eggert@cs.ucla.edu>
48148
48149         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
48150         glob_.h, glob-libc.h.
48151         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
48152
48153 2005-09-12  Derek Price  <derek@ximbiot.com>
48154             Paul Eggert  <eggert@cs.ucla.edu>
48155
48156         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
48157         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
48158         protecting things that should be done only in gnulib contexts.
48159         * lib/glob_.h: New file, containing only the glob things needed for
48160         gnulib.
48161         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
48162         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
48163         (glob, globfree, glob_pattern_p): Now defined simply in terms of
48164         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
48165         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
48166         and to respect the namespace rules better.
48167
48168 2005-09-08  Simon Josefsson  <jas@extundo.com>
48169
48170         * modules/socklen: New file.
48171
48172 2005-09-08  Simon Josefsson  <jas@extundo.com>
48173
48174         * m4/socklen.m4: New file.
48175
48176 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
48177
48178         * modules/utimens (Files): Add m4/utimbuf.m4, since
48179         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
48180         Reported by Sergey Poznyakoff.
48181
48182 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
48183
48184         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
48185         definitions, since that's the preferred style in glibc.
48186         Fix a minor spacing issue, and update copyright notice to match
48187         glibc's.
48188
48189 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
48190
48191         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
48192
48193 2005-09-06  Simon Josefsson  <jas@extundo.com>
48194
48195         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
48196         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
48197
48198 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48199
48200         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
48201         warning.
48202
48203 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48204
48205         * config/srclist.txt: Add glibc bug 1302.
48206
48207 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
48208
48209         Change bitset word type from unsigned int to unsigned long int,
48210         as this has better performance on typical 64-bit hosts.
48211         Port bitset code to hosts with unusual word sizes.
48212         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
48213         (build_collating_symbol):
48214         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
48215         argument is a bitset.  This is merely a style issue, but it makes
48216         it clearer that an entire array is expected.
48217         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
48218         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
48219         Port to the case where bitset_word is not the same as unsigned int.
48220         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
48221         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
48222         Likewise.
48223         * lib/regexec.c (check_dst_limits_calc_pos_1,
48224         check_subexp_matching_top):
48225         (build_trtable, group_nodes_into_DFAstates):
48226         Likewise.
48227         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
48228         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
48229         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
48230         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
48231         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
48232         * lib/regcomp.c (optimize_subexps, lower_subexp):
48233         Work even if bitset_word has holes in its bitwise representation.
48234         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
48235         * lib/regexec.c (check_dst_limits_calc_pos_1,
48236         check_subexp_matching_top):
48237         Likewise.
48238         * lib/regex_internal.c (re_string_reconstruct):
48239         Don't assume UCHAR_MAX == 255.
48240         * lib/regex_internal.h (bitset_set_all): Likewise.
48241         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
48242         All uses changed.
48243         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
48244         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
48245         All uses changed.
48246         (BITSET_WORD_MAX): New macro.
48247         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
48248         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
48249         (bitset_empty, bitset_copy):
48250         Prefer sizeof (bitset) to multiplying it out ourselves.
48251         (bitset_not_merge): Remove; unused.
48252         (bitset_contain): Return bool, not unsigned int with one bit on.
48253         All callers changed.
48254         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
48255         alignment than re_node_set; do this by defining a new internal
48256         type struct dests_alloc and using it to allocate memory.
48257
48258 2005-09-05  Bruno Haible  <bruno@clisp.org>
48259
48260         * gnulib-tool (func_import): Fix comparison in handling of symbolic
48261         links.
48262
48263 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
48264
48265         * modules/size_max (Makefile.am): Add size_max.h
48266
48267 2005-09-04  Derek Price  <derek@ximbiot.com>
48268
48269         * gnulib-tool (func_import): Fix reversed $symbolic logic.
48270
48271 2005-09-03  Simon Josefsson  <jas@extundo.com>
48272
48273         * gnulib-tool: Fix typo.
48274
48275 2005-09-03  Simon Josefsson  <jas@extundo.com>
48276
48277         * config/srclist.txt: Add glibc bug 1293.
48278
48279 2005-09-03  Derek Price  <derek@ximbiot.com>
48280
48281         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
48282         From Larry Jones <lawrence.jones@ugs.com>.
48283
48284 2005-09-02  Simon Josefsson  <jas@extundo.com>
48285
48286         * modules/socklen: New file.
48287
48288 2005-09-02  Simon Josefsson  <jas@extundo.com>
48289
48290         * modules/havelib: New module.
48291
48292         * modules/gettext, modules/iconv, modules/lock, modules/readline:
48293         Use havelib.
48294
48295 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
48296
48297         Check for arithmetic overflow when calculating sizes, to prevent
48298         some buffer-overflow issues.  These patches are conservative, in the
48299         sense that when I couldn't determine whether an overflow was possible,
48300         I inserted a run-time check.
48301         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
48302         macros.
48303         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
48304         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
48305         (re_xnrealloc, re_x2nrealloc): New inline functions.
48306         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
48307         parse_bracket_exp):
48308         (build_equiv_class, build_charclass): Check for arithmetic overflow
48309         in size expression calculations.
48310         * lib/regex_internal.c (re_string_realloc_buffers):
48311         (build_wcs_upper_buffer, re_node_set_add_intersect):
48312         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
48313         (re_dfa_add_node, register_state): Likewise.
48314         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
48315         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
48316         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
48317         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
48318
48319 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
48320
48321         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
48322         m4/ulonglong.m4.  Problem reported by Martin Lambers.
48323
48324 2005-09-02  Bruno Haible  <bruno@clisp.org>
48325
48326         Support for lib vs. lib64 distinction on biarch platforms.
48327         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
48328         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
48329         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
48330
48331 2005-09-02  Bruno Haible  <bruno@clisp.org>
48332
48333         * gnulib-tool (import): In the other first-use case, provide defaults
48334         as well.
48335
48336 2005-09-02  Bruno Haible  <bruno@clisp.org>
48337
48338         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
48339         patches not yet found in the latest gettext release.
48340
48341 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48342
48343         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
48344         to avoid a collision with bits/local_lim.h in glibc.
48345         All uses changed.  Problem reported by Dmitry V. Levin in
48346         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
48347
48348         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
48349         bugs in int versus size_t comparisons.
48350         (re_string_context_at): Fix bug where the code assumed that
48351         Idx is signed.
48352
48353         Use bool where appropriate.
48354         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
48355         All callers changed.
48356         (calc_eclosure_iter): Likewise, for ROOT arg.
48357         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
48358         (build_charclass_op): Likewise, for NON_MATCH arg.
48359         * lib/regex_internal.c (re_string_allocate, re_string_construct):
48360         (re_string_construct_common): Likewise, for ICASE arg.
48361         * lib/regexec.c (re_search_2_stub, re_search_stub):
48362         Likewise, for RET_LEN arg.
48363         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
48364         (set_regs): Likewise, for FL_BACKTRACK arg.
48365         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
48366         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
48367         (calc_eclosure_iter, parse_bracket_exp):
48368         Use bool for internal variables that are booleans.
48369         * lib/regexec.c (re_search_internal, check_matching,
48370         proceed_next_node):
48371         (set_regs, build_sifted_states, sift_states_bkref):
48372         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
48373         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
48374         (find_collation_sequence_value):
48375         Likewise.
48376         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
48377         (re_node_set_compare):
48378         Return bool, not int. All callers changed.
48379         * lib/regexec.c (check_halt_node_context, check_dst_limits):
48380         (build_trtable, check_node_accept): Likewise.
48381         * lib/regex_internal.h: Include stdbool.h.
48382
48383         Fix bugs uncovered when converting to bool.
48384         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
48385         failure instead of charging ahead blindly.
48386         * lib/regex_internal.c (register_state): Likewise.
48387         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
48388         for freeing internal storage.
48389         (group_nodes_into_DFA_states): Use unsigned int, not int, for
48390         bitset pieces used as boolean, to avoid undefined behavior
48391         on hosts that do int overflow checking.
48392
48393 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48394
48395         * config/srclist.txt: Add glibc bugs 1285-1287.
48396
48397 2005-09-01  Jim Meyering  <jim@meyering.net>
48398
48399         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
48400         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
48401         Require gl_STAT_MACROS, too.
48402
48403 2005-09-01  Bruno Haible  <bruno@clisp.org>
48404
48405         * gnulib-tool (import): In the first-use case, provide defaults.
48406
48407 2005-09-01  Bruno Haible  <bruno@clisp.org>
48408
48409         * gnulib-tool (func_import): Remove the .tmp files.
48410
48411 2005-09-01  Bruno Haible  <bruno@clisp.org>
48412
48413         * gnulib-tool (func_import): Fix handling of symbolic links.
48414
48415 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48416
48417         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
48418         old glibc regex code mishandles strings longer than 2**31 bytes.
48419         This patch fixes this when the regex code is used in gnulib
48420         (i.e., outside glibc).
48421
48422         This patch should not affect the use of the regex code inside
48423         glibc.  No doubt this problem also needs to be handled for glibc
48424         as well, but the result will be an incompatible change to the
48425         glibc ABI, and the old ABI will have to be supported too.  That
48426         can be the the subject for another patch.
48427
48428         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
48429         governing whether the rest of this patch is active.  By default,
48430         the macro is disabled and the patch has no effect.
48431         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
48432         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
48433         (struct re_pattern_buffer, re_search, re_search_2, re_match):
48434         (re_match_2, re_set_registers): Use the new types.
48435         * lib/regex_internal.h (Idx, re_hashval_t): New types.
48436         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
48437         New macros.
48438         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
48439         (re_string_context_at, bin_tree_t, re_dfastate_t):
48440         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
48441         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
48442         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
48443         (re_string_char_size_at, re_string_wchar_at):
48444         (re_string_elem_size_at):
48445         Use the new types and macros to port to 64-bit hosts.
48446         Use unsigned types for internal values, so that the code
48447         mostly works even for arrays larger than SSIZE_MAX.
48448         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
48449         (search_duplicated_node, calc_eclosure_iter, fetch_number):
48450         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
48451         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
48452         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
48453         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
48454         (calc_inveclosure, parse_dup_op, build_range_exp):
48455         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
48456         (fetch_number, create_token_tree, mark_opt_subexp):
48457         Likewise.
48458         * lib/regex_internal.c (re_string_construct_common,
48459         create_ci_newstate):
48460         (create_cd_newstate, re_string_allocate, re_string_construct):
48461         (re_string_realloc_buffers, build_wcs_upper_buffer):
48462         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
48463         (re_string_reconstruct, re_string_peek_byte_case):
48464         (re_string_fetch_byte_case, re_string_context_at):
48465         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
48466         (re_node_set_init_copy, re_node_set_add_intersect):
48467         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
48468         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
48469         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
48470         (re_acquire_state, re_acquire_state_context, register_state):
48471         Likewise.
48472         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
48473         search_cur_bkref_entry):
48474         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
48475         (re_search_internal, re_search_2_stub, re_search_stub)
48476         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
48477         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
48478         (update_cur_sifted_state, check_dst_limits):
48479         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
48480         (check_subexp_limits, sift_states_bkref, merge_state_array):
48481         (check_subexp_matching_top, get_subexp, get_subexp_sub):
48482         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
48483         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
48484         (expand_bkref_cache, check_node_accept_bytes):
48485         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
48486         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
48487         (acquire_init_state_context, check_halt_node_context):
48488         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
48489         (sift_states_backward, clean_state_log_if_needed):
48490         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
48491         (find_recover_state, transit_state_sb, transit_state_mb):
48492         (transit_state_bkref, build_trtable, match_ctx_clean):
48493         Likewise.
48494         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
48495         to work around an assumption that REG_MISSING is negative.
48496
48497         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
48498         (seek_collating_symbol_entry) [defined _LIBC]:
48499         (lookup_collation_sequence_value) [defined _LIBC]:
48500         (build_range_exp, build_collating_symbol) [defined _LIBC]:
48501         Use prototypes rather than old-style function definitions.
48502         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
48503         (transit_state_sb) [0]:
48504         (find_collation_sequence_value) [defined _LIBC]: Likewise.
48505
48506         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
48507         rm_eo.
48508
48509         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
48510         (optimize_subexps, lower_subexp):
48511         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
48512         since the signed shift might overflow.  Use 1u<<31 instead.
48513         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
48514         Likewise.
48515         * lib/regexec.c (check_dst_limits_calc_pos_1,
48516         check_subexp_matching_top): Likewise.
48517
48518         * lib/regcomp.c (optimize_subexps, lower_subexp):
48519         Use CHAR_BIT rather than 8, for clarity.
48520         * lib/regexec.c (check_dst_limits_calc_pos_1):
48521         (check_subexp_matching_top): Likewise.
48522         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
48523         have to worry about portability issues when shifting it left.
48524         Remove no-longer-needed test for table_size > 0.
48525         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
48526         in a word, as the resulting behavior is undefined.
48527         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
48528         in one case, a <= should have been an <, and in another case the
48529         whole test was missing.
48530         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
48531         the standard name CHAR_BIT.
48532         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
48533         this is not true on one's complement and signed-magnitude hosts.
48534
48535         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
48536         next_last_offset.
48537         (struct re_dfa_t): Remove unused member states_alloc.
48538         * lib/regcomp.c (init_dfa): Don't initialize unused members.
48539
48540 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48541
48542         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
48543         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
48544         and large-file glibc and in 32-bit large-file Solaris.
48545
48546 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48547
48548         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
48549         lengths fit in regoff_t; this isn't true if regoff_t is the same
48550         width as size_t.
48551         * lib/regex.c (re_search_internal): 5th arg is LAST_START
48552         (= START + RANGE) instead of RANGE.  This avoids overflow
48553         problems when regoff_t is the same width as size_t.
48554         All callers changed.
48555         (re_search_2_stub): Check for overflow when adding the
48556         sizes of the two strings.
48557         (re_search_stub): Check for overflow when adding START
48558         to RANGE; if it occurs, substitute the extreme value.
48559
48560 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48561
48562         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
48563
48564 2005-08-31  Jim Meyering  <jim@meyering.net>
48565
48566         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
48567         a pointer-to-const.
48568         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
48569         (register_state): Likewise.
48570         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
48571         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
48572         (group_nodes_into_DFAstates): Likewise.
48573
48574 2005-08-31  Jim Meyering  <jim@meyering.net>
48575
48576         * check-module: Add a FIXME comment.
48577
48578 2005-08-31  Eric Blake  <ebb9@byu.net>
48579
48580         * modules/unistd-safer (Files): Add unistd--.h.
48581         * modules/stdio-safer (Files): Add stdio--.h.
48582
48583 2005-08-31  Derek Price  <derek@ximbiot.com>
48584
48585         * lib/getdelim.c (getdelim): Return EOF on EOF.
48586         Reported by Larry Jones <lawrence.jones@ugs.com>.
48587
48588 2005-08-31  Bruno Haible  <bruno@clisp.org>
48589
48590         Avoid unnecessary diffs in the generated lib/Makefile.am.
48591         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
48592         the generated files.
48593         (func_import): Don't set cmd.
48594
48595 2005-08-31  Bruno Haible  <bruno@clisp.org>
48596
48597         * lib/strstr.c: Include <stddef.h>, for NULL.
48598         * lib/strcasestr.c: Likewise.
48599         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48600
48601 2005-08-31  Bruno Haible  <bruno@clisp.org>
48602
48603         * gnulib-tool: New option --macro-prefix.
48604         (func_import): Use macro_prefix.
48605         (import): Handle option --macro-prefix.
48606
48607 2005-08-31  Bruno Haible  <bruno@clisp.org>
48608
48609         * gnulib-tool (import): Rename most ac_* variables to cached_*.
48610         Also use new variables cached_lgpl, cached_libtool.
48611
48612 2005-08-31  Bruno Haible  <bruno@clisp.org>
48613
48614         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
48615         always instantiating them.
48616
48617 2005-08-31  Bruno Haible  <bruno@clisp.org>
48618
48619         * gnulib-tool (func_import): Read the previous cached settings
48620         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
48621         earlier added by gnulib but are now dropped. Warn when a gnulib file
48622         overwrites a non-gnulib file.
48623
48624 2005-08-31  Bruno Haible  <bruno@clisp.org>
48625
48626         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
48627         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
48628         projects that don't keep autogenerated files in CVS. Put into
48629         actioncmd only the specified modules, not the transitive closure.
48630
48631 2005-08-31  Bruno Haible  <bruno@clisp.org>
48632
48633         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
48634         Create directories that shall be filled.
48635         (import): Don't look for gl_* macros in configure.ac. Recurse across
48636         all directories containing a gnulib-cache.m4 files, if meaningful.
48637
48638 2005-08-31  Bruno Haible  <bruno@clisp.org>
48639
48640         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
48641         (import): Set seen_libtool when we see gl_LIBTOOL.
48642
48643 2005-08-31  Bruno Haible  <bruno@clisp.org>
48644
48645         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
48646         declaration macro definitions from generated gnulib.m4.
48647
48648 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
48649
48650         * lib/iconvme.h: Add prototype for iconv_alloc.
48651
48652 2005-08-29  Simon Josefsson  <jas@extundo.com>
48653
48654         * lib/iconvme.c: Fix errno.
48655
48656 2005-08-29  Bruno Haible  <bruno@clisp.org>
48657
48658         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
48659         that it works when the directory contains spaces.
48660
48661 2005-08-29  Bruno Haible  <bruno@clisp.org>
48662
48663         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
48664
48665 2005-08-29  Bruno Haible  <bruno@clisp.org>
48666
48667         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
48668         Emit more advice.
48669
48670 2005-08-29  Bruno Haible  <bruno@clisp.org>
48671         and Stepan Kasal  <kasal@ucw.cz>
48672
48673         * check-module: If more parameters are given, check each of them
48674         separately; add more exceptions, as noted by Jim Meyering.
48675         (check_module): New procedure.
48676         (%exempt_header): Now contains all exceptions.
48677
48678 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
48679
48680         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
48681
48682 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
48683
48684         * lib/iconvme.c: Split iconv_string into iconv_alloc.
48685
48686 2005-08-28  Bruno Haible  <bruno@clisp.org>
48687
48688         * m4/gnulib-tool.m4: New file.
48689
48690 2005-08-27  Jim Meyering  <jim@meyering.net>
48691
48692         * modules/unistd-safer (Files): Add pipe-safer.c.
48693         * modules/fcntl-safer (Files): Add creat-safer.c.
48694
48695 2005-08-27  Jim Meyering  <jim@meyering.net>
48696
48697         * m4/stdlib-safer.m4: New file.  From coreutils.
48698         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
48699         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
48700         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
48701         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
48702         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
48703
48704 2005-08-27  Jim Meyering  <jim@meyering.net>
48705
48706         * lib/fopen-safer.c: Merge minor changes from coreutils.
48707         * lib/dup-safer.c: Likewise.
48708         * lib/fd-safer.c: Likewise.
48709
48710         Merge from coreutils.
48711         * lib/stdio--.h: New file.
48712         * lib/stdlib--.h: New file.
48713         * lib/mkstemp-safer.c: New file.
48714
48715         GNU tar needs these.
48716         * lib/pipe-safer.c: New file.
48717         * lib/creat-safer.c: New file.
48718         * lib/fcntl--.h (creat): Define to creat_safer.
48719         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
48720         * lib/unistd--.h (pipe): Define to pipe_safer.
48721         * lib/unistd-safer.h: Declare pipe_safer.
48722
48723 2005-08-26  Simon Josefsson  <jas@extundo.com>
48724
48725         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
48726         Haible <bruno@clisp.org>.
48727
48728 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
48729
48730         * lib/regex_internal.h: Remove all references to
48731         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
48732         or better.
48733         (bitset_not, bitset_merge, bitset_not_merge):
48734         (bitset_mask, re_string_allocate, re_string_construct):
48735         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
48736         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
48737         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
48738         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
48739         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
48740         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
48741         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
48742         (re_acquire_state_context):
48743         Remove unnecessary forward decls.
48744         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
48745         Put __attribute at function definition,
48746         now that the function decl has been removed.
48747         * lib/regex_internal.c (re_string_peek_byte_case):
48748         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
48749         Likewise.
48750
48751 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
48752
48753         * m4/regex.m4: Add AC_PREREQ(2.50).
48754         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
48755
48756 2005-08-25  Simon Josefsson  <jas@extundo.com>
48757
48758         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
48759         __fsetlocking.
48760
48761 2005-08-25  Simon Josefsson  <jas@extundo.com>
48762
48763         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
48764         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
48765         GLIBC specific code.
48766
48767 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48768
48769         Make regex safe for g++.  This fixes one real bug (an "err"
48770         that should have been "*err").  g++ problem reported by
48771         Sam Steingold.
48772         * lib/regex_internal.h (re_calloc): New macro, consistent with
48773         re_malloc etc.  All callers of calloc changed to use re_calloc.
48774         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
48775         not int.  All callers changed.
48776         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
48777         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
48778         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
48779         (find_recover_state): Change "err" to "*err"; this fixes what
48780         appears to be a real bug.
48781         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
48782         versus int.
48783
48784 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48785
48786         * modules/regex (Depends-on): Add malloc, since the code
48787         assumes that !malloc(0) means failure.
48788
48789 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48790
48791         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
48792
48793         alloca modernization/simplification for regex.
48794         * lib/regex.c: Remove portability cruft for alloca.  This no longer
48795         needs to be at the start of the file, and can be moved into
48796         regex_internal.h and simplified.
48797         * lib/regex_internal.h: Include <alloca.h>.
48798         (__libc_use_alloca) [!defined _LIBC]: New macro.
48799         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
48800         now works outside glibc.
48801
48802 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48803
48804         * config/srclist.txt: Add glibc bugs 1241, 1245.
48805
48806 2005-08-25  Jim Meyering  <jim@meyering.net>
48807
48808         * lib/open-safer.c: Include <config.h>.
48809         Otherwise, we'd lose LARGEFILE support in any file using
48810         e.g. "fcntl--.h"
48811
48812 2005-08-25  Bruno Haible  <bruno@clisp.org>
48813
48814         * m4/minmax.m4: Require autoconf 2.52.
48815         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
48816         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
48817         alternatives of translit over the alphabet.
48818         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
48819
48820 2005-08-24  Simon Josefsson  <jas@extundo.com>
48821
48822         * tests/test-getpass.c: New file.
48823
48824 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48825
48826         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
48827         for GNU regex features.
48828
48829 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48830
48831         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
48832         * lib/regex.h (regerror): Likewise.
48833
48834         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
48835         requires this.  (The code never needed it.)
48836
48837         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
48838         All uses of recently-renamed identifiers changed to use the new,
48839         POSIX-compliant names.  The code will build and run just fine
48840         without these changes, but it's better to eat our own dog food
48841         and use the standard-conforming names.
48842
48843         * lib/regex.h: Fix a multitude of POSIX name space violations.
48844         These changes have an effect only for programs that define
48845         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
48846         do not change anything for programs compiled in the normal way.
48847         Also, there is no effect on the ABI.
48848
48849         (_REGEX_SOURCE): New macro.
48850         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
48851         defined and _GNU_SOURCE is not; this fixes a name space violation.
48852
48853         Rename the following macros to obey POSIX requirements.
48854         The old names are still visible as macros if _REGEX_SOURCE is defined.
48855         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
48856         RE_BACKSLASH_ESCAPE_IN_LISTS.
48857         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
48858         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
48859         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
48860         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
48861         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
48862         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
48863         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
48864         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
48865         (REG_INTERVALS): renamed from RE_INTERVALS.
48866         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
48867         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
48868         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
48869         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
48870         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
48871         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
48872         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
48873         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
48874         RE_UNMATCHED_RIGHT_PAREN_ORD.
48875         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
48876         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
48877         (REG_DEBUG): renamed from RE_DEBUG.
48878         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
48879         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
48880         unusual, since we can't clash with the POSIX REG_ICASE.
48881         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
48882         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
48883         (REG_NO_SUB): renamed from RE_NO_SUB.
48884         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
48885         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
48886         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
48887         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
48888         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
48889         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
48890         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
48891         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
48892         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
48893         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
48894         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
48895         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
48896         RE_SYNTAX_POSIX_MINIMAL_BASIC.
48897         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
48898         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
48899         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
48900         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
48901         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
48902         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
48903         (REG_FIXED): Renamed from REGS_FIXED.
48904         (REG_NREGS): Renamed from RE_NREGS.
48905
48906         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
48907         of other REG_* macros, since POSIX says the user is allowed to
48908         #undef these macros selectively.
48909
48910         (reg_errcode_t): Update comment stating what other tables need
48911         to be consistent.
48912
48913         Rename the following enum values to obey POSIX requirements.
48914         The old names are still visible as macros.
48915         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
48916         is not defined, since GNU is supposed to be a superset of POSIX as
48917         much as possible, and since we want reg_errcode_t to be a signed
48918         type for implementation consistency.
48919         (_REG_NOERROR): Renamed from REG_NOERROR.
48920         (_REG_NOMATCH): Renamed from REG_NOMATCH.
48921         (_REG_BADPAT): Renamed from REG_BADPAT.
48922         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
48923         (_REG_ECTYPE): Renamed from REG_ECTYPE.
48924         (_REG_EESCAPE): Renamed from REG_EESCAPE.
48925         (_REG_ESUBREG): Renamed from REG_ESUBREG.
48926         (_REG_EBRACK): Renamed from REG_EBRACK.
48927         (_REG_EPAREN): Renamed from REG_EPAREN.
48928         (_REG_EBRACE): Renamed from REG_EBRACE.
48929         (_REG_BADBR): Renamed from REG_BADBR.
48930         (_REG_ERANGE): Renamed from REG_ERANGE.
48931         (_REG_ESPACE): Renamed from REG_ESPACE.
48932         (_REG_BADRPT): Renamed from REG_BADRPT.
48933         (_REG_EEND): Renamed from REG_EEND.
48934         (_REG_ESIZE): Renamed from REG_ESIZE.
48935         (_REG_ERPAREN): Renamed from REG_ERPAREN.
48936         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
48937         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
48938         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
48939         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
48940
48941         (_REG_RE_NAME, _REG_RM_NAME): New macros.
48942         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
48943         changed.  But support the old name if the new one is not defined
48944         and if _REGEX_SOURCE.
48945
48946         Change the following member names in struct re_pattern_buffer.
48947         The old names are still supported if !_REGEX_SOURCE.
48948         The new names are always supported, regardless of _REGEX_SOURCE.
48949         (re_buffer): Renamed from buffer.
48950         (re_allocated): Renamed from allocated.
48951         (re_used): Renamed from used.
48952         (re_syntax): Renamed from syntax.
48953         (re_fastmap): Renamed from fastmap.
48954         (re_translate): Renamed from translate.
48955         (re_can_be_null): Renamed from can_be_null.
48956         (re_regs_allocated): Renamed from regs_allocated.
48957         (re_fastmap_accurate): Renamed from fastmap_accurate.
48958         (re_no_sub): Renamed from no_sub.
48959         (re_not_bol): Renamed from not_bol.
48960         (re_not_eol): Renamed from not_eol.
48961         (re_newline_anchor): Renamed from newline_anchor.
48962
48963         Change the following member names in struct re_registers.
48964         The old names are still supported if !_REGEX_SOURCE.
48965         The new names are always supported, regardless of _REGEX_SOURCE.
48966         (rm_num_regs): Renamed from num_regs.
48967         (rm_start): Renamed from start.
48968         (rm_end): Renamed from end.
48969
48970         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
48971         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
48972         Prepend __ to parameter names.
48973
48974         Undo yesterday's changes.
48975
48976 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48977
48978         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
48979         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
48980         lib/regex.c.
48981
48982 2005-08-24  Jim Meyering  <jim@meyering.net>
48983
48984         Sync from coreutils.
48985         * m4/fcntl-safer.m4: New file.
48986
48987         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
48988         and object files for this module.
48989
48990 2005-08-24  Jim Meyering  <jim@meyering.net>
48991
48992         Sync from coreutils.
48993         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
48994
48995 2005-08-24  Jim Meyering  <jim@meyering.net>
48996
48997         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
48998         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
48999
49000 2005-08-24  Jim Meyering  <jim@meyering.net>
49001
49002         * modules/fcntl-safer: New module.
49003         * modules/fts (Depends-on): Add fcntl-safer.
49004         * MODULES.html.sh (File descriptor based Input/Output):
49005         Add fcntl-safer.
49006
49007 2005-08-24  Bruno Haible  <bruno@clisp.org>
49008
49009         Support for unit test modules.
49010         * modules/README: Mention tests modules.
49011         * modules/TEMPLATE-TESTS: New file.
49012         * gnulib-tool: New options --extract-tests-module, --with-tests and
49013         --tests-base (unused for the moment).
49014         (testsbase, inctests): New variables.
49015         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
49016         (func_verify_module): Exclude TEMPLATE-TESTS.
49017         (func_verify_nontests_module, func_verify_tests_module): New functions.
49018         (func_get_dependencies): Add implicit dependency for tests modules.
49019         (func_get_tests_module): New function.
49020         (func_modules_transitive_closure): When --with-tests was specified,
49021         include the unit tests as well, unless explicitly avoided.
49022         (func_emit_lib_Makefile_am): Ignore the tests modules here.
49023         (func_emit_tests_Makefile_am): New function.
49024         (func_create_testdir): When --with-tests was specified, emit a
49025         tests/ directory.
49026         * MODULES.html.sh (Future developments): Update.
49027
49028 2005-08-24  Bruno Haible  <bruno@clisp.org>
49029
49030         * modules/tls-tests: New file.
49031         * tests/test-tls.c: New file, from GNU gettext.
49032
49033 2005-08-24  Bruno Haible  <bruno@clisp.org>
49034
49035         * modules/lock-tests: New file.
49036         * tests/test-lock.c: New file, from GNU gettext.
49037
49038 2005-08-24  Bruno Haible  <bruno@clisp.org>
49039
49040         * lib/lock.h: Add multiple inclusion guard.
49041         * lib/tls.h: Add multiple inclusion guard.
49042
49043 2005-08-24  Bruno Haible  <bruno@clisp.org>
49044
49045         * gnulib-tool: Add support for the --aux-dir option to
49046         --create-testdir, --create-megatestdir, --test, --megatest.
49047         (func_create_testdir, func_create_megatestdir): Optionally emit a
49048         AC_CONFIG_AUX_DIR directive.
49049         (create-testdir, create-megatestdir, test, megatest): Provide a
49050         default value for $auxdir.
49051
49052 2005-08-24  Bruno Haible  <bruno@clisp.org>
49053
49054         * gnulib-tool (import): Use compound statement instead of subshell
49055         where possible.
49056
49057 2005-08-24  Bruno Haible  <bruno@clisp.org>
49058
49059         * gnulib-tool (import): Change --aux-dir default to "build-aux".
49060
49061 2005-08-24  Bruno Haible  <bruno@clisp.org>
49062
49063         * gnulib-tool (func_version): Update.
49064
49065 2005-08-24  Bruno Haible  <bruno@clisp.org>
49066
49067         * gnulib-tool (func_import, func_create_testdir,
49068         func_create_megatestdir): Quote all autoconf macro arguments.
49069
49070 2005-08-24  Bruno Haible  <bruno@clisp.org>
49071
49072         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
49073         option --force, because --force causes the aclocal.m4 of each
49074         subdirectory to be newer than the corresponding config.h.in.
49075
49076 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
49077
49078         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
49079         All contents moved to gl_REGEX.
49080         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
49081         assume that it does.
49082
49083 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
49084
49085         * lib/regex.h (REG_NOSYS)
49086         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
49087         Define, since POSIX requires it as of 2001.
49088         (_REG_ENOSYS)
49089         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
49090         New private symbol, used to keep the enum signed in all cases.
49091         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
49092         Youngman in
49093         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
49094
49095         * lib/regex_internal.c (re_string_skip_chars, register_state):
49096         (calc_state_hash):
49097         Remove forward decls; no longer needed now that we use prototypes.
49098         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
49099         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
49100         (clean_state_log_if_needed): Likewise.
49101
49102 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
49103
49104         * config/srclist.txt: Add glibc bugs 1231-1233.
49105
49106 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
49107
49108         Fix problems reported by Sam Steingold in
49109         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
49110         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
49111         assumed that reg_errcode_t is a signed type, which is not
49112         necessarily true if _XOPEN_SOURCE is not defined.
49113         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
49114         since some compilers warn about it otherwise.
49115
49116 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
49117
49118         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
49119         (init_word_char, create_initial_state, duplicate_node_closure):
49120         (fetch_token, peek_token_bracket, build_range_exp):
49121         (build_collating_symbol): Remove forward decls; no longer needed
49122         now that we use prototypes.
49123
49124         * lib/regcomp.c:
49125         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
49126         (re_compile_fastmap_iter, regcomp, regerror, regfree):
49127         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
49128         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
49129         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
49130         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
49131         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
49132         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
49133         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
49134         (build_range_exp, build_collating_symbol, parse_bracket_exp):
49135         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
49136         (build_charclass, build_charclass_op, fetch_number, create_tree):
49137         (create_token_tree, mark_opt_subexp, duplicate_tree):
49138         Use prototypes rather than old-style definitions.
49139
49140         * lib/regex_internal.c:
49141         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
49142         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
49143         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
49144         (re_string_reconstruct, re_string_peek_byte_case):
49145         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
49146         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
49147         (re_node_set_init_copy, re_node_set_add_intersect):
49148         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
49149         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
49150         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
49151         (re_acquire_state, re_acquire_state_context, register_state):
49152         (create_ci_newstate, create_cd_newstate, free_state):
49153         Likewise.
49154         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
49155         re_search_2):
49156         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
49157         (re_search_internal, prune_impossible_nodes):
49158         (acquire_init_state_context, check_matching, static):
49159         (check_halt_node_context, check_halt_state_context, proceed_next_node):
49160         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
49161         (update_regs, sift_states_backward, build_sifted_states):
49162         (clean_state_log_if_needed, merge_state_array):
49163         (update_cur_sifted_state, add_epsilon_src_nodes):
49164         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
49165         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
49166         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
49167         (find_recover_state, check_subexp_matching_top, transit_state_mb):
49168         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
49169         (check_arrival, check_arrival_add_next_nodes):
49170         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
49171         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
49172         (check_node_accept_bytes, check_node_accept, extend_buffers):
49173         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
49174         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
49175         (sift_ctx_init):
49176         Likewise.
49177
49178         * lib/regex_internal.h:
49179         (re_string_allocate, re_string_construct, re_string_reconstruct):
49180         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
49181         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
49182         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
49183         (re_string_context_at, re_string_peek_byte_case):
49184         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
49185         is defined, since we now use prototypes always.
49186
49187         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
49188         C89 or better.  All uses removed.
49189
49190 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
49191
49192         * config/srclist.txt: Add glibc bugs 1220-1227.
49193
49194 2005-08-20  Jim Meyering  <jim@meyering.net>
49195
49196         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
49197         of unused local, dfa.
49198
49199 2005-08-20  Bruno Haible  <bruno@clisp.org>
49200
49201         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
49202
49203 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49204
49205         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
49206         (re_node_set_insert_last, re_dfa_add_node):
49207         Rename local variables to avoid GCC shadowing warnings.
49208
49209 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49210
49211         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
49212         [defined lint]: Suppress bogus uninitialized-variable warnings.
49213
49214         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
49215         and let the caller return REG_ESPACE if out of space.  This
49216         removes an uninitialied-variable warning with GCC 4.0.1, and also
49217         avoids taking the address of a local variable.  All callers
49218         changed.
49219
49220 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49221
49222         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
49223         $LIBCSRC/posix/regexec.c.
49224         Add glibc bug 1217 for regcomp.c.
49225
49226 2005-08-19  Jim Meyering  <jim@meyering.net>
49227
49228         * lib/regexec.c (proceed_next_node): Redo local variables to
49229         avoid GCC shadowing warnings.
49230
49231 2005-08-18  Bruno Haible  <bruno@clisp.org>
49232
49233         * lib/strstr.c (strstr): Fix return value in multibyte case.
49234         * lib/strcasestr.c (strcasestr): Likewise.
49235
49236 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
49237
49238         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
49239
49240 2005-08-17  Jim Meyering  <jim@meyering.net>
49241
49242         Make the %s format (seconds since the epoch) work for a negative
49243         number and when used with a zero-padded field width, e.g. %015s.
49244
49245         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
49246         label so that it precedes the code to set `digits'.  Otherwise,
49247         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
49248         print `00-22'.  Now, it prints `-0022', as it should.
49249
49250 2005-08-17  Bruno Haible  <bruno@clisp.org>
49251
49252         * modules/strstr (Files): Add m4/mbrtowc.m4.
49253         (Depends-on): Add mbuiter.
49254
49255 2005-08-17  Bruno Haible  <bruno@clisp.org>
49256
49257         * modules/strcasestr: New file.
49258         * MODULES.html.sh (String handling, based on ANSI C 89): Add
49259         strcasestr.
49260
49261 2005-08-17  Bruno Haible  <bruno@clisp.org>
49262
49263         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
49264
49265 2005-08-17  Bruno Haible  <bruno@clisp.org>
49266
49267         * modules/mbuiter: New file.
49268         * MODULES.html.sh (Extended multibyte and wide character utilities):
49269         Add mbuiter.
49270
49271 2005-08-17  Bruno Haible  <bruno@clisp.org>
49272
49273         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
49274         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
49275
49276 2005-08-17  Bruno Haible  <bruno@clisp.org>
49277
49278         * m4/strcasestr.m4: New file.
49279
49280 2005-08-17  Bruno Haible  <bruno@clisp.org>
49281
49282         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
49283         * lib/strstr.c: Completely rewritten, with multibyte locale support.
49284
49285 2005-08-17  Bruno Haible  <bruno@clisp.org>
49286
49287         * lib/strcasestr.h: New file.
49288         * lib/strcasestr.c: New file.
49289
49290 2005-08-17  Bruno Haible  <bruno@clisp.org>
49291
49292         * lib/strcasecmp.c: Use mbuiter.h.
49293
49294 2005-08-17  Bruno Haible  <bruno@clisp.org>
49295
49296         * lib/mbuiter.h: New file.
49297
49298 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
49299
49300         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
49301         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
49302         and gl_GETOPT are both invoked via different paths (as happens
49303         with GNU tar CVS because it uses both argp and getopt), the former
49304         wins.
49305
49306 2005-08-16  Bruno Haible  <bruno@clisp.org>
49307
49308         * modules/tls: New file.
49309         * MODULES.html.sh (Multithreading): Add tls.
49310
49311 2005-08-16  Bruno Haible  <bruno@clisp.org>
49312
49313         * modules/strnlen1: New file.
49314         * MODULES.html.sh (String handling): Add strnlen1.
49315
49316 2005-08-16  Bruno Haible  <bruno@clisp.org>
49317
49318         * modules/strcase (Files): Add m4/mbrtowc.m4.
49319         (Depends-on): Add strnlen1, mbchar.
49320
49321 2005-08-16  Bruno Haible  <bruno@clisp.org>
49322
49323         * modules/mbiter: New file.
49324         * MODULES.html.sh (Extended multibyte and wide character utilities):
49325         Add mbiter.
49326
49327 2005-08-16  Bruno Haible  <bruno@clisp.org>
49328
49329         * modules/mbfile: New file.
49330         * MODULES.html.sh (Extended multibyte and wide character utilities):
49331         Add mbfile.
49332
49333 2005-08-16  Bruno Haible  <bruno@clisp.org>
49334
49335         * modules/mbchar: New file.
49336         * MODULES.html.sh (Extended multibyte and wide character utilities):
49337         New section.
49338
49339 2005-08-16  Bruno Haible  <bruno@clisp.org>
49340
49341         * m4/tls.m4: New file, from GNU gettext.
49342
49343 2005-08-16  Bruno Haible  <bruno@clisp.org>
49344
49345         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
49346         always.
49347         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
49348
49349 2005-08-16  Bruno Haible  <bruno@clisp.org>
49350
49351         * m4/mbiter.m4: New file.
49352
49353 2005-08-16  Bruno Haible  <bruno@clisp.org>
49354
49355         * m4/mbfile.m4: New file.
49356
49357 2005-08-16  Bruno Haible  <bruno@clisp.org>
49358
49359         * m4/mbchar.m4: New file.
49360
49361 2005-08-16  Bruno Haible  <bruno@clisp.org>
49362
49363         * lib/tls.h: New file, from GNU gettext.
49364         * lib/tls.c: New file, from GNU gettext.
49365
49366 2005-08-16  Bruno Haible  <bruno@clisp.org>
49367
49368         * lib/strnlen1.h: New file.
49369         * lib/strnlen1.c: New file.
49370
49371 2005-08-16  Bruno Haible  <bruno@clisp.org>
49372
49373         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
49374         (mbi_init): Update.
49375         (mbi_avail, mbi_advance): Let the iteration end before the terminating
49376         NUL byte, not after it.
49377
49378 2005-08-16  Bruno Haible  <bruno@clisp.org>
49379
49380         * lib/strcase.h (strcasecmp): Add note in comments.
49381         * lib/strncasecmp.c: Use code from strcasecmp.c.
49382         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
49383         (strcasecmp): Work correctly in multibyte locales.
49384
49385 2005-08-16  Bruno Haible  <bruno@clisp.org>
49386
49387         * lib/mbiter.h: New file.
49388
49389 2005-08-16  Bruno Haible  <bruno@clisp.org>
49390
49391         * lib/mbfile.h: New file.
49392
49393 2005-08-16  Bruno Haible  <bruno@clisp.org>
49394
49395         * lib/mbchar.h: New file.
49396         * lib/mbchar.c: New file.
49397
49398 2005-08-16  Bruno Haible  <bruno@clisp.org>
49399
49400         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
49401         the valid ones. Makes the comparison operations transitive:
49402         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
49403         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
49404
49405 2005-08-15  Simon Josefsson  <jas@extundo.com>
49406
49407         * modules/ssize_t (License): Change to 'unlimited'.
49408
49409         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
49410
49411 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49412
49413         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
49414         Add comments for each pending glibc patch.
49415
49416 2005-08-15  Bruno Haible  <bruno@clisp.org>
49417
49418         * lib/regex.h (__restrict_arr): Don't define to __restrict if
49419         __cplusplus is defined.
49420
49421 2005-08-14  Jim Meyering  <jim@meyering.net>
49422
49423         Sync from coreutils.
49424
49425         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
49426         Use the hash-table-based cycle-detection code not just when
49427         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
49428         Reported by James Youngman in
49429         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
49430         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
49431         FTS_TIGHT_CYCLE_CHECK.
49432         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
49433         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
49434         once again.
49435         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
49436         * lib/fts.c (fd_safer): Remove decl.
49437         Include fcntl--.h rather than unistd-safer.h
49438         (fts_safe_changedir): Don't call fd_safer; no longer needed
49439         now that we include fcntl--.h.
49440
49441 2005-08-12  Simon Josefsson  <jas@extundo.com>
49442
49443         * modules/getndelim2: Use ssize_t module.
49444         * modules/getnline: Likewise.
49445         * modules/safe-read: Likewise.
49446         * modules/xreadlink: Likewise.
49447
49448         * modules/ssize_t: New file.
49449
49450 2005-08-12  Simon Josefsson  <jas@extundo.com>
49451
49452         * m4/readline.m4: Look for termcap, curses or ncurses if required.
49453
49454 2005-08-12  Simon Josefsson  <jas@extundo.com>
49455
49456         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49457         ssize_t.
49458
49459 2005-08-12  Simon Josefsson  <jas@extundo.com>
49460
49461         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
49462         readline, getdelim and check_version.
49463         (Support for systems lacking ISO C 99: Sizes of integer types):
49464         Add size_max.
49465
49466 2005-08-12  Bruno Haible  <bruno@clisp.org>
49467
49468         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
49469
49470 2005-08-11  Simon Josefsson  <jas@extundo.com>
49471
49472         * modules/readline: New file.
49473
49474         * modules/strnlen (Files): Add strnlen.h.
49475
49476 2005-08-11  Simon Josefsson  <jas@extundo.com>
49477
49478         * m4/readline.m4: New file.
49479
49480 2005-08-11  Simon Josefsson  <jas@extundo.com>
49481
49482         * lib/readline.h, readline.c: New file.
49483
49484 2005-08-11  Simon Josefsson  <jas@extundo.com>
49485
49486         * doc/gnulib.texi (Initial import, Finishing touches): Mention
49487         gl_AVOID.
49488
49489 2005-08-11  Bruno Haible  <bruno@clisp.org>
49490
49491         * lib/strnlen.h (strnlen): Change parameter name to match comment.
49492
49493 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
49494
49495         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
49496
49497 2005-08-10  Simon Josefsson  <jas@extundo.com>
49498
49499         * tests/test-iconvme.c: New file.
49500
49501 2005-08-10  Simon Josefsson  <jas@extundo.com>
49502
49503         * m4/strnlen.m4: New file.
49504
49505         * m4/strndup.m4: Don't check for strnlen declaration, done in
49506         strnlen.m4.
49507
49508 2005-08-10  Simon Josefsson  <jas@extundo.com>
49509
49510         * lib/strndup.c: Use strnlen.h.
49511
49512         * lib/strnlen.h: New file.
49513
49514 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
49515
49516         * README: Typos.
49517
49518 2005-08-02  Simon Josefsson  <jas@extundo.com>
49519
49520         * modules/readline: New file.
49521
49522 2005-08-02  Simon Josefsson  <jas@extundo.com>
49523
49524         * modules/getdelim: New file.
49525
49526         * modules/getline: Rewrite, don't use getndelim2.
49527
49528 2005-08-02  Simon Josefsson  <jas@extundo.com>
49529
49530         * m4/getline.m4: Separate out getdelim stuff into separate module.
49531
49532         * m4/getdelim.m4: New file.
49533
49534 2005-08-02  Simon Josefsson  <jas@extundo.com>
49535
49536         * lib/getline.h, getline.c: Rewrite.
49537
49538         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
49539
49540 2005-07-31  Bruno Haible  <bruno@clisp.org>
49541
49542         * lib/lock.h (gl_lock_initializer): New macro.
49543         (gl_lock_define_initialized): Use it.
49544         (gl_rwlock_initializer): New macro.
49545         (gl_rwlock_define_initialized): Use it.
49546         (gl_recursive_lock_initializer): New macro.
49547         (gl_recursive_lock_define_initialized): Use it.
49548
49549 2005-07-30  Karl Berry  <karl@gnu.org>
49550
49551         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
49552         Report from Ben Pfaff, regarding getopt.
49553
49554 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
49555
49556         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
49557         normal way.
49558         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
49559         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
49560         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
49561         (gl_GETOPT): Use the new macros.  Most of the implementation
49562         is moved to the new macros.  This is for programs like Emacs
49563         that don't want all the functionality of gl_GETOPT.
49564
49565 2005-07-26  Bruno Haible  <bruno@clisp.org>
49566
49567         * m4/lock.m4: Update from GNU gettext.
49568
49569 2005-07-26  Bruno Haible  <bruno@clisp.org>
49570
49571         * lib/lock.h: Update from GNU gettext.
49572         * lib/lock.c: Update from GNU gettext.
49573
49574 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
49575
49576         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
49577         obsolescent AC_TRY_RUN.  Include the default includes files, for
49578         'exit'.
49579
49580 2005-07-24  Bruno Haible  <bruno@clisp.org>
49581
49582         * modules/visibility: New file.
49583         * MODULES.html.sh (Misc): Add visibility.
49584
49585 2005-07-24  Bruno Haible  <bruno@clisp.org>
49586
49587         * m4/visibility.m4: New file.
49588
49589 2005-07-24  Bruno Haible  <bruno@clisp.org>
49590
49591         * doc/visibility.texi: New file.
49592
49593 2005-07-22  Bruno Haible  <bruno@clisp.org>
49594
49595         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
49596         $(ALLOCA_H), redundant through BUILT_SOURCES.
49597         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
49598         redundant through BUILT_SOURCES.
49599         * modules/byteswap (Makefile.am): Remove explicit dependency on
49600         $(BYTESWAP_H), redundant through BUILT_SOURCES.
49601         * modules/fnmatch (Makefile.am): Remove explicit dependency on
49602         $(FNMATCH_H), redundant through BUILT_SOURCES.
49603         * modules/getopt (Makefile.am): Remove explicit dependency on
49604         $(GETOPT_H), redundant through BUILT_SOURCES.
49605         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
49606         redundant through BUILT_SOURCES.
49607         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
49608         redundant through BUILT_SOURCES.
49609         * modules/stdbool (Makefile.am): Remove explicit dependency on
49610         $(STDBOOL_H), redundant through BUILT_SOURCES.
49611         * modules/stdint (Makefile.am): Remove explicit dependency on
49612         $(STDINT_H), redundant through BUILT_SOURCES.
49613         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
49614         Remove explicit dependency on $(SYSEXITS_H).
49615         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
49616
49617 2005-07-18  Simon Josefsson  <jas@extundo.com>
49618
49619         * lib/check-version.c (check_version): Accept identical versions too.
49620
49621 2005-07-18  Bruno Haible  <bruno@clisp.org>
49622
49623         * modules/lock: New file.
49624         * MODULES.html.sh (Multithreading): New section.
49625
49626 2005-07-18  Bruno Haible  <bruno@clisp.org>
49627
49628         * m4/lock.m4: New file, from GNU gettext.
49629
49630 2005-07-18  Bruno Haible  <bruno@clisp.org>
49631
49632         * lib/lock.h: New file, from GNU gettext.
49633         * lib/lock.c: New file, from GNU gettext.
49634
49635 2005-07-18  Bruno Haible  <bruno@clisp.org>
49636
49637         * lib/lock.h (gl_once_t): New type.
49638         (gl_once_define, gl_once): New macros.
49639         * lib/lock.c (fresh_once): New variable.
49640         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
49641         functions.
49642
49643 2005-07-16  Simon Josefsson  <jas@extundo.com>
49644
49645         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
49646         workaround, suggested by Bruno.
49647
49648 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49649
49650         * modules/xalloc (Depends-on): Add xalloc-die.
49651         * modules/xvasprintf (Depends-on): Add xalloc-die.
49652
49653 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49654
49655         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
49656         with a minor change.
49657
49658 2005-07-15  Bruno Haible  <bruno@clisp.org>
49659
49660         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
49661         When using lib/poll.c, define poll as rpl_poll.
49662
49663 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
49664
49665         * modules/argp (Depends-on): Remove unlocked-io.
49666
49667 2005-07-14  Derek Price  <derek@ximbiot.com>
49668
49669         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
49670         for glob symlink bug.
49671
49672 2005-07-14  Bruno Haible  <bruno@clisp.org>
49673
49674         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
49675         Instead, test for *_unlocked function declarations directly.
49676
49677 2005-07-11  Simon Josefsson  <jas@extundo.com>
49678
49679         * modules/size_max: New file.
49680
49681         * modules/xsize: Depend on size_max module for size_max.m4.
49682
49683 2005-07-11  Simon Josefsson  <jas@extundo.com>
49684
49685         * lib/size_max.h: New file.
49686
49687 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
49688
49689         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
49690         copyright symbol and the year.
49691         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
49692         (version_etc_va): Use parameterized copyright notice.
49693         Reword to conform to the current GNU coding standards.
49694
49695 2005-07-11  Karl Berry  <karl@gnu.org>
49696
49697         * doc/gnulib.texi (Quoting): new node.
49698         (Initial import): more info, from Patrice.
49699
49700 2005-07-11  Bruno Haible  <bruno@clisp.org>
49701
49702         * gnulib-tool (func_usage): Document option --avoid.
49703         (Command line options): Handle --avoid.
49704         (func_acceptable): New function.
49705         (func_modules_transitive_closure): Use it.
49706
49707 2005-07-11  Bruno Haible  <bruno@clisp.org>
49708
49709         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
49710         Reported by Jim Meyering.
49711
49712 2005-07-10  Bruno Haible  <bruno@clisp.org>
49713
49714         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
49715         Needed when size_t is smaller than 'unsigned int'.
49716         Reported by Paul Eggert.
49717
49718 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49719
49720         * modules/argp (Depends-on): Add unlocked-io
49721
49722 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49723
49724         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
49725         block of defines.
49726
49727 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49728
49729         * config/srclist.txt: Comment out regcomp.c, since we have a porting
49730         fix now.
49731
49732 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
49733         and Paul Eggert  <eggert@cs.ucla.edu>
49734
49735         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
49736         in wint_t, not wchar_t.  Remove now-unnecessary cast.
49737
49738 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49739
49740         * modules/regex (Files): Add lib/regex_internal.c,
49741         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
49742         (Depends-on): Add extensions.
49743         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
49744
49745 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49746
49747         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
49748         pathconf.
49749         * m4/same.m4 (gl_SAME): Likewise.
49750         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
49751
49752         * m4/regex.m4: Adjust to new libc regex implementation.
49753         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
49754         all the .c and .h parts of (the new) regex.
49755         Quote the m4 stuff better.
49756         Check for RE_ICASE bug of old gnulib.
49757         Check for REG_STARTEND of recent libc.
49758         Rename local variables from jm_* to gl_*.
49759         Quote operand of "test -f".
49760         Say "recent enough" version of libc, not "version 2".
49761         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
49762         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
49763         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
49764         Remove check for btowc, isascii.
49765         Require AM_LANGINFO_CODESET.
49766
49767 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49768
49769         * lib/regex.c, regex.h: Sync from libc.
49770         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
49771         * lib/regexec.c:
49772         New files, synced from libc, except that regex_internal.h
49773         currently has a small porting fix.
49774
49775 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
49776
49777         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
49778         regex_internal.c, regexec.c.
49779         Add regex_internal.h too, but as a comment, since the libc version
49780         is currently broken in gnulib mode.
49781
49782 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49783
49784         Support programs like Emacs that use gnulib but not gettext.
49785         * MODULES.html.sh (Internationalization functions): Add gettext-h.
49786         * modules/gettext-h: New file.
49787         * modules/gettext (Files): Remove lib/gettext.h.
49788         (Depends-on): Add gettext-h.
49789         (Makefile.am): Remove lib_SOURCES.
49790         * modules/argmatch, modules/c-stack, modules/closeout:
49791         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
49792         * modules/execute, modules/file-type, modules/getaddrinfo:
49793         * modules/getopt, modules/human, modules/javacomp:
49794         * modules/javaexec, modules/mkdir-p, modules/obstack:
49795         * modules/openat, modules/pagealign_alloc, modules/pipe:
49796         * modules/quotearg, modules/regex, modules/rpmatch:
49797         * modules/unicodeio, modules/userspec, modules/version-etc:
49798         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
49799         * modules/xsetenv:
49800         Depend on gettext-h, not gettext.
49801
49802 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
49803
49804         * gnulib-tool (func_import): Add support for 'public domain' license.
49805         * modules/alloca, modules/atexit, modules/memmove:
49806         Now public domain, not GPL.
49807         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
49808         * modules/realloc, modules/strerror, modules/strtod:
49809         Now LGPL, not GPL.
49810
49811 2005-07-05  Bruno Haible  <bruno@clisp.org>
49812
49813         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
49814         autoconf CVS. Needed for mingw.
49815
49816 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49817
49818         Remove the dependency of the strftime module on the tzset module.
49819         * modules/strftime (Depends-on): Remove dependency on tzset.
49820
49821 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49822
49823         Remove the dependency of the strftime module on the tzset module.
49824         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
49825         gl_FUNC_TZSET_CLOBBER.
49826
49827 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49828
49829         Remove the dependency of the strftime module on the tzset module.
49830         * lib/strftime.c (my_strftime)
49831         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
49832         Copy the input structure, to work around some of the bug with
49833         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
49834         Solaris releases, you should also use the tzset module, but we won't
49835         require it as a dependency any more since we don't want LGPLed code
49836         to depend on GPLed code.
49837
49838 2005-07-02  Jim Meyering  <jim@meyering.net>
49839
49840         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
49841         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
49842         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
49843         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
49844
49845 2005-07-02  Jim Meyering  <jim@meyering.net>
49846
49847         * lib/backupfile.c (backup_args): Change a `0' to NULL.
49848
49849 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49850
49851         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
49852         declares only 'struct timespec;' (!).
49853
49854 2005-07-01  Jim Meyering  <jim@meyering.net>
49855
49856         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
49857         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
49858         * lib/save-cwd.c, tempname.c:
49859         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
49860         and don't include <sys/file.h>).
49861
49862 2005-06-29  Jim Meyering  <jim@meyering.net>
49863
49864         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
49865         type name.  Use the variable name instead.
49866         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
49867         Likewise.
49868
49869 2005-06-28  Simon Josefsson  <jas@extundo.com>
49870
49871         * modules/check-version (Files): Add check-version.m4.
49872
49873 2005-06-28  Simon Josefsson  <jas@extundo.com>
49874
49875         * m4/check-version.m4: New file, suggested by Jim Meyering
49876         <jim@meyering.net>.
49877
49878 2005-06-28  Simon Josefsson  <jas@extundo.com>
49879
49880         * lib/check-version.h, lib/check-version.c: New files.
49881
49882 2005-06-28  Simon Josefsson  <jas@extundo.com>
49883
49884         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
49885         collision with global variable.  Better indentation.  Don't
49886         increment buffer pointer beyond buffer end.  Based on comments
49887         from Paul Eggert <eggert@cs.ucla.edu>.
49888
49889         * lib/base64.h: Indent.
49890
49891 2005-06-28  Simon Josefsson  <jas@extundo.com>
49892
49893         * doc/gnulib.texi (Library version handling): New section.
49894
49895 2005-06-28  Jim Meyering  <jim@meyering.net>
49896
49897         * check-module (find_included_lib_files): Hard-code another
49898         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
49899         but modules/fts-lgpl (correctly) does not list those files.
49900
49901         * modules/canonicalize (Files): Add lib/pathmax.h.
49902
49903 2005-06-25  Simon Josefsson  <jas@extundo.com>
49904
49905         * modules/check-version: New file.
49906
49907 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
49908
49909         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
49910         initializer of struct addrinfo, as an indication that we don't
49911         care how many members the structure has.
49912
49913 2005-06-24  Derek Price  <derek@ximbiot.com>
49914         and Bruno Haible  <bruno@clisp.org>
49915
49916         Remove stat module & update lstat.
49917         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
49918         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
49919         * m4/stat.m4: Remove this file.
49920
49921 2005-06-24  Derek Price  <derek@ximbiot.com>
49922         and Bruno Haible  <bruno@clisp.org>
49923
49924         Remove stat module & update lstat.
49925         * lib/stat.c: Remove this file...
49926         (slash_aware_lstat): ...moving this content and its support...
49927         * lib/lstat.c (rpl_lstat): ...into here.
49928         * lib/lstat.h: New file.
49929
49930 2005-06-24  Derek Price  <derek@ximbiot.com>
49931         and Bruno Haible  <bruno@clisp.org>
49932
49933         Remove stat module & update lstat.
49934         * config/srclist.txt (libc sources): Remove stat.
49935
49936 2005-06-24  Derek Price  <derek@ximbiot.com>
49937         and Bruno Haible  <bruno@clisp.org>
49938
49939         Remove stat module & update lstat.
49940         * MODULES.html.sh (stat): Remove.
49941         * MODULES.html: Regenerated.
49942         * modules/lstat (Description): Correct function name.
49943         (Files): Add "lstat.h".
49944         (Depends-on): Remove stat, add xalloc, stat-macros.
49945         * modules/stat: Remove this file.
49946         (Include): Add "lstat.h", remove <sys/stat.h>.
49947
49948 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
49949
49950         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
49951         (ranged_convert): Don't save conversion in a temporary struct.
49952         This causes a warning with GCC 4.0.0, and anyway in the typical
49953         case it's not worth the extra 100 bytes or so of code.
49954         (ranged_convert, __mktime_internal): When calling a function via a
49955         pointer P, use P () rather than (*P) (), as we now assume C89 or
49956         better.
49957
49958 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
49959
49960         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
49961         "who -r" failed to give output.  Problem reported by Tim Waugh.
49962
49963         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
49964         (xcalloc): Use it to avoid needless tests.
49965         Problem reported by Jim Meyering.
49966
49967 2005-06-20  Derek Price  <derek@ximbiot.com>
49968
49969         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
49970         unnecessary for Autoconfs > 2.59c.
49971
49972 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49973
49974         * lib/argp.h (__option_is_short): Check upper limit of
49975         __key. Isprint() requires its argument to have the value
49976         of an unsigned char or EOF.
49977
49978 2005-06-16  Jim Meyering  <jim@meyering.net>
49979
49980         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
49981         when either N or S is zero.
49982
49983 2005-06-16  Derek Price  <derek@ximbiot.com>
49984
49985         * m4/bison.m4: Declare YACC & YFLAGS precious.
49986
49987 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
49988
49989         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
49990         multibyte string or pattern, fall back on unibyte matching.
49991         Problem reported by James Youngman.
49992
49993 2005-06-08  Bruno Haible  <bruno@clisp.org>
49994
49995         * modules/csharpcomp: New file.
49996         * MODULES.html.sh (C#): Add csharpcomp.
49997
49998 2005-06-08  Bruno Haible  <bruno@clisp.org>
49999
50000         * m4/csharpcomp.m4: New file, from GNU gettext.
50001
50002 2005-06-08  Bruno Haible  <bruno@clisp.org>
50003
50004         * lib/csharpcomp.h: New file, from GNU gettext.
50005         * lib/csharpcomp.c: New file, from GNU gettext.
50006         * lib/csharpcomp.sh.in: New file, from GNU gettext.
50007
50008 2005-06-08  Bruno Haible  <bruno@clisp.org>
50009
50010         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
50011         warning on mingw.
50012
50013 2005-06-07  Derek Price  <derek@ximbiot.com>
50014
50015         Sync from CVS.
50016         * lib/glob_.h: Indent nested #ifdef.
50017
50018 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
50019
50020         Sync from coreutils.
50021         Use "file name" when talking about file names, instead of "filename"
50022         or "path", as per the GNU coding standards.
50023         * lib/mkdir-p.c: Renamed from makepath.c.
50024         (make_dir_parents): Renamed from make_path.  All callers changed.
50025         * lib/mkdir-p.h: Likewise.  All includers changed.
50026         * lib/filenamecat.c: Renamed from path-concat.c.
50027         (file_name_concat): Renamed from path_concat.  All callers changed.
50028         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
50029         * lib/filenamecat.h: Likewise.  All includers changed.
50030         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
50031         in comments or local variable names.
50032         * lib/basename.c: Likewise.
50033         * lib/canonicalize.c, canonicalize.h: Likewise.
50034         * lib/dirname.c, dirname.h: Likewise.
50035         * lib/euidaccess.c: Likewise.
50036         * lib/exclude.c: Likewise
50037         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
50038         * lib/fsusage.c, fsuage.h: Likewise.
50039         * lib/fts.c, fts_.h: Likewise.
50040         * lib/getcwd.c: Likewise.
50041         * lib/getloadavg.c: Likewise.
50042         * lib/mkstemp.c: Likewise.
50043         * lib/mountlist.c, mountlist.h: Likewise.
50044         * lib/openat.c, openat.h: Likewise.
50045         * lib/readlink-stub.c: Likewise.
50046         * lib/readutmp.c, readutmp.h: Likewise.
50047         * lib/rename.c: Likewise.
50048         * lib/rmdir.c: Likewise.
50049         * lib/same.c: Likewise.
50050         * lib/savedir.c: Likewise.
50051         * lib/stripslash.c: Likewise.
50052         * lib/tempname.c: Likewise.
50053         * lib/xreadlink.c: Likewise.
50054         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
50055         All uses changed.
50056         * lib/exclude.h: Likewise.
50057
50058         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
50059         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
50060         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
50061         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
50062         * lib/pathmax.h: Include <limits.h> unconditionally, since other
50063         files have been getting away with it for years (MORE/BSD 4.3
50064         is extinct now).
50065         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
50066         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
50067
50068         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
50069         Define to 256, not 255, as per modern POSIX.
50070
50071 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
50072
50073         Sync from coreutils.
50074         Use "file name" when talking about file names, instead of "filename"
50075         or "path", as per the GNU coding standards.
50076         * MODULES.html.sh: mkdir-p renamed from makepath.
50077         filenamecat renamed from path-concat.
50078         * modules/filenamecat: Renamed from modules/path-concat.
50079         (Files): filenamecat.h and filenamecat.c renamed from
50080         path-concat.h and path-concat.c.
50081         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
50082         (Include): filenamecat.h, not path-concat.h.
50083         * modules/mkdir-p: Renamed from modules/makepath.
50084         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
50085         makepath.c.
50086         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
50087         (Include): mkdir-p.h, not makepath.h.
50088
50089 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
50090
50091         Sync from coreutils.
50092         * m4/mkdir-p.m4: Renamed from makepath.m4.
50093         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
50094         Rename files from makepath.c to mkdir-p.c, and from
50095         makepath.h to mkdir-p.h.
50096         * m4/filenamecat.m4: Renamed from path-concat.m4.
50097         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
50098         Rename files from path-concat.c to filenamecat.c,
50099         and from path-concat.h to filenamecat.h.
50100         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
50101         "file name" in local variables or comments.
50102         * m4/rename.m4: Likewise.
50103
50104 2005-06-01  Bruno Haible  <bruno@clisp.org>
50105
50106         * modules/csharpexec: New file.
50107         * MODULES.html.sh (C#): New section.
50108
50109 2005-06-01  Bruno Haible  <bruno@clisp.org>
50110
50111         * m4/csharp.m4: New file, from GNU gettext.
50112         * m4/csharpexec.m4: New file, from GNU gettext.
50113
50114 2005-06-01  Bruno Haible  <bruno@clisp.org>
50115
50116         * lib/csharpexec.h: New file, from GNU gettext.
50117         * lib/csharpexec.c: New file, from GNU gettext.
50118         * lib/csharpexec.sh.in: New file, from GNU gettext.
50119
50120 2005-05-31  Derek Price  <derek@ximbiot.com>
50121             Paul Eggert  <eggert@cs.ucla.edu>
50122
50123         Sync from cvs.
50124         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
50125
50126 2005-05-31  Derek Price  <derek@ximbiot.com>
50127             Paul Eggert  <eggert@cs.ucla.edu>
50128
50129         Sync from cvs.
50130         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
50131
50132 2005-05-29  Derek Price  <derek@ximbiot.com>
50133
50134         * config/srclist.txt (glob_.h, glob.c): Add these files.
50135
50136 2005-05-29  Derek Price  <derek@ximbiot.com>
50137
50138         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
50139         * modules/glob: New file.
50140         * modules/getlogin_r: Add link to POSIX spec in description.
50141
50142 2005-05-29  Derek Price  <derek@ximbiot.com>
50143             Paul Eggert  <eggert@cs.ucla.edu>
50144
50145         * m4/glob.m4: New file.
50146
50147 2005-05-29  Derek Price  <derek@ximbiot.com>
50148             Paul Eggert  <eggert@cs.ucla.edu>
50149
50150         * lib/glob_.h, lib/glob.c: New files.
50151
50152 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
50153
50154         * modules/fts (Files): Remove m4/inttypes-pri.m4.
50155         * modules/fts-lgpl (Depends-on): Remove gettext.
50156
50157 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
50158
50159         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
50160         and don't require gt_INTTYPES_PRI.
50161
50162 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
50163
50164         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
50165
50166         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
50167         the configuration hassle isn't worth it.
50168         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
50169         (LONGEST_MODIFIER, PRIuMAX): Remove.
50170
50171 2005-05-27  Bruno Haible  <bruno@clisp.org>
50172
50173         * lib/getlogin_r.h: Remove second include of <stddef.h>.
50174
50175 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
50176
50177         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
50178         _POSIX_PTHREAD_SEMANTICS for Solaris.
50179
50180 2005-05-25  Derek Price  <derek@ximbiot.com>
50181
50182         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
50183
50184 2005-05-25  Derek Price  <derek@ximbiot.com>
50185             Paul Eggert  <eggert@cs.ucla.edu>
50186
50187         * modules/getlogin_r, m4/getlogin_r.m4: New files.
50188         * lib/getlogin_r.c, getlogin_r.h: New files.
50189
50190 2005-05-25  Bruno Haible  <bruno@clisp.org>
50191             Derek Price  <derek@ximbiot.com>
50192
50193         * lib/getlogin_r.h: Simplify API documentation.
50194
50195 2005-05-23  Derek Price  <derek@ximbiot.com>
50196
50197         * modules/minmax (Files): Add m4/minmax.m4.
50198         (configure.ac): Add gl_MINMAX.
50199
50200 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
50201
50202         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
50203         so that unistd-safer.h (GPL'ed code) need not be included.
50204
50205 2005-05-22  Bruno Haible  <bruno@clisp.org>
50206
50207         * m4/minmax.m4: New file.
50208         Based on a patch by Derek Price <derek@ximbiot.com>.
50209
50210 2005-05-22  Bruno Haible  <bruno@clisp.org>
50211
50212         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
50213         (INT64_MIN): Fix definition.
50214         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
50215
50216         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
50217         NEED_SIGNED_INT_TYPES.
50218
50219         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
50220         HAVE_SYSTEM_INTTYPES.
50221
50222 2005-05-22  Bruno Haible  <bruno@clisp.org>
50223
50224         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
50225         Also include <sys/param.h> if it defines MIN, MAX.
50226         Based on a patch by Derek Price <derek@ximbiot.com>.
50227
50228 2005-05-21  Jim Meyering  <jim@meyering.net>
50229
50230         * modules/fts (Files): Add m4/inttypes-pri.m4.
50231         (Depends-on): Add lstat and remove gettext.  Alphabetize.
50232
50233 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
50234
50235         New fts module.
50236         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
50237         (setup_dir, free_dir): New functions.
50238         (enter_dir, leave_dir): Define trivial
50239         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
50240         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
50241         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
50242         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
50243         Move to fts-cycle.c.
50244         (fts_open): Use setup_dir.
50245         (fts_close): Use free_dir.
50246         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
50247         This adds a label and some gotos, but the alternatives were messier.
50248         Check for memory allocation failure when entering a dir.
50249         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
50250         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
50251         (FTS): New member fts_cycle, that is a union that contains the
50252         old active_dir_ht and cycle_state.  All uses changed to mention
50253         fts_cycle.ht and fts_cycle.state.
50254         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
50255         fts.c, with the following changes:
50256         (setup_dir, free_dir): New functions.
50257         (enter_dir): Now returns bool.  Return true if successful, false
50258         if memory exhausted.  All callers changed.
50259         Do not bother partly cleaning up on
50260         memory allocation failure; that is free_dir's job.
50261         However, free ad if hash_insert fails, to avoid memory leak.
50262         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
50263         fts->fts_options to see which union member to use.
50264
50265 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
50266
50267         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
50268         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
50269
50270 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
50271
50272         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
50273
50274 2005-05-20  Jim Meyering  <jim@meyering.net>
50275
50276         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
50277         Now a macro, to pacify GCC.
50278
50279 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
50280
50281         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
50282         of -1.
50283
50284 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
50285
50286         * lib/chown.c (rpl_chown): Return -1 on failure.
50287
50288 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
50289
50290         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
50291         Don't check for stddef.h.
50292         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
50293         don't use its results.
50294         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
50295         since we include them unconditionally.  Don't require
50296         AM_STDBOOL_H, since stdbool is a prerequisite.
50297         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
50298         since we assume C89 or better.
50299         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
50300         as we don't use their results.
50301         Don't check for fchdir, memmove, memset, strrchr, as we use
50302         them unconditionally.
50303         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
50304         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
50305
50306 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
50307
50308         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
50309         Include <stddef.h> unconditionally, since we assume C89 now.
50310         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
50311         * lib/fts.c: Include fts_.h first, to check interface.
50312         Do not include intprops.h; no longer needed.
50313         Include cycle-check.h and hash.h, since fts_.h no longer does.
50314         Remove unnecessary casts of closedir to void.
50315         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
50316         decide whether to decrement nlinks.
50317         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
50318         (FTS): Use struct hash_table * instead of Hash_table, so that
50319         we no longer need to include hash.h here.
50320
50321 2005-05-18  Jim Meyering  <jim@meyering.net>
50322
50323         * modules/dirfd (License): Change to LGPL.  Most of the code
50324         is already in the public domain.
50325
50326 2005-05-18  Jim Meyering  <jim@meyering.net>
50327
50328         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
50329         Reported by Yoann Vandoorselaere.
50330
50331 2005-05-17  Jim Meyering  <jim@meyering.net>
50332
50333         * m4/fts.m4: New file, from coreutils.
50334
50335 2005-05-17  Jim Meyering  <jim@meyering.net>
50336
50337         * lib/fts.c, lib/fts_.h: New files, from coreutils.
50338
50339 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50340
50341         Sync from coreutils.
50342         * m4/unlinkdir.m4: New file.
50343
50344 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50345
50346         Sync from coreutils.
50347         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
50348         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
50349         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
50350         White space changes only.
50351         * lib/makepath.c (make_path): Port to hosts where leading "//" is
50352         special.
50353         * lib/yesno.c: Include getline.h, not ctype.h.
50354         (yesno): Don't remove leading white space; POSIX doesn't allow it.
50355         Use getline to remove arbitrary restriction on response length.
50356
50357 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50358
50359         * config/srclist-update: Spell out "Street" in FSF postal
50360         mail address; this is the style the FSF seems to prefer.
50361
50362         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
50363         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
50364         this updates FSF postal mail address.
50365
50366         Sync from coreutils.
50367         * modules/unlinkdir: New file.
50368         * modules/yesno (Depends-on): Add getline.
50369         * MODULES.html.sh (File system functions): Add unlinkdir.
50370
50371 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50372
50373         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
50374         lib/strsep.h:
50375         Change the initial comment to refer to GPL, not LGPL.
50376         gnulib-tool will change it to LGPL as needed.
50377
50378         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
50379         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
50380         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
50381         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
50382         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
50383         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
50384         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
50385         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
50386         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
50387         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
50388         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
50389         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
50390         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
50391         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
50392         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
50393         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
50394         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
50395         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
50396         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
50397         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
50398         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
50399         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
50400         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
50401         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
50402         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
50403         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
50404         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
50405         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
50406         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
50407         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
50408         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
50409         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
50410         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
50411         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
50412         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
50413         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
50414         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
50415         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
50416         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
50417         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
50418         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
50419         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
50420         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
50421         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
50422         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
50423         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
50424         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
50425         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
50426         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
50427         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
50428         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
50429         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
50430         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
50431         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
50432         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
50433         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
50434         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
50435         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
50436         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
50437         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
50438         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
50439         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
50440         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
50441         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
50442         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
50443         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
50444         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
50445         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
50446         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
50447         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
50448         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
50449         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
50450         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
50451         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
50452         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
50453         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
50454         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
50455         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
50456         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
50457         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
50458         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
50459         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
50460         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
50461         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
50462         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
50463         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
50464         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
50465         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
50466         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
50467         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
50468         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
50469         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
50470         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
50471         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
50472         lib/yesno.c, lib/yesno.h:
50473         Update FSF postal mail address.
50474
50475 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
50476
50477         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
50478         tests/test-memmem.c, tests/test-stpncpy.c:
50479         Update FSF postal mail address.
50480
50481 2005-05-13  Bruno Haible  <bruno@clisp.org>
50482
50483         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
50484         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
50485         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
50486         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
50487         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
50488         Add support for 64-bit integers in the MSVC compiler.
50489
50490 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50491
50492         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
50493
50494 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
50495
50496         * gnulib-tool (func_import): Sort and uniquify recommended includes.
50497
50498 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
50499
50500         * doc/getdate.texi (General date syntax): Don't say that date
50501         date --iso-8601=ns generates acceptable dates; it doesn't yet.
50502         Problem reported by Nic Ferrier.
50503
50504 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50505
50506         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
50507         specified in ai_socktype. Fix invalid ai_protocol
50508         check. ai_protocol is usually set to 0 or depending on
50509         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
50510         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
50511         ai_socktype / ai_protocol in the returned addrinfo structure.
50512
50513 2005-05-10  Simon Josefsson  <jas@extundo.com>
50514
50515         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
50516         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50517
50518 2005-05-10  Karl Berry  <karl@gnu.org>
50519
50520         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
50521         (from http://www.gnu.org/licenses).
50522         * doc/COPYING.LIB: also rename to COPYING.LESSER.
50523         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
50524         fdl.texi suffices.
50525
50526 2005-05-10  Karl Berry  <karl@gnu.org>
50527
50528         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
50529         (COPYING.DOC): remove.
50530
50531         * config/srclist-update: new FSF address.
50532
50533 2005-05-10  Derek Price  <derek@ximbiot.com>
50534
50535         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
50536         possible.
50537
50538 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50539             Bruno Haible  <bruno@clisp.org>
50540
50541         * modules/inet_ntop: New file.
50542         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50543         inet_ntop.
50544
50545 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50546             Bruno Haible  <bruno@clisp.org>
50547
50548         * m4/inet_ntop.m4: New file.
50549
50550 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50551             Bruno Haible  <bruno@clisp.org>
50552
50553         * lib/inet_ntop.h: New file.
50554         * lib/inet_ntop.c: New file, from glibc with modifications.
50555
50556 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
50557
50558         * modules/time_r (License): Change to LGPL.
50559         * modules/extensions (License): Change to LGPL.  Actually,
50560         the license is more permissive than that, but currently gnulib-tool
50561         doesn't know how to handle more-permissive licenses.
50562
50563         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
50564         Problem reported by Dave Love.
50565
50566 2005-05-08  Jim Meyering  <jim@meyering.net>
50567
50568         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
50569         blank.
50570
50571 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
50572
50573         * modules/argmatch (Depends-on): Add stdbool.
50574         * modules/backupfile (Depends-on): Likewise.
50575         * modules/chdir-long (Depends-on): Likewise.
50576         * modules/closeout (Depends-on): Likewise.
50577         * modules/cycle-check (Depends-on): Likewise.
50578         * modules/dirname (Depends-on): Likewise.
50579         * modules/fnmatch (Depends-on): Likewise.
50580         * modules/fsusage (Depends-on): Likewise.
50581         * modules/fwriteerror (Depends-on): Likewise.
50582         * modules/getcwd (Depends-on): Likewise.
50583         * modules/getloadavg (Depends-on): Likewise.
50584         * modules/hard-locale (Depends-on): Likewise.
50585         * modules/makepath (Depends-on): Likewise.
50586         * modules/mountlist (Depends-on): Likewise.
50587         * modules/nanosleep (Depends-on): Likewise.
50588         * modules/posixtm (Depends-on): Likewise.
50589         * modules/quotearg (Depends-on): Likewise.
50590         * modules/readtokens (Depends-on): Likewise.
50591         * modules/readtokens0 (Depends-on): Likewise.
50592         * modules/readutmp (Depends-on): Likewise.
50593         * modules/save-cwd (Depends-on): Likewise.
50594         * modules/strftime (Depends-on): Likewise.
50595         * modules/userspec (Depends-on): Likewise.
50596         * modules/utimecmp (Depends-on): Likewise.
50597         * modules/xgetcwd (Depends-on): Likewise.
50598         * modules/xnanosleep (Depends-on): Likewise.
50599         * modules/xstrtod (Depends-on): Likewise.
50600         * modules/yesno (Depends-on): Likewise.
50601
50602 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
50603
50604         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
50605         needless checks.
50606
50607 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50608
50609         Merge from coreutils.  Among other things,
50610         add bulletproofing for cases where stdin, stdout, or stderr are closed.
50611         * lib/fd-safer.c: New file.
50612         * lib/fcntl-safer.h, open-safer.c: Remove.
50613         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
50614         * lib/dup-safer.c: Include unistd-safer.h first.
50615         Don't include errno.h.
50616         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
50617         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
50618         * lib/file-type.c: Rely on file-type.h change.
50619         * lib/getloadavg.c: Include unistd-safer.h.
50620         (getloadavg): Use safer open.
50621         * lib/getusershell.c: Include "stdio-safer.h".
50622         (getusershell): Use safer fopen.
50623         * lib/long-options.c (long_options): Use NULL rather than 0.
50624         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
50625         'free'.
50626         * lib/modechange.c: Likewise.
50627         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
50628         (MODE_DONE): New constant.
50629         (struct mode_change): Remove 'next' member.
50630         (make_node_op_equals): New function; like the old one of the
50631         same name, except it allocates an array.
50632         (mode_compile, mode_create_from_ref): Use it.
50633         (mode_compile): Allocate result as an array, not a linked list.
50634         Parse octal string ourself, so that we catch mistakes like "+0".
50635         (mode_adjust): Arg is an array, not a linked list.
50636         * lib/modechange.c: Include stat-macros.h, xalloc.h.
50637         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
50638         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
50639         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
50640         Remove.  This is now stat-macros.h's job.
50641         (talloc): Remove.  All callers replaced by xalloc, so that
50642         our invokers don't have to worry about reporting memory failures.
50643         (make_node_op_equals): Remove.
50644         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
50645         New constants.
50646         (struct mode_change): Moved here from modechange.h.
50647         (mode_append_entry): Remove.
50648         (mode_compile): Remove MASKED_OPS arg, since it encouraged
50649         apps to have incorrect behavior.  Use simpler algorithm for head
50650         and tail.  Don't futz with umask; that's now the job of mode_adjust.
50651         Detect more invalid usages rather than having somewhat-random behavior.
50652         Don't insert an "a=" action, as that leads to incorrect behavior.
50653         (mode_compile, mode_create_from_ref): Return NULL on error instead
50654         of an enum, since now there's only one way to have an error.  All
50655         callers changed.
50656         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
50657         at the correct time.  Simplify calculation of "+u" and its ilk.
50658         Don't mishandle "+X".
50659         (mode_free): Remove "register" and localize decls.
50660         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
50661         (struct mode_change): Move to modechange.c; callers don't
50662         need to see this stuff.
50663         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
50664         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
50665         (mode_change, mode_adjust): Reflect the new signatures noted above.
50666         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
50667         that might redefine system include files.
50668         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
50669         (my_usleep): Use NULL rather than (void *) 0.
50670         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
50671         Use siginterrupt to specify that system calls should be interrupted.
50672         (rpl_nanosleep): Move initialization of suspended closer to call of
50673         my_usleep.
50674         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
50675         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
50676         (desirable_utmp_entry): New function.
50677         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
50678         using x2nrealloc, to simplify logic.
50679         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
50680         size calculation.  Do not assume utmp file is a regular file.
50681         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
50682         (READ_UTMP_CHECK_PIDS): New constant.
50683         * lib/save-cwd.c: Include unistd-safer.h.
50684         (save_cwd): Use fd_safer.
50685         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
50686         [!_LIBC] Include "stat-macros.h" instead.
50687         * lib/unistd-safer.h (fd_safer): New decl.
50688
50689 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50690
50691         * modules/getloadavg (Depends-on): Add unistd-safer.
50692         * modules/getusershell (Depends-on): Add stdio-safer.
50693         * modules/lstat (Depends-on): Remove xalloc.
50694         * modules/mkstemp (Depends-on): Add stat-macros.
50695         * modules/modechange (Depends-on): Remove xstrtol.
50696         Add stat-macros, xalloc.
50697         * modules/save-cwd (Depends-on): Add unistd-safer.
50698         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
50699         * modules/unistd-safer (Files): Add lib/fd-safer.c
50700         (Makefile.am): Remove lib_SOURCES.
50701
50702         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
50703         Remove fcntl-safer; unistd-safer supersedes it.
50704
50705 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50706
50707         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
50708         AC_HEADER_STAT.
50709         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
50710         (gl_PREREQ_CHOWN): Remove.
50711         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
50712         it.  Don't require AC_HEADER_STAT.
50713         (gl_PREREQ_LSTAT): Remove.
50714         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
50715         Don't require AC_HEADER_STAT.
50716         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
50717         (gl_PREREQ_RMDIR): Remove.
50718         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
50719         mention stat-macros.h or AC_HEADER_STAT, since we'll make
50720         the stat-macros module a prerequisite.
50721         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
50722         * m4/filemode.m4 (gl_FILEMODE): Likewise.
50723         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
50724         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
50725         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
50726         variable names.
50727         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
50728         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
50729         variable prefixes.
50730         * m4/fcntl-safer.m4: Remove.
50731         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
50732         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
50733         Invoke gl_PREREQ_FD_SAFER.
50734         (gl_PREREQ_FD_SAFER): New macro.
50735         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
50736         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
50737         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
50738         Remove duplicate call to AC_LIBOBJ(readutmp).
50739         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
50740
50741         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
50742         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
50743
50744 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
50745
50746         * MODULES.html.sh (Misc): Add byteswap.
50747
50748 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50749
50750         * modules/getcwd (Depends-on): Add extensions.
50751         * modules/openat (Depends-on): Likewise.
50752
50753 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50754
50755         * modules/byteswap: New file.
50756
50757 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50758
50759         * m4/byteswap.m4: New file.
50760
50761 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
50762
50763         * lib/byteswap_.h: New file.
50764
50765 2005-04-25  Karl Berry  <karl@gnu.org>
50766
50767         * m4/gettext.m4: Update from GNU gettext 0.14.4.
50768
50769 2005-04-25  Albert Chin  <china@thewrittenword.com>
50770
50771         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
50772         Toolkit C bug.
50773
50774 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
50775
50776         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
50777         (func_ln_if_changed) Remove forcibly for no error message
50778         in case file does not exist.
50779
50780 2005-04-19  Simon Josefsson  <jas@extundo.com>
50781
50782         * gnulib-tool (Options): Make --symlink mean --symbolic.
50783
50784 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
50785
50786         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
50787
50788 2005-04-16  Simon Josefsson  <jas@extundo.com>
50789
50790         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
50791
50792 2005-04-15  Simon Josefsson  <jas@extundo.com>
50793
50794         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
50795
50796 2005-04-15  Simon Josefsson  <jas@extundo.com>
50797
50798         * gnulib-tool: Rename --symlink to --symbolic.
50799
50800 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
50801
50802         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
50803         symbolic links to files instead of copying/moving.  Add --aux-dir,
50804         specifying directory relative --dir where auxiliary build tools
50805         are placed.
50806
50807 2005-04-14  Bruno Haible  <bruno@clisp.org>
50808
50809         * modules/allocsa (License): Change to LGPL.
50810         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50811
50812 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50813
50814         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
50815         that "UTC +1 second" continues to work.  Problem reported
50816         by Dmitry V. Levin.
50817         (relunit_snumber): New rule.
50818         (relunit): Use it.
50819
50820 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
50821
50822         * lib/getdate.y (universal_time_zone_table): New constant.
50823         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
50824         universal_time_zone_table.
50825         (lookup_zone): Prefer universal_time_zone_table to
50826         local_time_zone_table, so that "GMT" time stamps are allowed in
50827         London during the summer.  Problem reported by Ian Abbott.
50828
50829 2005-04-12  Jim Meyering  <jim@meyering.net>
50830
50831         * lib/human.c (humblock): Set *options even when returning due to
50832         xstrtoumax conversion failure.  Thanks to a used-uninitialized
50833         warning from gcc-4.
50834
50835 2005-04-09  Jim Meyering  <jim@meyering.net>
50836
50837         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
50838         -Wuninitialized: initialize tm0.tm_year.
50839
50840 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50841
50842         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
50843         count, since there's no maximum.  All uses changed.
50844         Add member dsts_seen.
50845         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
50846         not being INT_MAX.
50847         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
50848         Use pc_rels_seen to decide whther a date is absolute.
50849
50850         * lib/getdate.y (number): Don't overwrite year.
50851         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
50852         check.
50853
50854 2005-04-02  Simon Josefsson  <jas@extundo.com>
50855
50856         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
50857         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
50858
50859 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
50860
50861         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
50862         where no absolute path name can be longer than PATH_MAX.
50863
50864 2005-03-27  Jim Meyering  <jim@meyering.net>
50865
50866         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
50867
50868 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
50869
50870         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
50871         "one's complement" -> "ones' complement" in comment, as per Knuth.
50872         "value of type" -> "type or expression" in comment.
50873         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
50874
50875 2005-03-26  Jim Meyering  <jim@meyering.net>
50876
50877         Comment nits.
50878         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
50879         Correct typos: s/or/of/.
50880
50881 2005-03-26  Jim Meyering  <jim@meyering.net>
50882
50883         * modules/check-include-files: Move to ../ and rename to...
50884         * check-module: ...this.
50885
50886 2005-03-25  Jim Meyering  <jim@meyering.net>
50887
50888         * modules/xvasprintf (Files): Add xalloc.h.
50889
50890 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
50891
50892         * modules/gettext (Files): config/config.rpath ->
50893         build-aux/config.rpath
50894         * modules/iconv (Files): Likewise.
50895         Problem reported by Oskar Liljeblad.
50896
50897 2005-03-23  Jim Meyering  <jim@meyering.net>
50898
50899         * modules/check-include-files: New script to check for
50900         missing dependencies, multiple includes, etc.
50901
50902         * modules/c-strtold (Depends-on): Add xalloc.
50903         * modules/c-strtod (Depends-on): Add xalloc.
50904         * modules/hash (Depends-on): Add xalloc.
50905         (Files): Remove lib/xalloc.h.
50906
50907         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
50908         * modules/userspec (Files): Add lib/inttostr.h.
50909
50910 2005-03-23  Jim Meyering  <jim@meyering.net>
50911
50912         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
50913
50914 2005-03-22  Jim Meyering  <jim@meyering.net>
50915
50916         * modules/stat-macros: New module.
50917         * modules/canonicalize, modules/euidaccess, modules/file-type,
50918         * modules/filemode, modules/lchown, modules/makepath,
50919         * modules/rmdir, modules/stat: Depend on new stat-macros module
50920         rather than listing lib/stat-macros.h manually.
50921         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
50922
50923 2005-03-22  Jim Meyering  <jim@meyering.net>
50924
50925         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
50926
50927 2005-03-22  Bruno Haible  <bruno@clisp.org>
50928
50929         * config/srclist.txt: Replace target directory 'config' with
50930         'build-aux'.
50931         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
50932         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
50933         ../build-aux/.
50934
50935 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
50936
50937         * modules/chdir-long (Depends-on): Add mempcpy.
50938
50939         * modules/acl, modules/backupfile, modules/c-strtod,
50940         modules/c-strtold, modules/canon-host, modules/canonicalize,
50941         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
50942         modules/exclude, modules/exitfail, modules/file-type,
50943         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
50944         modules/getdate, modules/getline, modules/getpagesize,
50945         modules/getpass, modules/getugroups, modules/group-member,
50946         modules/hard-locale, modules/hash, modules/human, modules/idcache,
50947         modules/inttostr, modules/long-options, modules/makepath,
50948         modules/md5, modules/memcasecmp, modules/memcoll,
50949         modules/modechange, modules/mountlist, modules/path-concat,
50950         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
50951         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
50952         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
50953         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
50954         modules/strftime, modules/strndup, modules/strverscmp,
50955         modules/timespec, modules/unlocked-io, modules/userspec,
50956         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
50957         modules/yesno:
50958         Remove lib_SOURCES line from Makefile.am section, as this is now
50959         done automatically by the corresponding Autoconf macro.
50960
50961 2005-03-21  Jim Meyering  <jim@meyering.net>
50962
50963         Changes imported from coreutils.
50964
50965         * lib/cycle-check.c: Don't include xalloc.h.
50966
50967         * lib/path-concat.c: Don't include assert.h.
50968         (path_concat): Remove assertion that would have triggered
50969         for ABASE starting with more than one slash.
50970         Reported by Andreas Schwab.
50971
50972         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
50973         properly when ABASE is an absolute file name.
50974         Correct the description of this function.
50975         Include <assert.h>.
50976         Add an assertion and a test driver.
50977         This fixes a bug introduced on 2004-07-02.
50978         Andreas Schwab reported the resulting failure of cp --parents:
50979         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
50980
50981 2005-03-21  Jim Meyering  <jim@meyering.net>
50982
50983         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
50984         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
50985
50986 2005-03-21  Jim Meyering  <jim@meyering.net>
50987         and  Paul Eggert  <eggert@cs.ucla.edu>
50988
50989         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
50990         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
50991         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
50992         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
50993         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
50994         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
50995         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
50996         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
50997         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
50998         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
50999         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
51000         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
51001         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
51002         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
51003         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
51004         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
51005         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
51006         for these modules.
51007
51008 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
51009
51010         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
51011         (which shouldn't happen), generate nothing instead of returning 0
51012         immediately, so that nstrftime (NULL, ...) doesn't return 0.
51013
51014 2005-03-16  Bruno Haible  <bruno@clisp.org>
51015
51016         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
51017         HAVE_LONGLONG_64BIT.
51018
51019 2005-03-16  Bruno Haible  <bruno@clisp.org>
51020
51021         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
51022         HAVE_LONGLONG_64BIT.
51023
51024 2005-03-16  Bruno Haible  <bruno@clisp.org>
51025
51026         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
51027         HAVE_LONGLONG_64BIT.
51028
51029 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
51030
51031         * lib/strftime.c (my_strftime): Prepend space to format so that we can
51032         reliably distinguish strftime failure from empty output on POSIX
51033         hosts.
51034
51035 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
51036
51037         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
51038         (iconv_string): Don't guess a size-zero buffer, as that might cause
51039         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
51040         result would be 'too large', where 'too large' is (heuristically)
51041         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
51042         overflow concerns.  This will prevent some unwanted malloc failures
51043         when the inputs are very large.
51044
51045 2005-03-15  Karl Berry  <karl@gnu.org>
51046
51047         * config/srclist.txt (config.rpath): from gettext.
51048         * config/config.rpath: update.
51049
51050 2005-03-15  Bruno Haible  <bruno@clisp.org>
51051
51052         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
51053         to 'negate'.
51054
51055         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
51056         variable.
51057
51058         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
51059         results.
51060
51061 2005-03-14  Simon Josefsson  <jas@extundo.com>
51062
51063         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
51064         <fx@gnu.org>.
51065
51066 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
51067
51068         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
51069         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
51070         intprops.h.
51071         * lib/strtol.c: Likewise.
51072
51073 2005-03-14  Jim Meyering  <jim@meyering.net>
51074
51075         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
51076         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
51077         to be nonzero so that we (and caller) can detect the difference
51078         between a valid zero-length expansion and an error return, even
51079         when the underlying strftime fails before writing anything into
51080         that location.
51081
51082 2005-03-14  Bruno Haible  <bruno@clisp.org>
51083
51084         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
51085         Update from GNU gettext 0.14.3.
51086
51087 2005-03-10  Jim Meyering  <jim@meyering.net>
51088
51089         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
51090
51091 2005-03-10  Jim Meyering  <jim@meyering.net>
51092
51093         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
51094         so that this module works on systems without fchdir.
51095
51096 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
51097
51098         Factor int-properties macros into a single file, except for
51099         glibc-related files.
51100         * lib/intprops.h: New file.
51101         * lib/getloadavg.c: Include it instead of limits.h.
51102         (INT_STRLEN_BOUND): Remove.
51103         * lib/human.c: Include intprops.h.
51104         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
51105         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
51106         302/1000.
51107         * lib/inttostr.h: Include intprops.h instead of limits.h.
51108         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
51109         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
51110         for consistency with intprops.h.
51111         (time_t_is_integer, twos_complement_arithmetic): Use them.
51112         * lib/sig2str.h: Include <signal.h>, intprops.h.
51113         (INT_STRLEN_BOUND): Remove.
51114         * lib/strftime.c (TYPE_SIGNED): Remove.
51115         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
51116         * lib/strtol.c: Adjust comments to match intprops.h.
51117         * lib/userspec.c: Include intprops.h.
51118         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
51119         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
51120         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
51121         instead of rolling our own expressions.
51122         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
51123
51124         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
51125         instead of int.
51126         (my_strftime): Do not mishandle years close to INT_MAX, by doing
51127         the right thing even if adding 1900 would overflow.  Similarly
51128         for tm_mon + 1 and tm_yday + 1.
51129         Make %Y always equivalent to %C%y, and similarly for %G and %g.
51130         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
51131         (DO_SIGNED_NUMBER): New macro.
51132         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
51133
51134 2005-03-07  Bruno Haible  <bruno@clisp.org>
51135
51136         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
51137
51138 2005-03-07  Bruno Haible  <bruno@clisp.org>
51139
51140         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
51141
51142 2005-03-04  Derek R. Price  <derek@ximbiot.com>
51143
51144         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
51145         (func_import): Only replace files via --import when they have actually
51146         changed.
51147
51148 2005-03-03  Derek R. Price  <derek@ximbiot.com>
51149
51150         * m4/mmap-anon.m4: New file.
51151         * m4/pagealign_alloc.m4: New file.
51152
51153 2005-03-03  Derek R. Price  <derek@ximbiot.com>
51154             Bruno Haible  <bruno@clisp.org>
51155
51156         * modules/pagealign_alloc: New file.
51157         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
51158
51159 2005-03-03  Derek R. Price  <derek@ximbiot.com>
51160             Bruno Haible  <bruno@clisp.org>
51161
51162         * lib/pagealign_alloc.h: New file.
51163         * lib/pagealign_alloc.c: New file.
51164
51165 2005-03-03  Bruno Haible  <bruno@clisp.org>
51166
51167         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
51168         Use an all-permissive copyright notice, recommended by RMS.
51169
51170 2005-03-02  Bruno Haible  <bruno@clisp.org>
51171
51172         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
51173         of AIX, the replacement has to be done only after <string.h> is
51174         included, therefore not in config.h. stpncpy.h does the replacement,
51175         and stpncpy.c uses it.
51176
51177 2005-03-02  Bruno Haible  <bruno@clisp.org>
51178
51179         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
51180         stpncpy.c uses it.
51181
51182 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51183
51184         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
51185         The workaround isn't strictly needed for POSIX conformance, and
51186         it's too much of a pain to configure and maintain.  We'll ask
51187         people to fix their kernels instead.
51188         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
51189         (NANOSLEEP_BUG_WORKAROUND): Remove.
51190         (xnanosleep): Remove the workaround.
51191
51192 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51193
51194         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
51195         Reported by Derek Price.
51196         (Include): Add "timespec.h".
51197
51198         * modules/xnanosleep (Depends-on): Remove gethrxtime.
51199
51200 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51201
51202         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
51203         to detect nanosleep bug.
51204
51205 2005-03-01  Bruno Haible  <bruno@clisp.org>
51206
51207         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
51208
51209 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
51210
51211         * modules/gethrxtime: New file.
51212         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
51213         (Depends-on): Add gethrxtime.
51214         (configure.ac): Add gl_XNANOSLEEP.
51215         (Makefile.am): Remove lib_SOURCES line.
51216
51217 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
51218
51219         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
51220         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
51221
51222 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
51223
51224         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
51225         * lib/timespec.h (gettime): Return void, since it always
51226         succeeds now.  All uses changed.
51227         * lib/gettime.c (gettime) Likewise.
51228         [HAVE_NANOTIME]: Prefer nanotime.
51229         Assume gettimeofday succeeds, as POSIX requires.
51230         Assime time () succeeds, since other code already does.
51231         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
51232         (timespec_subtract): Remove.
51233         (NANOSLEEP_BUG_WORKAROUND): New constant.
51234         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
51235         things considerably.  Use it only on GNU/Linux hosts, since the
51236         workaround shouldn't be needed elsewhere.
51237
51238 2005-02-24  Bruno Haible  <bruno@clisp.org>
51239
51240         * modules/gettext (Files): Add m4/glibc2.m4.
51241
51242 2005-02-24  Bruno Haible  <bruno@clisp.org>
51243
51244         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
51245         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
51246         * m4/progtest.m4:
51247         Update from GNU gettext 0.14.2.
51248         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
51249
51250 2005-02-24  Bruno Haible  <bruno@clisp.org>
51251
51252         * lib/localcharset.c: Update from GNU gettext 0.14.2.
51253         * lib/config.charset: Update from GNU gettext 0.14.2.
51254
51255 2005-02-24  Bruno Haible  <bruno@clisp.org>
51256
51257         * lib/gettext.h: Update from GNU gettext 0.14.2.
51258
51259 2005-02-23  Simon Josefsson  <jas@extundo.com>
51260
51261         * m4/iconvme.m4: New file.
51262
51263 2005-02-23  Jim Meyering  <jim@meyering.net>
51264
51265         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
51266         change.
51267         Thanks to Bruno Haible for catching it.
51268
51269 2005-02-22  Simon Josefsson  <jas@extundo.com>
51270
51271         * modules/iconvme: New file.
51272
51273         * MODULES.html.sh: Add iconvme.
51274
51275 2005-02-22  Simon Josefsson  <jas@extundo.com>
51276
51277         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
51278
51279 2005-02-22  Simon Josefsson  <jas@extundo.com>
51280
51281         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
51282
51283 2005-02-22  Jim Meyering  <jim@meyering.net>
51284
51285         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
51286         s/ifndef/ifdef/.
51287
51288 2005-02-20  Neil Conway  <neilc@samurai.com>
51289
51290         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
51291         returned by OSX/Darwin if the specified buffer is not large
51292         enough for the hostname.
51293
51294 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51295
51296         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
51297         pass it to _help, otherwise the latter coredumps trying to
51298         dereference state.root_argp.
51299
51300 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
51301
51302         * modules/chdir-long (Depends-on): Add memrchr.
51303         * modules/memrchr (Files): Add lib/memrchr.h.
51304         (Include): "memrchr.h".
51305
51306 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
51307
51308         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
51309
51310 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
51311
51312         * lib/memrchr.h: New file.
51313         * lib/chdir-long.c: Include it.
51314         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
51315         Don't bother including stddef.h.
51316
51317 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
51318
51319         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
51320         inclusion.
51321         Include <sys/types.h>, for dev_t.
51322         (ME_DUMMY, ME_REMOTE): Move from here....
51323         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
51324         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
51325         Dmitry V. Levin.
51326         Include mountlist.h first, to test the interface.
51327
51328 2005-01-29  Bruno Haible  <bruno@clisp.org>
51329
51330         * lib/progname.c (program_name): Initialize.
51331         Needed when linking statically on MacOS X.
51332
51333 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
51334
51335         Sync from coreutils.
51336         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
51337         (Depends-on): Add c-strtod.
51338         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
51339
51340 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
51341
51342         Sync from coreutils.
51343         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
51344
51345         Remove files that are specific to coreutils.
51346         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
51347
51348 2005-01-28  Bruno Haible  <bruno@clisp.org>
51349
51350         * modules/javacomp: New file.
51351         * MODULES.html.sh (Java): Add javacomp.
51352
51353 2005-01-28  Bruno Haible  <bruno@clisp.org>
51354
51355         * m4/javacomp.m4: New file, from GNU gettext.
51356
51357 2005-01-28  Bruno Haible  <bruno@clisp.org>
51358
51359         * lib/javacomp.sh.in: New file, from GNU gettext.
51360         * lib/javacomp.h: New file, from GNU gettext.
51361         * lib/javacomp.c: New file, from GNU gettext.
51362
51363 2005-01-26  Simon Josefsson  <jas@extundo.com>
51364
51365         * lib/gai_strerror.c: Use GPL in header.
51366
51367 2005-01-26  Bruno Haible  <bruno@clisp.org>
51368
51369         * modules/javaexec: New file.
51370         * MODULES.html.sh (Java): Add javaexec.
51371
51372 2005-01-26  Bruno Haible  <bruno@clisp.org>
51373
51374         * m4/javaexec.m4: New file, from GNU gettext.
51375
51376 2005-01-26  Bruno Haible  <bruno@clisp.org>
51377
51378         * lib/javaexec.sh.in: New file, from GNU gettext.
51379         * lib/javaexec.h: New file, from GNU gettext.
51380         * lib/javaexec.c: New file, from GNU gettext.
51381
51382 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51383
51384         * modules/lchown (Depends-on): Remove lchown.h
51385
51386 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51387
51388         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
51389         must be defined if the header file was not found, in order
51390         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
51391
51392 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51393
51394         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
51395         initializers for struct pentry_state.
51396         (__argp_error): Check return value of __asprintf
51397         (__argp_failure): Translate error message
51398
51399         * lib/argp-parse.c: Removed braces around the expansion of N_()
51400
51401 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51402
51403         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
51404         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
51405         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
51406         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
51407         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
51408         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
51409         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
51410         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
51411         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
51412         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
51413         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
51414         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
51415         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
51416         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
51417         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
51418         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
51419         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
51420         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
51421         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
51422         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
51423         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
51424         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
51425         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
51426         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
51427         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
51428         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
51429         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
51430         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
51431         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
51432         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
51433         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
51434         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
51435         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
51436         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
51437         xstrtol.m4, xstrtoumax.m4, yesno.m4:
51438         Use an all-permissive copyright notice, recommended by RMS.
51439
51440 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
51441
51442         * modules/chdir-long (Depends-on): Remove mempcpy.
51443
51444 2005-01-21  Jim Meyering  <jim@meyering.net>
51445
51446         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
51447         same value as for Solaris 9.
51448
51449         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
51450         component length.  This included changing the parameter to be
51451         of type `char *' rather than `char const *'.
51452         * lib/chdir-long.h (chdir_long): Update prototype.
51453
51454         * lib/openat.c (fdopendir, fstatat): New functions.
51455         * lib/openat.h: Include headers required for use of DIR and struct
51456         stat.
51457         [AT_SYMLINK_NOFOLLOW]: Define.
51458         (fdopendir, fstatat): Add prototypes.
51459
51460 2005-01-21  Bruno Haible  <bruno@clisp.org>
51461
51462         * modules/classpath: New file.
51463         * MODULES.html.sh (Java): Add classpath.
51464
51465 2005-01-21  Bruno Haible  <bruno@clisp.org>
51466
51467         * lib/classpath.h: New file, from GNU gettext.
51468         * lib/classpath.c: New file, from GNU gettext.
51469
51470 2005-01-20  Simon Josefsson  <jas@extundo.com>
51471
51472         * modules/version-etc-fsf: New file.
51473
51474 2005-01-20  Simon Josefsson  <jas@extundo.com>
51475
51476         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
51477         * lib/version-etc.c: Remove version_etc_copyright.
51478         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
51479         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
51480
51481 2005-01-20  Simon Josefsson  <jas@extundo.com>
51482
51483         * lib/base64.h (isbase64): Add.
51484
51485         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
51486         using a unsigned prototype, don't inline.
51487         (base64_decode): Use it.
51488
51489 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51490
51491         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
51492         it.
51493
51494 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51495
51496         * lib/save-cwd.c (save_cwd): Remove code to support the case
51497         where fchdir is missing or flaky.
51498
51499 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51500
51501         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
51502
51503 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
51504
51505         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
51506         AC_LIBSOURCES now does this.
51507         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
51508         with new ullong_max module.
51509
51510 2005-01-19  Bruno Haible  <bruno@clisp.org>
51511
51512         * modules/sh-quote: New file.
51513         * MODULES.html.sh (Executing programs): Add sh-quote.
51514
51515 2005-01-19  Bruno Haible  <bruno@clisp.org>
51516
51517         * lib/sh-quote.h: New file, from GNU gettext.
51518         * lib/sh-quote.c: New file, from GNU gettext.
51519
51520 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51521
51522         Merge from coreutils.
51523         * m4/ullong_max.m4: New file.
51524         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
51525         (gl_MACROS): Assume localeconv exists.
51526
51527 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51528
51529         Merge changes from coreutils, as described below in several
51530         changelogs dated today.
51531
51532         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
51533         (O_DIRECTORY): Remove; not needed here, since "." must be
51534         a directory.  All uses removed.
51535         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
51536         universal on Suns, and we also need to test for IRIX.
51537         Revamp code to use 'if' rather than '#if'.
51538         Avoid unnecessary comparison of cwd->desc to 0.
51539
51540         * lib/utimens.c (futimens): Robustify the previous patch, by checking
51541         for known valid error numbers rather than observed invalid ones.
51542
51543 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
51544
51545         * modules/ullong_max: New file.
51546
51547         * modules/chdir-long, modules/openat: New files.
51548         * modules/save-cwd (Depends-on): Depend on chdir-long.
51549         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
51550
51551 2005-01-18  Jim Meyering  <jim@meyering.net>
51552
51553         Merge from coreutils.
51554         * m4/chdir-long.m4, m4/openat.m4: New files.
51555         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
51556         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
51557         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
51558         is sane and DOES follow symlinks.  Besides, testing 20 different
51559         systems found no broken chown implementations.
51560         Prompted by a change in rsync's copy of this macro.
51561         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
51562
51563         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
51564
51565         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
51566         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
51567         NULL-means-set-to-current-time semantics.
51568         Remove temporary file immediately, rather than waiting
51569         for configure's at-exit trap code to do it.
51570
51571 2005-01-18  Jim Meyering  <jim@meyering.net>
51572
51573         * lib/version-etc.c (version_etc_copyright): Update copyright date.
51574
51575         * lib/utimens.c (futimens): Account for the fact that futimes
51576         can also fail with errno == ENOSYS or errno == ENOENT.
51577         Patch from Dmitry V. Levin.
51578
51579         Change the name of the robust chdir function from chdir to chdir_long.
51580         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
51581         (restore_cwd): Use chdir_long, not chdir.
51582         * lib/chdir-long.c: Renamed from chdir.c.
51583         * lib/chdir-long.h: Renamed from chdir.h.
51584         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
51585         Hurd.
51586
51587 2005-01-18  Bruno Haible  <bruno@clisp.org>
51588
51589         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
51590         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
51591         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
51592         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
51593         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
51594         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
51595         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
51596         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
51597         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
51598         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
51599         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
51600         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
51601         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
51602         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
51603         Use an all-permissive copyright notice, recommended by RMS.
51604
51605 2005-01-18  Bob Proulx  <bob@proulx.com>
51606
51607         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
51608         simplify offsetof() macro construct to avoid compile failure with
51609         native HP-UX 11.0 ANSI C compiler.
51610
51611 2005-01-17  Bruno Haible  <bruno@clisp.org>
51612
51613         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
51614         redundant because stpncpy.m4 takes care of it.
51615
51616 2005-01-17  Bruno Haible  <bruno@clisp.org>
51617
51618         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
51619
51620 2005-01-17  Bruno Haible  <bruno@clisp.org>
51621
51622         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
51623         used.
51624
51625 2005-01-17  Bruno Haible  <bruno@clisp.org>
51626
51627         * lib/fwriteerror.h (fwriteerror): Change specification to include
51628         fclose.
51629         * lib/fwriteerror.c: Include <stdbool.h>.
51630         (fwriteerror): At the end, close the file stream. Record whether
51631         stdout was already closed.
51632
51633 2005-01-17  Bruno Haible  <bruno@clisp.org>
51634
51635         * lib/execute.c (environ): Declare if needed.
51636         * lib/pipe.c (environ): Likewise.
51637         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
51638
51639 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51640
51641         * modules/argp: Depend on vsnprintf
51642
51643 2005-01-10  Jim Meyering  <jim@meyering.net>
51644
51645         * modules/closeout (Depends-on): Add atexit.
51646
51647 2005-01-06  Bruno Haible  <bruno@clisp.org>
51648
51649         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
51650
51651 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
51652
51653         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
51654         definitions to be after all include files, to avoid collisions.
51655         Problem reported by Bob Proulx.
51656
51657 2005-01-04  Jim Meyering  <jim@meyering.net>
51658
51659         Changes imported from coreutils.
51660         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
51661         as the mkstemp template, use a temporary directory and an
51662         8.3-friendly template to avoid trouble on systems like DJGPP.
51663         Reported by Juan M. Guerrero via Stepan Kasal.
51664         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
51665         close. Remove the temporary directory right away, rather than waiting
51666         for configure's at-exit trap code to do it.
51667         Suggestion from Stepan Kasal.
51668
51669 2005-01-01  Simon Josefsson  <jas@extundo.com>
51670
51671         * gnulib-tool: Print #include directives when --import'ing.
51672
51673 2004-12-28  Simon Josefsson  <jas@extundo.com>
51674
51675         * tests/test-base64.c: Include required header files.  Remove
51676         unused variables.
51677
51678 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
51679
51680         * modules/error (Depends-on): Remove gettext.
51681
51682 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
51683
51684         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
51685         not needed.  This removes a dependency on the gettext module.
51686         [defined _LIBC]: Do not include <libintl.h>; not needed.
51687
51688 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
51689
51690         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
51691         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
51692
51693 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
51694
51695         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
51696         HAVE_DECL_STRTOLD.
51697
51698 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51699
51700         * modules/getdate (Depends-on): Remove alloca-opt.
51701
51702 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51703
51704         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
51705
51706 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51707
51708         * lib/argp-parse.c: Include <stddef.h>.
51709         (alignof, alignto): New macros.
51710         (parser_init): Don't assume that void * is aligned sufficiently
51711         for struct option.
51712
51713         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
51714         need to extend the stack.
51715         (YYINITDEPTH): New macro, so that the initial stack isn't overly
51716         large.
51717
51718 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51719
51720         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
51721
51722 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
51723
51724         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
51725         (2004-10-24) change.  Apparently this was a false alarm.
51726
51727         * modules/getdate: Depend on alloca-opt, not alloca.
51728
51729 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
51730
51731         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
51732         Remove now-obsolete comment about AIX.
51733         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
51734         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
51735         (YYMAXDEPTH): New macro.
51736
51737 2004-12-18  Simon Josefsson  <jas@extundo.com>
51738
51739         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
51740
51741 2004-12-18  Bruno Haible  <bruno@clisp.org>
51742
51743         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
51744
51745 2004-12-18  Bruno Haible  <bruno@clisp.org>
51746
51747         * lib/fatal-signal.c (fatal_signals): Make non-const.
51748         (init_fatal_signals): New function.
51749         (uninstall_handlers, install_handlers): Ignore signals that were set to
51750         SIG_IGN.
51751         (at_fatal_signal): Call init_fatal_signals.
51752         (init_fatal_signal_set): Likewise. Ignore signals that were set to
51753         SIG_IGN.
51754         Reported by Paul Eggert.
51755
51756 2004-12-18  Bruno Haible  <bruno@clisp.org>
51757
51758         * doc/alloca.texi: New file.
51759         * doc/alloca-opt.texi: New file.
51760
51761 2004-12-17  Jim Meyering  <jim@meyering.net>
51762
51763         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
51764         Otherwise, install-sh could exit with improper exit status when
51765         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
51766
51767 2004-12-16  Simon Josefsson  <jas@extundo.com>
51768
51769         * tests/test-base64.c: Add license.
51770
51771 2004-12-15  Stepan Kasal  <address@hidden>
51772
51773         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
51774
51775 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
51776
51777         * modules/getcwd (Files): Add m4/d-ino.m4.
51778         Suggested by Mark D. Baushke.
51779
51780 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
51781
51782         * lib/getdate.y (textint): New member "negative".
51783         (time_zone_hhmm): New function.
51784         Expect 14 shift-reduce conflicts, not 13.
51785         (o_colon_minutes): New rule.
51786         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
51787         (yylex): Set the "negative" member of signed numbers.
51788
51789 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
51790
51791         * doc/getdate.texi (Time of day items, Time zone items):
51792         Describe new formats +00:00, UTC+00:00.
51793
51794 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
51795
51796         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
51797         spurious "-l"s.  Problem reported by Stepan Kasal.
51798
51799 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
51800
51801         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
51802         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
51803
51804 2004-12-04  Simon Josefsson  <jas@extundo.com>
51805
51806         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
51807         Vandoorselaere <yoann@prelude-ids.org>.
51808
51809 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
51810
51811         Changes imported from coreutils.
51812         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
51813         exist.
51814         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
51815
51816 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
51817
51818         Changes imported from coreutils.
51819         * lib/hard-locale.c: Assume <locale.h> exists.
51820         Include "strdup.h".
51821         (GLIBC_VERSION): New macro.
51822         (hard_locale): Assume setlocale exists.
51823         Rewrite to avoid #ifdef.
51824         Use strdup rather than malloc + strcpy.
51825         * lib/human.c: Assume <locale.h> exists.
51826         (human_readable): Assume localeconv exists.
51827
51828 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
51829
51830         * modules/hard-locale (Depends-on): Add strdup.
51831
51832 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
51833
51834         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
51835         convert T2, not T.  (Imported from libc.)
51836
51837 2004-11-30  Simon Josefsson  <jas@extundo.com>
51838
51839         * modules/restrict (License): Change to LGPL.
51840
51841 2004-11-30  Simon Josefsson  <jas@extundo.com>
51842
51843         * m4/restrict.m4: Add copyright and copying conditions.
51844
51845 2004-11-30  Simon Josefsson  <jas@extundo.com>
51846
51847         * m4/base64.m4: New file.
51848
51849 2004-11-30  Simon Josefsson  <jas@extundo.com>
51850
51851         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
51852         base64.
51853
51854         * tests/test-base64.c: New file.
51855
51856         * modules/base64: New file.
51857
51858 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
51859
51860         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
51861         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
51862
51863         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
51864
51865 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
51866
51867         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
51868         (__getcwd.c): Don't restore errno; glibc doesn't.
51869         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
51870         first, falling back to our code only if its results look suspicious.
51871         Ensure that the resulting buffer is only as large as necessary.
51872
51873         * lib/readutmp.c: Include readutmp.h first.
51874         Include <errno.h>, since readutmp.h no longer does that.
51875         * lib/readutmp.h: Don't include <errno.h>,
51876         <sys/param.h>, <time.h>; not needed to establish interface.
51877         (errno): Remove decl.
51878         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
51879         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
51880         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
51881
51882 2004-11-28  Simon Josefsson  <jas@extundo.com>
51883
51884         * lib/base64.h, base64.c: New file.
51885
51886 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
51887
51888         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
51889
51890 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
51891
51892         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
51893         (Depends-on): Remove pathmax, same.  Add mempcpy.
51894         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
51895         (Makefile.am): Append getcwd.h to lib_SOURCES.
51896         (Include): Add getcwd.h.
51897         (Maintainer): Change from Jim Meyering to "all, glibc",
51898         since getdate now uses intended-for-glibc code.
51899         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
51900         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
51901
51902 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
51903
51904         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
51905         HP's ANSI C compiler.
51906         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
51907         Declaring int functions causes warnings on some modern systems and
51908         shouldn't be needed to compile on ancient ones.
51909         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
51910         defined.
51911
51912         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
51913         with the following changes.
51914         (__set_errno): Parenthesize properly.
51915         Include <stdbool.h>.
51916         (MIN, MAX, MATCHING_INO): New macros.
51917         (__getcwd): Define with prototype, not K&R form.
51918         Use heuristics to allocate default buffer on stack if possible.
51919         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
51920         behavior, and to avoid the PATH_MAX limit when computing
51921         ../../../../...
51922         Use MATCHING_INO to compare inode number to file.
51923         Check for arithmetic overflow in size calculations.
51924         Fix bug in reallocation of dot array that caused getcwd to fail
51925         on directories nested deeper than 75.
51926         Be more careful about saving errno on error.
51927         Do not use realloc; use only free+malloc, as this is a bit
51928         more flexible and avoids a needless copy operation.
51929         Do not inspect st_dev and st_ino for symbolic links; POSIX
51930         doesn't specify the latter.
51931         Check for closedir errors.
51932         Avoid needless casts.
51933         Use "#ifdef weak_alias" around weak_alias, to be like other
51934         glibc code.
51935         The following changes to getcwd.c have effect only when used in
51936         gnulib; they have no effect inside glibc proper.
51937         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
51938         as alloca isn't used.
51939         (alloca, __alloca): Likewise.
51940         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
51941         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
51942         unconditionally, as gnulib assumes C89 or better.
51943         Do not include <sys/param.h>.
51944         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
51945         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
51946         better.
51947         (NULL) [!defined NULL]: Remove; we assume C89 or better.
51948         Include <dirent.h> in a way that is compatible with modern Autoconf.
51949         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
51950         New macros, if not already defined.
51951         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
51952         Use "_LIBC", not "defined _LIBC", for consistency.
51953         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
51954         a mempcpy module.
51955         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
51956         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
51957         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
51958         credit only to Jim Meyering and adjust the copyright dates.
51959         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
51960         <stdlib.h>, <unistd.h>, "pathmax.h".
51961         Instead, include "xgetcwd.h" (first) and "getcwd.h".
51962         (INITIAL_BUFFER_SIZE): Remove.
51963         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
51964
51965 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
51966
51967         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
51968         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
51969         Use the _ONCE methods, for efficiency.
51970         Check for fcntl.h.  In test program, include <errno.h>
51971         and <fcntl.h> if available.  Remove old K&R cruft from
51972         test program.  Check for common errors in GNU/Linux,
51973         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
51974         don't do AC_LIBOBJ, as that's getcwd.m4's job.
51975         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
51976         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
51977         name accordingly.
51978         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
51979         accommodate new getcwd.c.
51980         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
51981         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
51982         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
51983         that's all we need now.
51984
51985 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51986
51987         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
51988         argp-parse.c depends on getopt internals, that means we should
51989         always use our getopt, to be on the safe side.
51990         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
51991         order not to spoil the result of an eventual previous invocation
51992         of gl_GETOPT_SUBSTITUTE.
51993
51994 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51995
51996         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
51997         redefinition warnings. To avoid them, include the defines
51998         in `#if !defined __need_getopt ... #endif'. The only place
51999         where __getopt_argv_const is used is in definitions
52000         of getopt_long and getopt_long_only below, which are as well
52001         protected by `#ifndef __need_getopt'.
52002         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
52003         __need_getopt after including <stdio.h> and <unistd.h> These
52004         headers might have defined it.
52005
52006 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
52007
52008         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
52009
52010 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
52011
52012         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
52013         (futimens): New function, which uses futimes if available.
52014         (futimens, utimens): Support timespec==NULL, with same semantics
52015         as utime and utimens.
52016         * lib/utimens.h (futimens): New decl.
52017
52018 2004-11-23  Jim Meyering  <jim@meyering.net>
52019
52020         * lib/getopt_.h: Remove trailing blanks.
52021
52022 2004-11-23  Jim Meyering  <jim@meyering.net>
52023
52024         * lib/__fpending.c: Add comment.
52025
52026 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
52027
52028         * modules/canonicalize (Depends-on): Add xreadlink.
52029         Problem reported by James Youngman.
52030
52031 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
52032
52033         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
52034         New macros.
52035         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
52036         optopt): Use them instead of invoking ## directly; otherwise, the
52037         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
52038
52039 2004-11-19  Bruno Haible  <bruno@clisp.org>
52040
52041         * lib/strtok_r.c: Move comments from here...
52042         * lib/strtok_r.h: ... to here.
52043
52044 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
52045
52046         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
52047         implementations that mishandle size_t overflow.
52048
52049 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
52050
52051         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
52052         might fail.  Problem reported by Yoann Vandoorselaere.
52053         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
52054         implementations that mishandle size_t overflow.
52055
52056 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52057
52058         * modules/canon-host (Depends-on): Add strdup.
52059
52060 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52061
52062         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
52063
52064 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52065
52066         * lib/canon-host.c: Include "strdup.h".
52067         (canon_host): Use getaddrinfo if available, so that IPv6 works.
52068         Use strdup instead of malloc/strcpy to duplicate strings.
52069
52070         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
52071         (human_space_before_unit): New constant.
52072         * lib/human.c (human_readable): Support it.
52073
52074         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
52075         (xgetcwd): Set errno correctly when failing.
52076         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
52077         the failure is actually due to a PATH_MAX problem.
52078
52079         Further getopt changes to make it more likely that glibc will
52080         buy the changes back.
52081         * lib/getopt.c (POSIXLY_CORRECT): New constant.
52082         (getopt): Use it, so to preserve glibc semantic
52083         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
52084         when compiling for libc.
52085         * lib/getopt_.h (__getopt_argv_const): Bring it back.
52086         (getopt_long, getopt_long_only): Use it.
52087
52088         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
52089         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
52090         (getopt): Argv is now char * const *, as per standard.
52091         (_getopt_internal_r, _getopt_internal): Argv is now char **,
52092         not char *__getopt_argv_const *.
52093         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
52094         _getopt_long_only_r): Likewise.
52095         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
52096         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
52097         _getopt_long_r, _getopt_long_only_r): Likewise.
52098         * lib/getopt_.h (__getopt_argv_const): Remove.
52099         (getopt): Argv is now char * const *, as per standard.
52100
52101         * lib/getdate.y (tORDINAL): New token.
52102         (day, relunit): Allow it for relative times.
52103         (relative_time_table): Use tORDINAL for ordinals.
52104
52105 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52106
52107         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
52108         Document that "second" isn't allowed as an ordinal number.
52109
52110 2004-11-16  Jim Meyering  <jim@meyering.net>
52111
52112         * modules/closeout (Depends-on): Add fpending.
52113
52114 2004-11-15  Jim Meyering  <jim@meyering.net>
52115
52116         * lib/closeout.c: Include "__fpending.h" once again.
52117         Include <stdbool.h>.
52118         (close_stdout): Don't fail just because stdout was closed initially,
52119         since some programs don't write to stdout in the normal course of
52120         operation (other than --version and --help), and we don't want this
52121         function to make e.g. `touch file >&-' fail.
52122         But do fail if it was closed and someone has tried to write to it.
52123         E.g., `printf foo >&-' must fail.
52124
52125 2004-11-13  Jim Meyering  <jim@meyering.net>
52126
52127         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
52128
52129 2004-11-12  Simon Josefsson  <jas@extundo.com>
52130
52131         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
52132         small doc fix is still pending.
52133
52134 2004-11-11  Simon Josefsson  <jas@extundo.com>
52135
52136         * modules/strtok_r: New file.
52137
52138         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52139         strtok_r.
52140
52141 2004-11-11  Simon Josefsson  <jas@extundo.com>
52142
52143         * m4/strtok_r.m4: New file.
52144
52145         * m4/getopt.m4: Replace opterr.
52146
52147 2004-11-11  Simon Josefsson  <jas@extundo.com>
52148
52149         * lib/strtok_r.h, strtok_r.c: New file.
52150
52151 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
52152
52153         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
52154         of replacing opterr, getopt, etc.  This should handle the
52155         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
52156
52157 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
52158
52159         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
52160         we can stop lying to compilers about the constness of argv when we
52161         are compiled outside glibc.
52162         (getopt, getopt_long, getopt_long_only): Use it.
52163         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
52164         _getopt_internal, getopt): Likewise.
52165         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
52166         _getopt_long_only_r): Likewise.
52167         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
52168         _getopt_long_r, _getopt_long_only_r): Likewise.
52169
52170         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
52171         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
52172         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
52173         the other external symbols.
52174         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
52175         declaration, since the above renaming now works around collisions.
52176
52177 2004-11-11  Jim Meyering  <jim@meyering.net>
52178
52179         * lib/linebreak.c: Remove trailing blanks.
52180         * lib/alloca_.h: Likewise.
52181         * lib/acosl.c: Likewise.
52182         * lib/euidaccess.c: Likewise.
52183         * lib/allocsa.h: Likewise.
52184
52185 2004-11-10  Simon Josefsson  <jas@extundo.com>
52186
52187         * m4/getaddrinfo.m4: New file.
52188
52189 2004-11-10  Simon Josefsson  <jas@extundo.com>
52190
52191         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
52192
52193 2004-11-10  Simon Josefsson  <jas@extundo.com>
52194
52195         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52196         getaddrinfo.
52197
52198         * modules/getaddrinfo: New file.
52199
52200 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52201
52202         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
52203
52204 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52205
52206         * lib/mktime.c (SHR): New macro, which is a portable
52207         substitute for >> that should work even on Crays.
52208         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
52209         Problem reported by Mark D. Baushke in
52210         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
52211         * lib/getdate.y (SHR): Likewise.
52212         (tm_diff): Use it.
52213         * lib/strftime.c (SHR): Likewise.
52214         (tm_diff): Use it.
52215         * lib/quotearg.c (struct quoting_options): Use unsigned int for
52216         quote_these_too, so that right shifts are well defined.  All uses
52217         changed.
52218
52219 2004-11-10  Jim Meyering  <jim@meyering.net>
52220
52221         Ensure that no close failure goes unreported.
52222         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
52223         return early when it seems there's nothing to flush.
52224         Don't include __fpending.h.
52225
52226 2004-11-10  Jim Meyering  <jim@meyering.net>
52227
52228         * modules/closeout (Depends-on): Remove fpending.
52229
52230 2004-11-10  Jim Meyering  <jim@meyering.net>
52231
52232         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
52233
52234 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
52235
52236         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
52237         gl_FUNC_STRFTIME.
52238         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
52239         and AC_REQUIRE when possible, to avoid duplicate checks.
52240         Check for <wchar.h>.
52241
52242 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
52243
52244         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
52245
52246 2004-11-09  Bruno Haible  <bruno@clisp.org>
52247
52248         * m4/sockpfaf.m4: New file.
52249
52250 2004-11-05  Bruno Haible  <bruno@clisp.org>
52251
52252         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
52253         Reported by Mark D. Baushke <mdb@cvshome.org>.
52254
52255 2004-11-04  Bruno Haible  <bruno@clisp.org>
52256
52257         2004-09-11  Bruno Haible  <bruno@clisp.org>
52258                 * allocsa.valgrind: New file.
52259         2004-02-06  Bruno Haible  <bruno@clisp.org>
52260                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
52261                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
52262                 Reported by Christopher Seip <chris.seip@hp.com>.
52263
52264 2004-11-04  Bruno Haible  <bruno@clisp.org>
52265
52266         * modules/allocsa (Files): Add lib/allocsa.valgrind.
52267         (Makefile.am): Distribute it.
52268
52269 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
52270
52271         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
52272         with errno == ERANGE if the buffer is too small.
52273         Problem reported by Mark D. Baushke.
52274
52275 2004-11-03  Albert Chin  <china@thewrittenword.com>
52276             Paul Eggert  <eggert@cs.ucla.edu>
52277
52278         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
52279         equivalent, substitute $ac_type for equivalent type rather than
52280         blindly using uint32_t *always* which won't work if uint32_t is not
52281         available.  Define _UINT32_T to work around typedef of uint32_t if
52282         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
52283         2.5.1.
52284
52285 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
52286
52287         * m4/jm-macros.m4: Sync from coreutils.
52288         (gl_MACROS): Check for mbrlen, for pathchk.
52289         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
52290
52291 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
52292
52293         * lib/xreadlink.c (MAXSIZE): New macro.
52294         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
52295         size does not exceed MAXSIZE.  Avoid cast.
52296         As suggested by Mark D. Baushke in
52297         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
52298         if readlink fails with buffer size just under MAXSIZE, try again
52299         with MAXSIZE.
52300
52301 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
52302
52303         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
52304
52305 2004-11-02  Derek R. Price  <derek@ximbiot.com>
52306         and  Paul Eggert  <eggert@cs.ucla.edu>
52307
52308         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
52309         (get_date): Overparenthesize to avoid GCC warning.
52310
52311 2004-11-02  Bruno Haible  <bruno@clisp.org>
52312
52313         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
52314         returns void.
52315
52316 2004-11-02  Bruno Haible  <bruno@clisp.org>
52317
52318         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
52319         function returns void.
52320
52321 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
52322
52323         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
52324         fflush_unlocked, flockfile, funlockfile, funlockfile,
52325         fputs_unlocked, putc_unlocked.
52326
52327 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
52328
52329         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
52330         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
52331         already declared.
52332
52333 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52334
52335         * modules/getdate (Files): Add doc/getdate.texi.
52336         (Depends-on): Add setenv, xalloc.
52337
52338 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52339
52340         * lib/getdate.y: Add support for TZ="foo" within a date string.
52341         Fix some bugs near time_t boundaries.  Reject dates with
52342         out-of-range components, e.g., "Sept 31".
52343         Include <stdlib.h>, "setenv.h", "xalloc.h".
52344         (ISDIGIT_LOCALE): Remove; unused.
52345         Note that the TZ and time functions used here are not reentrant.
52346         (mktime_ok, get_tz): New functions.
52347         (TZBUFSIZE): New constant.
52348         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
52349         This requires that we sometimes generate our own TZ="XXX..." setting.
52350
52351 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52352
52353         * doc/getdate.texi: New file, from coreutils with modifications for
52354         the new TZ parsing.
52355
52356 2004-10-27  Derek R. Price  <derek@ximbiot.com>
52357
52358         * lib/mktime.c (not_equal_tm): Remove redundant check.
52359
52360 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52361
52362         * modules/regex (lib_SOURCES): Add regex.c.
52363         Reported by James Youngman in
52364         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
52365
52366 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52367
52368         * lib/getdate.y: Use Bison 1.875 features, and some minor
52369         code cleanups.  This change does not affect semantics.
52370         Don't include <stdlib.h>; no longer needed.
52371         Don't include unlocked-io.h; only the "#if TEST" code uses
52372         stdio, and performance isn't crucial there.
52373         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
52374         Bison 1.875 features as described below.
52375         All uses of "PC." replaced by "pc->".
52376         (YYSTYPE): Add a forward declaration.
52377         (yylex, yyerror): Use full prototypes in forward decls.
52378         Use "%pure-parser" rather than obsolescent "%pure_parser".
52379         Use %parse-param and %lex-param instead of obsolescent
52380         YYPARSE_PARAM and YYLEX_PARAM.
52381         (meridian_table, month_and_day_table, time_units_table,
52382         relative_time_table, time_zone_table, military_table,
52383         lookup_zone, lookup_word, get_date):
52384         Use NULL instead of 0 where appropriate.
52385         (to_hour): Avoid abort (), to avoid a dependency on
52386         stdlib.h.
52387         (yyerror, yylex): Now accepts parser_control * arg.
52388         (main) [TEST]: Use '\0' rather than 0 for char.
52389
52390 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
52391
52392         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
52393
52394 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
52395
52396         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
52397         It's now the caller's responsibility to handle the case where
52398         !HAVE_GETPAGESIZE && !defined getpagesize.
52399
52400         * lib/mktime.c (leapyear): Arg is long int, not int.
52401
52402 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
52403
52404         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
52405
52406 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
52407
52408         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
52409         missing.  Problem reported by James Youngman.
52410
52411 2004-10-16  Simon Josefsson  <jas@extundo.com>
52412
52413         * gnulib-tool: Fix comments.  Fix parse problem.
52414         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
52415
52416 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
52417
52418         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
52419         implementation of getopt_long.  Problem reported by Alexander Taler in:
52420         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
52421
52422 2004-10-15  Bruno Haible  <bruno@clisp.org>
52423
52424         * gnulib-tool: Untabify. Initialize supplied_libname.
52425         (func_usage): More homogenous output.
52426         (func_modules_transitive_closure, func_modules_to_filelist,
52427         func_emit_lib_Makefile_am): New functions.
52428         (func_import): New function, extracted from big case statement. Use
52429         func_get_license, func_modules_transitive_closure,
52430         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
52431         opt_lgpl. Don't use test -a, as it's not portable.
52432         (func_create_testdir): Use func_modules_transitive_closure,
52433         func_modules_to_filelist, func_emit_lib_Makefile_am.
52434
52435 2004-10-15  Bruno Haible  <bruno@clisp.org>
52436
52437         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
52438
52439 2004-10-15  Bruno Haible  <bruno@clisp.org>
52440
52441         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
52442         the portions belonging to each module.
52443         Suggested by Derek Robert Price <derek@ximbiot.com>.
52444
52445 2004-10-12  Simon Josefsson  <jas@extundo.com>
52446
52447         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
52448         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
52449         to real functions.
52450
52451 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52452
52453         * modules/vsnprintf: New file.
52454
52455 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52456
52457         * m4/vsnprintf.m4: New file.
52458
52459 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52460
52461         * lib/vsnprintf.h: New file.
52462         * lib/vsnprintf.c: New file.
52463
52464 2004-10-11  Bruno Haible  <bruno@clisp.org>
52465
52466         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
52467         vsnprintf.
52468
52469 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
52470
52471         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
52472
52473 2004-10-07  Bruno Haible  <bruno@clisp.org>
52474
52475         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
52476         fits into the provided buffer.
52477
52478 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
52479
52480         * lib/diacrit.c, diacrit.h: Add GPL notice.
52481
52482         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
52483         notice.
52484         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
52485         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
52486         This avoids a potential constant-folding bug.
52487
52488 2004-10-05  Bruno Haible  <bruno@clisp.org>
52489
52490         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
52491         for the declaration of strsep.
52492
52493 2004-10-05  Bruno Haible  <bruno@clisp.org>
52494
52495         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
52496
52497 2004-10-04  Simon Josefsson  <jas@extundo.com>
52498
52499         * modules/memmem: New file.
52500         * tests/test-memmem.c: New file.
52501         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
52502
52503 2004-10-04  Simon Josefsson  <jas@extundo.com>
52504
52505         * m4/memmem.m4: New file.
52506
52507 2004-10-04  Simon Josefsson  <jas@extundo.com>
52508
52509         * lib/memmem.h: New file.
52510         * lib/memmem.c: New file, taken from glibc.
52511
52512 2004-10-04  Simon Josefsson  <jas@extundo.com>
52513
52514         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
52515         '#ifdef USE_UNLOCKED_IO'.
52516
52517 2004-10-04  Simon Josefsson  <jas@extundo.com>
52518
52519         * config/srclist.txt: Add memmem from glibc.
52520
52521 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52522
52523         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
52524
52525         * modules/argmatch, modules/argp, modules/closeout, modules/error,
52526         modules/exclude, modules/getdate, modules/getline,
52527         modules/getndelim2, modules/getpass, modules/getpass-gnu,
52528         modules/getusershell, modules/linebuffer, modules/md5,
52529         modules/mountlist, modules/posixtm, modules/readtokens,
52530         modules/readutmp, modules/regex, modules/sha1,
52531         modules/version-etc, modules/yesno:
52532         Remove dependency on unlocked-io.
52533
52534 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52535
52536         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
52537
52538         * m4/unlocked-io.m4: Add copyright notice.
52539         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
52540
52541 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52542
52543         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
52544         * lib/xmalloc.c (xmemdup): Likewise.
52545         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
52546         XFREE): Remove these long-obsolescent macros.
52547         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
52548         * lib/xstrdup.c: Remove.
52549
52550         * lib/regex.c (re_comp): Cast gettext return value to char *,
52551         Problem reported by Martin Neitzel via Mark D. Baushke.
52552
52553 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
52554
52555         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
52556         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
52557         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
52558         regex.c, sha1.c, version-etc.c, yesno.c:
52559         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
52560         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
52561         the includer's responsibility.
52562
52563         Sync from coreutils.
52564
52565         * lib/modechange.c (mode_compile): Don't decrement a pointer that
52566         points to the start of a string, as the C Standard says the
52567         resulting behavior is undefined.
52568
52569         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
52570         simple -> simple_backups, numbered_existing ->
52571         numbered_existing_backups, numbered -> numbered_backups
52572         to avoid shadowing problems.  All uses changed.
52573         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
52574         * lib/backupfile.c (check_extension, numbered_backup):
52575         Rename locals to avoid shadowing 'basename'.
52576         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
52577         once.
52578
52579         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
52580         * lib/.cvsignore: Add getopt.h.
52581
52582 2004-10-04  Bruno Haible  <bruno@clisp.org>
52583
52584         * modules/README: New file.
52585         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
52586         not a module.
52587
52588 2004-10-02  Jim Meyering  <jim@meyering.net>
52589
52590         * lib/dirfd.h, getpagesize.h: Add copyright notice.
52591
52592 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52593
52594         * modules/strsep: New file.
52595
52596 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52597
52598         * m4/strsep.m4: New file.
52599
52600 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52601
52602         * lib/strsep.h: New file.
52603         * lib/strsep.c: New file.
52604
52605 2004-10-01  Simon Josefsson  <jas@extundo.com>
52606
52607         * lib/snprintf.c (snprintf): Handle size==0.
52608
52609 2004-10-01  Simon Josefsson  <jas@extundo.com>
52610             Bruno Haible  <bruno@clisp.org>
52611
52612         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
52613         (snprintf): Declare 'args'.
52614
52615 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
52616
52617         * lib/snprintf.c: Remove comments as to why each header is needed.
52618
52619 2004-10-01  Bruno Haible  <bruno@clisp.org>
52620
52621         * MODULES.html.sh: Add strsep.
52622
52623 2004-09-30  Simon Josefsson  <jas@extundo.com>
52624
52625         * modules/snprintf: New file.
52626
52627 2004-09-30  Simon Josefsson  <jas@extundo.com>
52628
52629         * m4/snprintf.m4: New file.
52630
52631 2004-09-30  Simon Josefsson  <jas@extundo.com>
52632
52633         * lib/snprintf.h, lib/snprintf.c: New files.
52634
52635 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52636
52637         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
52638         (hol_entry_help): Never translate an empty string.
52639         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
52640         * lib/argp.h (OPTION_NO_TRANS): New option.
52641
52642 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52643
52644         * modules/argp (Maintainer): Replace Simon Josefsson
52645         by Sergey Poznyakoff.
52646
52647 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52648
52649         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
52650         changes merged back into glibc.
52651
52652 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
52653
52654         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
52655
52656 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
52657
52658         * lib/xvasprintf.c: Include xalloc.h.
52659         (xvasprintf): Use xalloc_die, not xmalloc_die.
52660
52661 2004-09-29  Bruno Haible  <bruno@clisp.org>
52662
52663         * modules/alloca-opt: New file, derived from modules/alloca.
52664         * modules/allocsa: Depend on alloca-opt instead of alloca.
52665         * modules/setenv: Likewise.
52666         * modules/vasnprintf: Likewise.
52667         * MODULES.html.sh: Add alloca-opt.
52668
52669 2004-09-28  Simon Josefsson  <jas@extundo.com>
52670
52671         * gnulib-tool: New parameter --lgpl, to asseert that modules are
52672         LGPL, and to replace license template from GPL to LGPL.
52673
52674 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
52675
52676         * modules/dummy: Change license to LGPL.
52677
52678 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
52679
52680         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
52681
52682 2004-09-24  Simon Josefsson  <jas@extundo.com>
52683
52684         * modules/minmax (License): Change from GPL to LGPL.
52685
52686 2004-09-23  Simon Josefsson  <jas@extundo.com>
52687
52688         * gnulib-tool (--import): Typo.
52689
52690 2004-09-23  Simon Josefsson  <jas@extundo.com>
52691
52692         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
52693
52694 2004-09-22  Bruno Haible  <bruno@clisp.org>
52695
52696         * modules/*: Add 'License' field.
52697         * gnulib-tool: Accept --extract-license option.
52698         (func_get_license): New function.
52699
52700 2004-09-21  Bruno Haible  <bruno@clisp.org>
52701
52702         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
52703         Reported by Simon Josefsson.
52704
52705 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
52706
52707         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
52708         gl_AC_TYPE_LONG_LONG.
52709
52710 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
52711
52712         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
52713
52714 2004-09-18  Simon Josefsson  <jas@extundo.com>
52715         and  Paul Eggert  <eggert@cs.ucla.edu>
52716
52717         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
52718         calls with autoreconf.  Define GL_LIB.
52719
52720 2004-09-14  Karl Berry  <karl@gnu.org>
52721
52722         * config/srclist.txt: unsync setenv.c, sigh.
52723
52724 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
52725
52726         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
52727         Problem reported by Bruno Haible in:
52728         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
52729
52730 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
52731
52732         * config/srclist.txt: Comment out argp-pvh.c.
52733
52734 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
52735
52736         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
52737         in case some system header has #define'd it.  Problem reported by
52738         Soeren D. Schulze in
52739         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
52740
52741 2004-09-09  Karl Berry  <karl@gnu.org>
52742
52743         * regex.[ch]: delete from the root.  These were supposed to be
52744                 synced with emacs cvs, but this has not happened for about
52745                 a year, and anyway nothing else uses emacs regex.[ch].
52746                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
52747                 lib/regex[.ch] is untouched.
52748
52749 2004-09-09  Bruno Haible  <bruno@clisp.org>
52750
52751         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
52752
52753 2004-09-09  Bruno Haible  <bruno@clisp.org>
52754
52755         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
52756         modifications.
52757         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
52758
52759 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
52760
52761         * modules/xvasprintf: New file.
52762         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
52763
52764 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
52765
52766         * lib/xvasprintf.h: New file.
52767         * lib/xvasprintf.c: New file.
52768         * lib/xasprintf.c: New file.
52769
52770 2004-09-08  Bruno Haible  <bruno@clisp.org>
52771
52772         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
52773
52774 2004-09-08  Bruno Haible  <bruno@clisp.org>
52775
52776         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
52777         length is > INT_MAX.
52778         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
52779         more.
52780
52781 2004-09-08  Bruno Haible  <bruno@clisp.org>
52782
52783         * lib/stdint_.h: New file, taken from GNU clisp.
52784
52785 2004-09-08  Bruno Haible  <bruno@clisp.org>
52786             Oskar Liljeblad  <oskar@osk.mine.nu>
52787
52788         * modules/stdint: New file.
52789         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
52790
52791 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52792
52793         Import from coreutils.
52794         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
52795         strings on unbounded length.  alloca's performance benefits aren't
52796         that important here.
52797         (V_STRDUP): Remove.
52798         (parse_with_separator): New function, with most of the internals
52799         of the old parse_user_spec.  Allow user to omit both user and group,
52800         for compatibility with FreeBSD.
52801         Clone only the user name, not the entire spec.
52802         Do not set *uid, *gid unless entirely successful.
52803         Avoid memory leak in some failing cases.
52804         Fix regression for USER.GROUP reported by Dmitry V. Levin in
52805         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
52806         (parse_user_spec): Rewrite to use parse_with_separator.
52807
52808 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52809
52810         * modules/userspec: Don't depend on alloca.
52811
52812 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52813
52814         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
52815
52816 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
52817
52818         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
52819         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
52820         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
52821
52822 2004-08-16  Simon Josefsson  <jas@extundo.com>
52823
52824         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
52825         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
52826         Add --dry-run for --import.
52827         Let user provided command line parameters override configure.ac
52828         settings.
52829
52830 2004-08-12  Simon Josefsson  <jas@extundo.com>
52831
52832         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
52833         as discussed with Paul Eggert in threads rooted at
52834         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
52835         and
52836         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
52837         Before, the test was empty, and relied on ELIDE_CODE in source
52838         code.)
52839         (gl_PREREQ_GETOPT): New macro.
52840         (gl_GETOPT): Use them.
52841
52842 2004-08-12  Simon Josefsson  <jas@extundo.com>
52843
52844         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
52845         * lib/getopt_.h: Renamed from getopt.h.
52846
52847 2004-08-12  Simon Josefsson  <jas@extundo.com>
52848
52849         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
52850         Change default library name from libfoo to libgnu.
52851         Now, if you have a configure.ac that says:
52852                 gl_SOURCE_BASE(gl)
52853                 gl_M4_BASE(gl/m4)
52854                 gl_MODULES(error getopt etcetera)
52855                 gl_INIT
52856         you can import all you need by running:
52857                 ../gnulib/gnulib-tool --import
52858
52859         * modules/getopt (Files): Rename getopt.h to getopt_.h.
52860         (Makefile.am): Rewrite, use logic from argz.
52861         (Include): Use <getopt.h> instead of "getopt.h".
52862
52863 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52864
52865         * modules/argp (Files): Add m4/unlocked-io.m4.
52866         (Depends-on): Add extensions.
52867
52868 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52869
52870         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
52871         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
52872         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
52873         Check for program_invocation_name, program_invocation_short_name,
52874         flockfile, funlockfile, features.h, _getopt_long_only_r.
52875
52876 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52877
52878         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
52879         its complicated substitute.
52880         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
52881         and program_invocation_name.
52882         (__argp_basename) [!_LIBC]: Remove; the only use was
52883         replaced by its body.
52884         (__argp_short_program_name): Change condition from
52885         !defined __argp_short_program_name to
52886         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
52887         to match argp-namefrob.h.
52888         (__argp_failure): Don't assume strerror_r returns char *.
52889         * lib/argp-parse.c (N_): Define unconditionally.
52890         (argp_default_options): Fill out initializers with 0 to avoid
52891         gcc warnings.
52892
52893 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
52894
52895         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
52896         getopt1.c.
52897
52898 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
52899
52900         Merge from coreutils.
52901
52902         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
52903
52904         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
52905         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
52906
52907 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
52908
52909         Merge from coreutils.
52910
52911         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
52912         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
52913         for Reliant Unix 5.43.
52914
52915         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
52916         (union fooround): Use uintmax_t, not long int.
52917         The rest is a merge from libc:
52918         [defined _LIBC]: Include <shlib-compat.h>.
52919         (_obstack) [defined _LIBC]: Remove after 2.3.4.
52920
52921         * lib/settime.c (settime): Recode to avoid warning with
52922         Sun Forte C 6U2.
52923
52924         * lib/strverscmp.c: Convert to UTF-8.
52925
52926 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
52927
52928         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
52929         m4/uintmax_t.m4.
52930
52931 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52932
52933         * modules/xalloc-die: New file.
52934         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
52935
52936         * modules/md5 (Files): Add m4/uint32_t.m4.
52937         * modules/sha1: Renamed from modules/sha.
52938         (Files):
52939         Rename lib/sha.h to lib/sha1.h.
52940         Rename lib/sha.c to lib/sha1.c.
52941         Rename m4/sha.m4 to m4/sha1.m4.
52942         (lib_SOURCES): Likewise.
52943         (configure.ac): Rename gl_SHA to gl_SHA1.
52944         (Include): sha.h -> sha1.h.
52945
52946 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52947
52948         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
52949         * m4/sha1.m4: Renamed from sha.m4.
52950         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
52951
52952 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52953
52954         * lib/obstack.h (obstack_empty_p):
52955         Don't assume that chunk->contents is suitably aligned.
52956         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
52957         Likewise. Problem reported by Benno in
52958         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
52959
52960         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
52961         readable.  This could be improved further but it'd take some work.
52962
52963 2004-08-08  Simon Josefsson  <jas@extundo.com>
52964
52965         * modules/xgethostname (Depends-on): Remove exit and error (not
52966         used).
52967
52968         * modules/getpass-gnu: Add getpass.h.
52969         (Depends-on): Add stdbool.
52970         * modules/getpass: Add getpass.h.
52971
52972 2004-08-08  Simon Josefsson  <jas@extundo.com>
52973
52974         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
52975         Check getpass declaration.
52976
52977 2004-08-08  Simon Josefsson  <jas@extundo.com>
52978
52979         * lib/xgethostname.c: Don't include error.h (not used).
52980
52981         * lib/getpass.h: Add.
52982         * lib/getpass.c: Include getpass.h first.
52983
52984 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
52985
52986         * lib/xalloc-die.c: New file.
52987         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
52988         All uses removed.
52989         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
52990         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
52991         xalloc-die.c.
52992         (_, N_, xalloc_die): Move to xalloc-die.c.
52993         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
52994         so that we needn't mess with xalloc_msg_memory_exhausted.
52995
52996         * lib/sha1.h: Renamed from sha.h.
52997         (SHA1_H): Renamed from _SHA_H.
52998         (sha1_ctx): Renamed from sha_ctx.
52999         (sha1_init_ctx): Renamed from sha_init_ctx.
53000         (sha1_process_block): Renamed from sha_process_block.
53001         (sha1_process_bytes): Renamed from sha_process_bytes.
53002         (sha1_finish_ctx): Renamed from sha_finish_ctx.
53003         (sha1_read_ctx): Renamed from sha_read_ctx.
53004         (sha1_stream): Renamed from sha_stream.
53005         (sha1_buffer): Renamed from sha_buffer.
53006         * lib/sha1.c: Likewise; renamed from sha.c.
53007         Do not include <sys/types.h>.
53008         Include <stddef.h> rather than <stdlib.h>.
53009
53010 2004-08-08  Bruno Haible  <bruno@clisp.org>
53011
53012         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
53013         FILESYSTEM_PREFIX_LEN.
53014         * lib/progreloc.c: Likewise.
53015         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
53016
53017 2004-08-06  Simon Josefsson  <jas@extundo.com>
53018
53019         * modules/progname (Depends-on): Don't depend on stdbool.
53020
53021 2004-08-06  Simon Josefsson  <jas@extundo.com>
53022
53023         * modules/getsubopt: New file.
53024         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53025         getsubopt.
53026
53027 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
53028
53029         More merge from coreutils.
53030
53031         * m4/utimens.m4, m4/utimecmp.m4: New files.
53032         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
53033         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
53034         prereq.m4, sha.m4: Import changes from coreutils.
53035
53036 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
53037
53038         More merge from coreutils.
53039         * modules/raise, modules/readtokens0, modules/utimens:
53040         * modules/utimecmp, module/xnanosleep: New files.
53041         * modules/strftime: Add lib/strftime.h.
53042         Change include from <time.h> to "strftime.h".
53043         * modules/yesno: Add lib/yesno.h.
53044         * modules/backupfile: Remove lib/addext.c.
53045         * modules/euidaccess: Add stat-macros.h.
53046         * modules/canonicalize, modules/euidaccess,
53047         modules/filemode, modules/lchown, modules/makepath,
53048         modules/rmdir, modules/stat: Likewise.
53049
53050 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
53051
53052         Merge from tar.
53053         * lib/argp-help.c (make_hol, hol_append): Don't assume that
53054         SIZE_MAX is a valid preprocessor constant.
53055         (__argp_basename): Change from "#ifndef _LIBC"
53056         to "#ifndef __argp_short_program_name", so that
53057         we don't compile these functions for tar.
53058
53059         More merges from coreutils.
53060         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
53061         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
53062         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
53063         * lib/addext.c: Remove; no longer needed.
53064         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
53065         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
53066         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
53067         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
53068         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
53069         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
53070         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
53071         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
53072         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
53073         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
53074         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
53075         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
53076         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
53077         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
53078         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
53079         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
53080         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
53081         Import changes from coreutils.
53082
53083 2004-08-05  Simon Josefsson  <jas@extundo.com>
53084
53085         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
53086
53087 2004-08-05  Simon Josefsson  <jas@extundo.com>
53088
53089         * m4/getsubopt.m4: New file.
53090
53091 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
53092
53093         Merge from coreutils.
53094
53095         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
53096         * m4/getcwd-path-max.m4: New files.
53097
53098         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
53099         FILESYSTEM_PREFIX_LEN ->
53100         FILE_SYSTEM_PREFIX_LEN.
53101         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
53102         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
53103         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
53104         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
53105
53106         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
53107         prerequisite modules now handle the DOS stuff.
53108         Don't check for unistd.h.
53109
53110 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
53111
53112         Merge from coreutils.
53113
53114         * lib/.gdb-history: Remove; this doesn't belong here.
53115
53116         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
53117         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
53118         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
53119         * lib/getcwd.c: New files.
53120
53121         * lib/dirname.h: Include <stdbool.h>.
53122         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
53123         for consistency with POSIX terminology.  All uses changed.
53124         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
53125         (strip_trailing_slashes): Use bool for booleans.
53126         * lib/stripslash.c (strip_trailing_slashes): Likewise.
53127
53128         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
53129         sometimes returns a positive errno value even when it succeeds.
53130         (print_errno_message) [!LIBC]: Fall back on strerror if
53131         __strerror_r fails.
53132
53133         * lib/path-concat.c (mempcpy): Don't define if a system header defines
53134         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
53135         (longest_relative_suffix): New function.
53136         (path_concat): Use it.  Assume first argument is not NULL.
53137         Port to DOS.  Omit redundant separators.
53138         Report an error instead of returning NULL.
53139         Use mempcpy instead of memcpy.
53140         (xpath_concat): Remove: not declared or used.
53141
53142         * lib/same.h: Include <stdbool.h>
53143         (same_name): Return bool, not int.
53144         * lib/same.c (same_name): Likewise.
53145         (errno): Don't declare; we assume C89 or better now.
53146
53147         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
53148         if not already defined.
53149
53150         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
53151         * lib/dup-safer.c (errno): Likewise.
53152
53153 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
53154
53155         Merge from coreutils.
53156         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
53157         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
53158         * modules/path-concat: Don't depend on strdup.
53159
53160 2004-08-03  Simon Josefsson  <jas@extundo.com>
53161
53162         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
53163         * lib/progname.h: Don't include stdbool.h.
53164
53165 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
53166
53167         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
53168         * MODULES.html.sh (func_all_modules): Remove fatal.
53169
53170 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
53171
53172         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
53173
53174 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
53175
53176         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
53177         working.
53178
53179 2004-08-02  Simon Josefsson  <jas@extundo.com>
53180
53181         * lib/getsubopt.h: New file, with comments from Bruno Haible.
53182         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
53183         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
53184
53185 2004-08-01  Simon Josefsson  <jas@extundo.com>
53186
53187         * lib/xgetdomainname.c: Include stdlib.h, for free().
53188
53189 2004-07-19  Bruno Haible  <bruno@clisp.org>
53190
53191         * MODULES.html.sh (func_all_modules): Add dummy.
53192
53193 2004-07-16  Simon Josefsson  <jas@extundo.com>
53194
53195         * modules/dummy: New file.
53196
53197 2004-07-16  Simon Josefsson  <jas@extundo.com>
53198
53199         * lib/dummy.c: New file.
53200
53201 2004-07-16  Bruno Haible  <bruno@clisp.org>
53202
53203         * lib/backupfile.h: Add extern "C" for C++.
53204         * lib/closeout.h: Likewise.
53205         * lib/copy-file.h: Likewise.
53206         * lib/findprog.h: Likewise.
53207         * lib/full-write.h: Likewise.
53208         * lib/pathname.h: Likewise.
53209         * lib/progname.h: Likewise.
53210         * lib/stpcpy.h: Likewise.
53211         * lib/stpncpy.h: Likewise.
53212         * lib/strcase.h: Likewise.
53213         * lib/strstr.h: Likewise.
53214         * lib/xalloc.h: Likewise.
53215
53216         * lib/mbswidth.h: Add extern "C" for C++.
53217         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
53218
53219 2004-07-13  Robert Millan  <robertmh@gnu.org>
53220
53221         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
53222
53223 2004-07-09  Simon Josefsson  <jas@extundo.com>
53224
53225         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
53226         failed without this.)
53227
53228 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
53229
53230         * modules/chown (Files): Add lib/fchown-stub.c, since
53231         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
53232
53233 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
53234
53235         * lib/fchown-stub.c: New file.
53236
53237 2004-06-24  Jim Meyering  <jim@meyering.net>
53238
53239         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
53240
53241 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53242
53243         * modules/argz: Omit "#include".
53244
53245         * MODULES.html.sh (func_all_modules): Add calloc, to match
53246         2004-06-01 addition of calloc module.
53247
53248 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53249
53250         * m4/argz.m4: New file, which is autoupdated from libtool.
53251
53252 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53253
53254         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
53255         libtool.
53256
53257 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53258
53259         * config/srclist-update: Don't insist on "USA." before the
53260         close-comment, as libtool omits the period and puts the */ on a
53261         separate line.
53262         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
53263         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
53264
53265 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
53266
53267         * modules/argz: New file.
53268         * MODULES.html.sh (func_all_modules): Add argz.
53269
53270 2004-06-12  Jim Meyering  <jim@meyering.net>
53271         and  Paul Eggert  <eggert@cs.ucla.edu>
53272
53273         * modules/hash (Files): Add lib/xalloc.h.
53274         * modules/pipe (Depends-on): Add wait-process.
53275         * modules/stat (Depends-on): Add xalloc.
53276         * modules/userspec (Files): Add lib/userspec.h.
53277         * modules/xstrto
53278
53279         Upgrade from gettext-0.13.
53280         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
53281         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
53282         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
53283
53284 2004-06-10  Jim Meyering  <jim@meyering.net>
53285
53286         * lib/calloc.c: New file.
53287
53288 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
53289
53290         * lib/getdate.y (yylex): Allow space between sign and number.
53291         Problem reported by Dan Jacobson.
53292
53293 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
53294
53295         Merge from coreutils CVS.
53296
53297         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
53298         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
53299         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
53300         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
53301         xstrtol.m4: Fix copyright date and/or serial number.
53302
53303         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
53304         See if we need an fchown replacement.
53305         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
53306         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
53307         and use the replacement function if we detect either defect.
53308
53309         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
53310         gl_UTIMECMP.
53311
53312 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
53313         and  Jim Meyering  <jim@meyering.net>
53314
53315         Merge from coreutils CVS.
53316
53317         * lib/stat-macros.h: New file, with contents from file-type.h
53318         and coreutils' system.h.
53319         * lib/file-type.c: Include "stat-macros.h".
53320         * lib/file-type.h (file_type): Move all macro definitions to new file,
53321         stat-macros.h.
53322
53323         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
53324         Wrap old code with this conditional.
53325         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
53326         function that does not dereference symlinks.
53327         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
53328
53329         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
53330         dependency problems.
53331         (xreadlink): Accept new arg SIZE, for efficiency.
53332         All decls and uses changed.
53333         * lib/xreadlink.h: Include <stddef.h>, for size_t.
53334
53335         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
53336         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
53337
53338         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
53339         sysexits.h.
53340
53341 2004-06-01  Jim Meyering  <jim@meyering.net>
53342
53343         * m4/calloc.m4: New file.
53344
53345 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
53346
53347         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
53348         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
53349         Also, fix a typo in a diagnostic.
53350
53351 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
53352
53353         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
53354         or AC_FUNC_REALLOC.
53355
53356 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
53357
53358         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
53359         macros to be defined.
53360         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
53361         the allocator returns NULL because the requested size is zero.
53362
53363 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53364
53365         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
53366         var.  Add comment explaining why libc still defines it.  This
53367         merges the following patch from glibc:
53368         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
53369
53370 2004-05-20  Andreas Schwab  <schwab@suse.de>
53371
53372         * m4/free.m4: Replace free if it not known to work, not the other
53373         way round.
53374
53375 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
53376
53377         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
53378         present in glibc since revision 1.1 of this file.
53379         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
53380         obstack_alignment_mask, obstack_alloc, obstack_base,
53381         obstack_blank, obstack_blank_fast, obstack_chunk_size,
53382         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
53383         obstack_grow0, obstack_init, obstack_int_grow,
53384         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
53385         obstack_next_free, obstack_object_size, obstack_ptr_grow,
53386         obstack_ptr_grow_fast, obstack_room): Remove declarations of
53387         nonexistent functions.
53388
53389 2004-05-18  Karl Berry  <karl@gnu.org>
53390
53391         * config/srclist.txt: break link for vasnprintf.c.
53392
53393 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
53394
53395         Port obstack to the AS/400, where pointers are 16 bytes wide and
53396         you cannot cast an integer to a valid pointer.  This patch is
53397         currently waiting to be integrated into glibc; see
53398         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
53399
53400         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
53401         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
53402         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
53403         (struct obstack): temp member is now a union of a pointer and
53404         an integer, instead of an integer.  All integer uses changed.
53405         This does not affect the physical layout of struct obstack,
53406         except on hosts (like the AS/400) where the size or alignment of
53407         void * is greater than that of ptrdiff_t.
53408         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
53409         __STDC__)]: Store temporary in pointer member of union, not
53410         integer member.
53411         * lib/obstack.c: Include <stddef.h>, for offsetof.
53412         (struct fooalign): Remove; it doesn't need a name.
53413         (union fooround): Change double to long double, and add void *.
53414         (DEFAULT_ALIGNMENT): Use offsetof to compute.
53415         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
53416         not a macro.  Hence the values are always int; so remove all
53417         casts-to-int in uses.
53418
53419 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
53420
53421         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
53422         we can get this patch merged into glibc.
53423
53424 2004-05-17  Derek R. Price  <derek@ximbiot.com>
53425             Paul Eggert  <eggert@cs.ucla.edu>
53426
53427         * m4/argp: Depend on alloca.
53428
53429 2004-05-17  Derek R. Price  <derek@ximbiot.com>
53430             Paul Eggert  <eggert@cs.ucla.edu>
53431
53432         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
53433         freecoding.
53434
53435 2004-05-17  Bruno Haible  <bruno@clisp.org>
53436
53437         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
53438         precision that consists of a '.' followed by an empty digit string.
53439         Patch by Tor Lillqvist <tml@iki.fi>.
53440
53441 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
53442
53443         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
53444         for backward compatibility with older code.  We need our own
53445         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
53446         it under some other name, and our alloca.h will define it.
53447
53448 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
53449             Derek Price  <derek@ximbiot.com>
53450
53451         * lib/alloca.c: Include <alloca.h>, to get our interface.
53452         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
53453         include <alloca.h> first.  Use C89 prototype for alloca; this
53454         requires including <stddef.h> for size_t.  Use extern "C" if C++.
53455         Use #elif for simplicity, since we can assume C89 now.
53456         Don't try to source the system alloca.h since it will not be found
53457         and to prevent recursively including its replacement.
53458         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
53459         * lib/regex.c: Likewise.
53460
53461 2004-05-16  Derek Price  <derek@ximbiot.com>
53462             Paul Eggert  <eggert@cs.ucla.edu>
53463
53464         getline cleanup.  This changes the getndelim2 API: both order of
53465         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
53466         no delimiter).
53467
53468         * lib/getline.c: Don't include stddef.h or stdio.h, since our
53469         interface does that.
53470         (getline): Always use getdelim, so that we don't have two
53471         copies of this code.
53472         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
53473         if available.
53474         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
53475         (GETNDELIM2_MAXIMUM): New macro.
53476         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
53477         instead of the old practice of delim2==0.  All callers changed.
53478         Return -1 on overflow, instead of returning junk.
53479         Do not set *linesize unless allocation succeeds.
53480         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
53481         that we include sys/types.h.
53482         * lib/getnline.h: Likewise.
53483         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
53484         (getndelim2): Reorder arguments.
53485         * lib/getnline.c (getnline, getndelim):
53486         Don't discard the NMAX argument.
53487         (getnline): Invoke getndelim, to avoid code duplication.
53488         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
53489         of (size_t) -1 by callers of the getnline family.
53490
53491 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53492
53493         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
53494         Check for gettimeofday.
53495         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
53496         Check for settimeofday, stime.
53497
53498 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53499
53500         * lib/nanosleep.c (suspended): Change its type from int to
53501         sig_atomic_t volatile.
53502         (first_call): Make it private to rpl_nanosleep, and have it
53503         be zero initially as that's a bit faster.
53504         (my_usleep): Round up fractional times instead of truncating them,
53505         as this is the usual meaning for 'sleep'.
53506
53507         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
53508         doesn't work.
53509         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
53510         (ENOSYS): Define if not defined.
53511         (settime): Fall back on stime if it exists and settimeofday fails.
53512         But don't bother with fallbacks if a method fails with errno == EPERM.
53513
53514 2004-05-11  Jim Meyering  <jim@meyering.net>
53515
53516         Prior to this change, the save_cwd caller required read access to the
53517         current directory on most systems (ones with the fchdir function).
53518
53519         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
53520         fails, try write-only, and finally, resort to using xgetcwd.
53521
53522 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
53523
53524         * lib/obstack.c, obstack.h: Import changes from libc.
53525
53526 2004-04-28  Bruno Haible  <bruno@clisp.org>
53527
53528         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
53529         also implicitly appends .exe to executables.
53530         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
53531         accepts Windows pathnames.
53532         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
53533         Treat Cygwin like Windows, since it now accepts Windows pathnames.
53534         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
53535         Treat Cygwin like Windows, since it now accepts Windows pathnames.
53536         Reported by Derek Robert Price <derek@ximbiot.com>.
53537
53538 2004-04-21  Karl Berry  <karl@gnu.org>
53539
53540         * config/srclist.txt (localcharset.c): break sync.
53541
53542 2004-04-20  Paul Eggert  <eggert@twinsun.com>
53543
53544         * m4/host-os.m4: Add a copyright notice.
53545
53546 2004-04-20  Jim Meyering  <jim@meyering.net>
53547
53548         Change UTILS_ to gl_ in AC_DEFINE'd names.
53549         Change utils_- and jm_-prefixed variables, too.
53550         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
53551         UTILS_FUNC_MKDIR_TRAILING_SLASH.
53552         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
53553
53554         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
53555         Don't emit trailing blanks.
53556         Also rename jm_-prefixed variables to have gl_ prefix.
53557
53558         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
53559         Also rename jm_-prefixed variables to have gl_ prefix.
53560
53561         * m4/jm-macros.m4: Reflect the renamings.
53562         * m4/prereq.m4: Likewise.
53563
53564 2004-04-20  Jim Meyering  <jim@meyering.net>
53565
53566         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
53567         memory.
53568
53569 2004-04-20  Jim Meyering  <jim@meyering.net>
53570             Bruno Haible  <bruno@clisp.org>
53571
53572         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
53573         memory when realloc fails.
53574
53575 2004-04-19  Jim Meyering  <jim@meyering.net>
53576
53577         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
53578         now that readutmp.c may call `free (0)'.
53579
53580 2004-04-19  Bruno Haible  <bruno@clisp.org>
53581
53582         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
53583         * m4/inttypes_h.m4: Likewise.
53584         * m4/stdint_h.m4: Likewise.
53585         * m4/intmax_t.m4: Likewise.
53586         * m4/uintmax_t.m4: Likewise.
53587
53588 2004-04-18  Jim Meyering  <jim@meyering.net>
53589
53590         * m4/prereq.m4: Don't forbid jm_ prefix.
53591
53592         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
53593         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
53594         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
53595         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
53596         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
53597         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
53598         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
53599         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
53600         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
53601         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
53602         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
53603         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
53604         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
53605         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
53606         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
53607         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
53608         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
53609         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
53610         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
53611
53612 2004-04-18  Jim Meyering  <jim@meyering.net>
53613
53614         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
53615         failure, don't leak memory and do call END_UTMP_ENT.
53616
53617 2004-04-16  Jim Meyering  <jim@meyering.net>
53618
53619         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
53620         coreutils' stat program.
53621         (gl_PREREQ): Don't require jm_PREREQ_STAT.
53622
53623 2004-04-11  Paul Eggert  <eggert@twinsun.com>
53624
53625         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
53626         C89.
53627         (CHAR_BIT): Remove, since we assume C89.
53628         Include <stdint.h> if available, as per current Autoconf CVS advice.
53629
53630 2004-03-31  Jim Meyering  <jim@meyering.net>
53631
53632         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
53633         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
53634         * m4/xalloc.m4: Likewise.
53635
53636 2004-03-30  Paul Eggert  <eggert@twinsun.com>
53637
53638         Merge from coreutils.
53639
53640         * m4/inttostr.m4: New file.
53641         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
53642         Require AM_STDBOOL_H and gl_TIMESPEC instead.
53643         Require gl_CLOCK_TIME.
53644         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
53645
53646 2004-03-30  Paul Eggert  <eggert@twinsun.com>
53647
53648         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
53649         not bool, to be more consistent with Unix conventions.
53650         Suggested by Bruno Haible.
53651
53652         Merge from coreutils.
53653
53654         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
53655         * lib/umaxtostr.c: New files.
53656
53657         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
53658         the usual <time.h> dance.
53659         (get_date): Change signature to support fractional time stamps.
53660         All callers changed.
53661         * lib/getdate.y: Include "getdate.h" first, as we can now
53662         assume C89 and don't need to worry about 'const'.
53663         Similarly, include "unlocked-io.h" near start, not in middle.
53664         Include <limits.h>.
53665         (textint.value): Use long int rather than int.
53666         (textint.digits): Use size_t rather than int.
53667         (BILLION, LOG10_BILLION): New constants.
53668         (parser_control): New member rel_ns.  Members day_ordinal,
53669         time_zone, month, day, hour, minutes, rel_year, rel_month,
53670         rel_day, rel_hour, rel_minutes, rel_seconds
53671         are now long int, not int.  Member seconds is now struct timespec,
53672         not int.  New member timespec_seen.  Members dates_seen, days_seen,
53673         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
53674         not int.
53675         (%union.intval): Now long int, not int.
53676         New member timespec.
53677         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
53678         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
53679         (spec): Now is a timespec or an item list.
53680         (timespec, items): New nonterminals.
53681         (time, rel, relunit, number, get_date):
53682         Add support for fractional seconds.
53683         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
53684         (gmtime, localtime, mktime): Remove decls; not needed with C89.
53685         (to_hour): First arg is now long int, not int.
53686         (to_year): Returns long int, not int.
53687         Don't treat year -70 like 70.
53688         (tm_diff): Returns long int, not int.
53689         (lookup_word): Use bool instead of int when appropriate.
53690         (yylex): Use size_t for count, not int.
53691         Detect overflow when parsing large integer constants.
53692         Add support for fractions.
53693         (get_date): Make pointers 'const' if possible.
53694         Use more-portable code to detect integer overflow.
53695         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
53696         Don't use ctime; it's not reliable if the year has >4 digits.
53697
53698         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
53699         This is for compatibility with BSD.
53700
53701         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
53702         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
53703         From coreutils' system.h.
53704
53705         * lib/userspec.c: Don't include "posixver.h".
53706         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
53707         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
53708         compatible extension.  Simplify code by removing a boolean int
53709         that was always nonzero if a string was nonnull.
53710
53711 2004-03-30  Jim Meyering  <jim@meyering.net>
53712
53713         Merge from coreutils.
53714
53715         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
53716         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
53717         on some systems one must include <grp.h> before it.
53718         Reported by Christian Krackowizer.
53719
53720 2004-03-30  Jim Meyering  <jim@meyering.net>
53721
53722         Merge from coreutils.
53723
53724         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
53725
53726         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
53727         an empty input stream.
53728
53729         * lib/readtokens.c: Include <stdbool.h>.
53730         (readtoken): Use `size_t' rather than int/long.
53731         All callers adjusted.
53732         Use `bool' rather than `int' where appropriate.
53733         Use memset rather than an explicit loop.
53734         Use x2nrealloc rather than xrealloc.
53735         Allow the use of `\0' as a delimiter.
53736         (readtokens): Likewise.
53737         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
53738
53739 2004-03-30  Jim Meyering  <jim@meyering.net>
53740
53741         * m4/realloc.m4: Remove file, since now it does no more than
53742         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
53743         the `configure.ac' section of module/realloc.
53744         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
53745
53746 2004-03-30  Bruno Haible  <bruno@clisp.org>
53747
53748         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
53749         nonnull.
53750
53751 2004-03-29  Paul Eggert  <eggert@twinsun.com>
53752
53753         Merge changes to getloadavg.c from coreutils and Emacs.
53754
53755         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
53756         Define to an expression, not to the empty string.
53757         Include cloexec.h and xalloc.h.
53758         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
53759         Use set_cloexec_flag rather than rolling our own.
53760         * lib/cloexec.c, lib/cloexec.h: New files.
53761
53762 2004-03-29  Paul Eggert  <eggert@twinsun.com>
53763
53764         * m4/cloexec.m4: New file.
53765
53766 2004-03-18  Paul Eggert  <eggert@twinsun.com>
53767
53768         * lib/getopt.h: Sync with libc CVS.
53769
53770 2004-03-18  Paul Eggert  <eggert@twinsun.com>
53771             Bruno Haible  <bruno@clisp.org>
53772
53773         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
53774         mbswidth.
53775
53776 2004-03-18  Paul Eggert  <eggert@twinsun.com>
53777             Bruno Haible  <bruno@clisp.org>
53778
53779         * lib/mbswidth.h: Include <wchar.h> only if
53780         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
53781         <wchar.h>.
53782         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
53783
53784 2004-03-09  Paul Eggert  <eggert@twinsun.com>
53785
53786         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
53787         Sync with libc CVS.
53788         * lib/getopt_int.h: New file, also synced from libc.
53789
53790 2004-03-09  Paul Eggert  <eggert@twinsun.com>
53791
53792         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
53793         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
53794         Bring back getopt.c, getopt.h, getopt1.c.
53795
53796 2004-03-07  Paul Eggert  <eggert@twinsun.com>
53797
53798         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
53799         All uses changed.  Check for sa_sigaction member; this fixes
53800         a bug first reported by Jason Andrade in
53801         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
53802
53803 2004-03-07  Paul Eggert  <eggert@twinsun.com>
53804
53805         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
53806         '#if' expressions.  Unlike the code it replaces, it does not
53807         depend on (defined _SC_PAGESIZE).  However, it does depend on
53808         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
53809         first reported by Jason Andrade in
53810         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
53811
53812 2004-02-25  Simon Josefsson  <jas@extundo.com>
53813
53814         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
53815
53816 2004-02-25  Simon Josefsson  <jas@extundo.com>
53817
53818         * lib/strdup.h: New file.
53819         * lib/strdup.c: Include it.
53820         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
53821         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
53822
53823 2004-02-23  Karl Berry  <karl@gnu.org>
53824
53825         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
53826         (from fencepost.gnu.org:/gd/gnuorg).
53827
53828 2004-02-23  Karl Berry  <karl@gnu.org>
53829
53830         * config/srclistvars.sh (GNUORG) [karl]: redefine.
53831         * config/srclist.txt: add maintain/standards documents.
53832
53833 2004-02-18  Bruno Haible  <bruno@clisp.org>
53834
53835         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
53836         Reported by Derek Robert Price <derek@ximbiot.com>.
53837
53838 2004-02-16  Karl Berry  <karl@gnu.org>
53839
53840         * config/mkinstalldirs, install-sh: update from automake.
53841
53842 2004-02-06  Karl Berry  <karl@gnu.org>
53843
53844         * m4/po.m4: update from gettext 0.14.1.
53845
53846 2004-02-06  Karl Berry  <karl@gnu.org>
53847
53848         * lib/config.charset: update from gettext 0.14.1.
53849
53850 2004-02-05  Paul Eggert  <eggert@twinsun.com>
53851
53852         Add comments and code, prompted by suggestions from Bruno Haible
53853         for sh-quote.
53854         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
53855         describing the enum quoting_style values.
53856         * lib/quotearg.c (quotearg_alloc): New function.
53857         (quotearg_buffer_restyled): Treat lone { and } as special.
53858         Treat = as special.  Work around bug with older shells
53859         that "see" a '\' that is really the 2nd byte of a multibyte char.
53860         Quote empty string with shell_quoting_style.
53861
53862 2004-02-03  Bruno Haible  <bruno@clisp.org>
53863
53864         * m4/pipe.m4: New file, from GNU gettext.
53865
53866 2004-02-03  Bruno Haible  <bruno@clisp.org>
53867
53868         * lib/pipe.h: New file, from GNU gettext.
53869         * lib/pipe.c: New file, from GNU gettext.
53870
53871 2004-01-27  Bruno Haible  <bruno@clisp.org>
53872
53873         * m4/execute.m4: New file, from GNU gettext.
53874
53875 2004-01-27  Bruno Haible  <bruno@clisp.org>
53876
53877         * lib/execute.h: New file, from GNU gettext.
53878         * lib/execute.c: New file, from GNU gettext.
53879         * lib/w32spawn.h: New file, from GNU gettext.
53880
53881 2004-01-24  Paul Eggert  <eggert@twinsun.com>
53882
53883         Merge from diffutils.
53884
53885         * lib/file-type.c (file_type): Add typed memory objects.
53886         * lib/file-type.h (S_TYPEISTMO): New macro.
53887
53888         * lib/c-stack.h (c_stack_action): Remove argv argument.
53889         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
53890         (die): Don't calculate message unless segv_action returns.
53891         (get_stack_location, min_address_from_argv, max_address_from_argv,
53892         volatile stack_base, volatile_stack_size): Remove.
53893         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
53894         that every segmentation violation is a stack overflow.  (Ouch!)
53895         See Debian bug 136249 (still outstanding) for more info about why
53896         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
53897
53898 2004-01-24  Paul Eggert  <eggert@twinsun.com>
53899
53900         Exit-status fix from coreutils.
53901
53902         Use exit_failure consistently in place of EXIT_FAILURE,
53903         so that program exit statuses are consistent on failure.
53904
53905         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
53906         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
53907         * lib/argmatch.h: Comment fix to match the above.
53908         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
53909         Now a macro referring to exit_failure, instead of a separate
53910         variable.  Include "exitfail.h" to get it.
53911         * lib/xstrtol.h: Include "exitfail.h".
53912         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
53913
53914         * lib/long-options.c (parse_long_options): Use prototype
53915         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
53916         for clarity.
53917
53918 2004-01-21  Jim Meyering  <jim@meyering.net>
53919
53920         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
53921         so as not to conflict with a different-sized __mktime_internal
53922         function in GNU libc.
53923         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
53924         Problem building statically-linked `ls' reported by Michael Brunnbauer.
53925
53926 2004-01-20  Karl Berry  <karl@gnu.org>
53927
53928         * config/config.guess: update from config.
53929
53930         * config/srclistvars.sh: GNUWWWLICENSES for karl.
53931
53932 2004-01-20  Bruno Haible  <bruno@clisp.org>
53933
53934         Safer stack allocation.
53935         * lib/setenv.c: Include allocsa.h.
53936         (alloca): Remove fallback definition.
53937         (freea): Remove macro.
53938         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
53939         instead of freea.
53940
53941 2004-01-20  Bruno Haible  <bruno@clisp.org>
53942
53943         * m4/eealloc.m4: New file, from GNU gettext.
53944
53945 2004-01-20  Bruno Haible  <bruno@clisp.org>
53946
53947         * m4/allocsa.m4: New file, from GNU gettext.
53948
53949 2004-01-20  Bruno Haible  <bruno@clisp.org>
53950
53951         * lib/xallocsa.h: New file, from GNU gettext.
53952         * lib/xallocsa.c: New file, from GNU gettext.
53953
53954 2004-01-20  Bruno Haible  <bruno@clisp.org>
53955
53956         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
53957
53958 2004-01-20  Bruno Haible  <bruno@clisp.org>
53959
53960         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
53961         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
53962         specially.
53963
53964 2004-01-20  Bruno Haible  <bruno@clisp.org>
53965
53966         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
53967         patch.
53968
53969 2004-01-20  Bruno Haible  <bruno@clisp.org>
53970
53971         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
53972
53973 2004-01-20  Bruno Haible  <bruno@clisp.org>
53974
53975         * lib/eealloc.h: New file.
53976
53977 2004-01-20  Bruno Haible  <bruno@clisp.org>
53978
53979         * lib/binary-io.h: Avoid warnings on Cygwin.
53980
53981 2004-01-20  Bruno Haible  <bruno@clisp.org>
53982
53983         * lib/allocsa.h: New file, from GNU gettext.
53984         * lib/allocsa.c: New file, from GNU gettext.
53985
53986 2004-01-18  Karl Berry  <karl@gnu.org>
53987
53988         * doc/gpl.texi, doc/lgpl.texi: new files.
53989
53990 2004-01-18  Karl Berry  <karl@gnu.org>
53991
53992         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
53993         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
53994
53995 2004-01-15  Paul Eggert  <eggert@twinsun.com>
53996
53997         Merge from coreutils.
53998
53999         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
54000         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
54001         (gl_DEFAULT_POSIX2_VERSION): Move
54002         the documentation from 'configure' into 'config.hin',
54003         so that 'configure --help' isn't burdened by it and
54004         we don't have to worry about its formatting there.
54005         Reword the documentation so that it's more succinct
54006         and can be run together into a single paragraph.
54007         * m4/same.m4 (gl_SAME): Check for pathconf.
54008
54009 2004-01-15  Paul Eggert  <eggert@twinsun.com>
54010
54011         Merge from coreutils.
54012
54013         * lib/posixver.c: Include posixver.h.
54014
54015         * lib/same.c: Include <stdbool.h>, <limits.h>.
54016         (_POSIX_NAME_MAX): Define if not defined.
54017         (MIN): New macro.
54018         (same_name): If file names are silently truncated, report
54019         that the file names are the same if they are the same after
54020         the silent truncation.
54021
54022         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
54023         conversion function.
54024         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
54025         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
54026         longer needed.
54027
54028 2004-01-15  Jim Meyering  <jim@meyering.net>
54029
54030         Merge from coreutils.
54031
54032         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
54033         if no library is required.
54034         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
54035         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
54036         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
54037         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
54038         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
54039         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
54040         value, $ac_cv_search_crypt, if it's "none required".
54041         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
54042         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
54043         not gl_FUNC_GETLOADAVG.
54044         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
54045         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
54046
54047 2004-01-15  Jim Meyering  <jim@meyering.net>
54048
54049         Merge from coreutils.
54050
54051         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
54052         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
54053         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
54054
54055         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
54056         optional configure-time default.
54057
54058         * lib/version-etc.c (version_etc_copyright): Update copyright date.
54059
54060         * lib/xreadlink.c (xreadlink): Correct outdated comment.
54061
54062 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
54063
54064         Merge from coreutils.
54065
54066         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
54067         value, $ac_cv_search_nanosleep, if it's "none required".
54068
54069 2004-01-14  Paul Eggert  <eggert@twinsun.com>
54070
54071         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
54072         with like-named macro in fnmatch.c.
54073         (EXT): Use an internal constant instead.
54074
54075         Merge fnmatch patches from glibc.
54076         * lib/fnmatch.c (mbsinit): Remove define.
54077         Add libc_hidden_ver (__fnmatch, fnmatch).
54078         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
54079         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
54080
54081 2004-01-14  Karl Berry  <karl@gnu.org>
54082
54083         * config/install-sh: update from automake.
54084
54085 2004-01-13  Karl Berry  <karl@gnu.org>
54086
54087         * config/install-sh: update from automake.
54088
54089 2004-01-09  Karl Berry  <karl@gnu.org>
54090
54091         * config/install-sh: update from automake.
54092
54093 2004-01-05  Karl Berry  <karl@gnu.org>
54094
54095         * config/config.{sub,guess}: update from config.
54096
54097 2003-12-31  Karl Berry  <karl@gnu.org>
54098
54099         * config/depcomp: update from automake.
54100
54101 2003-12-14  Karl Berry  <karl@gnu.org>
54102
54103         * lib/config.charset: update from gettext-runtime.
54104
54105 2003-12-03  Paul Eggert  <eggert@twinsun.com>
54106
54107         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
54108         Bug reported by Alfred M. Szmidt.
54109
54110 2003-12-03  Bruno Haible  <bruno@clisp.org>
54111
54112         * m4/gettext.m4: Upgrade from gettext-0.13.
54113         * m4/po.m4: Upgrade from gettext-0.13.
54114         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
54115         * m4/intmax.m4: New file, from gettext-0.13.
54116         * m4/printf-posix.m4: New file, from gettext-0.13.
54117
54118 2003-11-29  Karl Berry  <karl@gnu.org>
54119
54120         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
54121
54122 2003-11-25  Paul Eggert  <eggert@twinsun.com>
54123             Bruno Haible  <bruno@clisp.org>
54124
54125         * lib/printf-parse.h: Don't include sys/types.h.
54126         (ARG_NONE): New macro.
54127         (char_directive): Change type of *arg_index fields to size_t.
54128         * lib/printf-parse.c: Don't include sys/types.h.
54129         (SSIZE_MAX): Remove macro.
54130         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
54131         Remove unnecessary overflow check.
54132         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
54133         fields.
54134
54135 2003-11-25  Bruno Haible  <bruno@clisp.org>
54136
54137         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
54138
54139 2003-11-25  Bruno Haible  <bruno@clisp.org>
54140
54141         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
54142         gt_TYPE_SSIZE_T.
54143
54144 2003-11-24  Paul Eggert  <eggert@twinsun.com>
54145
54146         * modules/alloca: Remove dependency on xalloc.
54147
54148 2003-11-24  Paul Eggert  <eggert@twinsun.com>
54149
54150         * lib/alloca.c: Remove dependency on xalloc module.
54151         (xalloc_die): Remove.
54152         (memory_full) [!defined emacs]: New macro.
54153         [!defined emacs]: Don't include xalloc.h.
54154         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
54155         address arithmetic overflows.  Change datatypes a bit to avoid
54156         unnecessary casts.
54157
54158 2003-11-22  Jim Meyering  <jim@meyering.net>
54159
54160         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
54161         s/size/size_t/.
54162
54163 2003-11-21  Karl Berry  <karl@gnu.org>
54164
54165         * config/config.{sub,guess}: update from config.
54166
54167 2003-11-18  Karl Berry  <karl@gnu.org>
54168
54169         * config/config.{sub,guess}: update from config.
54170
54171         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
54172
54173 2003-11-17  Paul Eggert  <eggert@twinsun.com>
54174
54175         * README: Mention that S+T cannot overflow if S is the size of
54176         an existing object and T is sufficiently small.
54177
54178 2003-11-17  Jim Meyering  <jim@meyering.net>
54179
54180         On systems without utime and without a utimes function capable of
54181         dealing with a NULL struct utimbuf* argument, this utime replacement
54182         could -- in unusual circumstances -- leak a file descriptor.
54183         * lib/utime.c: Include <unistd.h> and <errno.h>.
54184         (utime_null): Be sure to close `fd' and to preserve errno.
54185         Reported by Geoff Collyer via Arnold Robbins.
54186
54187 2003-11-17  Bruno Haible  <bruno@clisp.org>
54188
54189         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
54190         (Depends-on): Add xsize.
54191
54192 2003-11-17  Bruno Haible  <bruno@clisp.org>
54193
54194         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
54195
54196 2003-11-17  Bruno Haible  <bruno@clisp.org>
54197
54198         * lib/vasnprintf.c (alloca): Remove fallback definition.
54199         (freea): Remove definition.
54200         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
54201         Reported by Paul Eggert.
54202
54203 2003-11-16  Paul Eggert  <eggert@twinsun.com>
54204             Bruno Haible  <bruno@clisp.org>
54205
54206         Protect against address arithmetic overflow.
54207         * lib/printf-args.h: Include stddef.h.
54208         (arguments): Change type of field 'count' to size_t.
54209         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
54210         'unsigned int' where appropriate.
54211         * lib/printf-parse.h: Include sys/types.h.
54212         (char_directive): Change type of *arg_index fields to ssize_t.
54213         (char_directives): Change type of fields 'count', max_*_length to
54214         size_t.
54215         * lib/printf-parse.c: Include sys/types.h and xsize.h.
54216         (SSIZE_MAX): Define fallback value.
54217         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
54218         instead of 'int' where appropriate. Check a_allocated, d_allocated
54219         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
54220         * lib/vasnprintf.c: Include xsize.h.
54221         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
54222         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
54223         overflow. Avoid wraparound when converting a width or precision from
54224         decimal to binary.
54225
54226 2003-11-16  Bruno Haible  <bruno@clisp.org>
54227
54228         Update from GNU gettext.
54229         * lib/printf-parse.c: Generalize to it can be compiled for wide
54230         strings.
54231         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
54232         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
54233         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
54234         SNPRINTF): New macros.
54235         Don't include <alloca.h> if the file is used inside libintl.
54236         (local_wcslen): New function, for Solaris 2.5.1.
54237         (VASNPRINTF): Use it instead of wcslen.
54238
54239 2003-11-16  Bruno Haible  <bruno@clisp.org>
54240
54241         * lib/xsize.h (xmax): New function.
54242         (xsum, xsum3, xsum4): Declare as "pure" functions.
54243
54244 2003-11-12  Paul Eggert  <eggert@twinsun.com>
54245
54246         * modules/xalloc (Files): Undo latest change, since xalloc.h
54247         no longer needs SIZE_MAX or PTRDIFF_MAX.
54248
54249 2003-11-12  Paul Eggert  <eggert@twinsun.com>
54250
54251         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
54252         gl_PTRDIFF_MAX.
54253
54254 2003-11-12  Paul Eggert  <eggert@twinsun.com>
54255
54256         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
54257         "return", to pacify some unknown compiler.  Problem reported
54258         by Joerg Schilling.
54259
54260 2003-11-12  Paul Eggert  <eggert@twinsun.com>
54261
54262         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
54263         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
54264         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
54265         heuristic is just as accurate as far as we know, and it removes a
54266         dependency on size_max.m4 and ptrdiff_max.m4.
54267
54268 2003-11-11  Bruno Haible  <bruno@clisp.org>
54269
54270         * modules/xsize (Files): Add m4/size_max.m4.
54271         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
54272
54273 2003-11-11  Bruno Haible  <bruno@clisp.org>
54274
54275         * m4/size_max.m4: New file.
54276         * m4/ptrdiff_max.m4: New file.
54277         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
54278         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
54279         (gl_XALLOC): Invoke it.
54280
54281 2003-11-11  Bruno Haible  <bruno@clisp.org>
54282
54283         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
54284         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
54285         defined.
54286
54287 2003-11-10  Paul Eggert  <eggert@twinsun.com>
54288
54289         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
54290         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
54291         rejected some allocations of exactly SIZE_MAX - 2 bytes.
54292         From Bruno Haible.
54293         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
54294         not (size_t) -1, since it's defined here.
54295
54296 2003-11-09  Karl Berry  <karl@gnu.org>
54297
54298         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
54299
54300 2003-11-06  Paul Eggert  <eggert@twinsun.com>
54301
54302         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
54303         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
54304         Reject sizes of exactly SIZE_MAX bytes.
54305         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
54306         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
54307
54308 2003-11-05  Bruno Haible  <bruno@clisp.org>
54309
54310         * lib/xsize.h: Include limits.h, to avoid a possible collision with
54311         SIZE_MAX defined in <limits.h> on Solaris.
54312
54313 2003-11-04  Jim Meyering  <jim@meyering.net>
54314
54315         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
54316         variable names, rather than @VAR@.
54317         * modules/poll: Likewise.
54318
54319 2003-11-04  Bruno Haible  <bruno@clisp.org>
54320
54321         * modules/xsize: New file.
54322         * modules/linebreak: Depend on xsize.
54323         * MODULES.html.sh (func_all_modules): Add xsize.
54324
54325 2003-11-04  Bruno Haible  <bruno@clisp.org>
54326
54327         * m4/xsize.m4: New file.
54328
54329 2003-11-04  Bruno Haible  <bruno@clisp.org>
54330
54331         * lib/xsize.h: New file.
54332         * lib/linebreak.c: Include xsize.h.
54333         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
54334         argument for overflow.
54335         Suggested by Paul Eggert.
54336
54337 2003-11-03  Karl Berry  <karl@gnu.org>
54338
54339         * config/config.{guess,sub}: update from config.
54340
54341 2003-11-03  Jim Meyering  <jim@meyering.net>
54342
54343         * modules/userspec (lib_SOURCES): Add userspec.h.
54344         (Include): Add "userspec.h".
54345         Improve description.
54346
54347 2003-11-03  Jim Meyering  <jim@meyering.net>
54348
54349         * lib/userspec.c: Include "userspec.h".
54350         * lib/userspec.h: New file.
54351
54352 2003-11-03  Bruno Haible  <bruno@clisp.org>
54353
54354         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
54355
54356 2003-11-03  Bruno Haible  <bruno@clisp.org>
54357
54358         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
54359         available, to avoid (extremely rare) race condition.
54360         Suggested by Paul Eggert.
54361
54362 2003-11-02  Karl Berry  <karl@gnu.org>
54363
54364         * config/srclist.txt (vasprintf.c): sync broken, sigh.
54365
54366 2003-10-31  Paul Eggert  <eggert@twinsun.com>
54367
54368         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
54369         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
54370         (read_filesystem_list): Set and use me_type_malloced.
54371         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
54372         whatever the type happens to be), for brevity and consistency.
54373         Check for size calculation overflow on Alphas running OSF/1.
54374
54375 2003-10-31  Jim Meyering  <jim@meyering.net>
54376
54377         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
54378
54379         * lib/linebuffer.c: Include <string.h> for declaration of memset.
54380
54381 2003-10-30  Paul Eggert  <eggert@twinsun.com>
54382             Bruno Haible  <bruno@clisp.org>
54383
54384         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
54385         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
54386
54387 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
54388
54389         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
54390         netbsd*-gnu*.  Suggested by Robert Millan.
54391
54392 2003-10-29  Paul Eggert  <eggert@twinsun.com>
54393
54394         * modules/group-member: Depend on stdbool.
54395
54396 2003-10-29  Paul Eggert  <eggert@twinsun.com>
54397
54398         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
54399
54400 2003-10-29  Paul Eggert  <eggert@twinsun.com>
54401
54402         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
54403         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
54404         after the 'gnu' in these cases.  This fixes some bugs in the
54405         previous change, and is based on suggestions by Robert Millan.
54406
54407 2003-10-29  Paul Eggert  <eggert@twinsun.com>
54408
54409         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
54410         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
54411         no longer needed.
54412         * lib/quotearg.c (quotearg_n_options): Use it.
54413         * lib/group-member.c: Include <stdbool.h>.
54414         (free_group_info): Arg is now const *; don't free arg.
54415         (get_group_info): Now returns bool and accepts struct group_info *,
54416         rather than returning a malloc'ed struct group_info *.
54417         All uses changed.  Check for overflow in internal size calculation.
54418
54419         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
54420         rather than xmalloc/xrealloc.
54421         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
54422         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
54423         conformance bug: the old code used a pointer after freeing the
54424         storage that it addressed.
54425         * lib/hash.c (hash_initialize): Simplify the code by using
54426         xalloc_oversized rather than doing it by hand.
54427         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
54428         the buffer preserved.  Use free and xmalloc instead.
54429         * lib/quotearg.c (quotearg_n_options): Likewise.
54430         Use a simpler test for size overflow.  Don't use xalloc_oversized
54431         because unsigned int might be wider than size_t (!); this suggests
54432         that we should switch from unsigned int to size_t for slot numbers.
54433
54434 2003-10-28  Paul Eggert  <eggert@twinsun.com>
54435
54436         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
54437         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
54438         NetBSD kernels.  Requested by Richard Stallman.
54439
54440 2003-10-27  Paul Eggert  <eggert@twinsun.com>
54441
54442         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
54443         to allocate the returned structure.  Do not allocate a subarray,
54444         as x2nrealloc will do that.
54445         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
54446         instead of xnrealloc.
54447         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
54448
54449 2003-10-27  Bruno Haible  <bruno@clisp.org>
54450
54451         * lib/stdbool_.h: Better support for BeOS.
54452
54453 2003-10-26  Paul Eggert  <eggert@twinsun.com>
54454
54455         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
54456         now uses inline.
54457
54458 2003-10-26  Paul Eggert  <eggert@twinsun.com>
54459
54460         * lib/xalloc.h (xalloc_oversized): New static inline function, for
54461         callers that want to do their own size-overflow checking.  Include
54462         <stdbool.h>, since xalloc_oversized returns bool.
54463         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
54464         to use xalloc_oversized.
54465
54466         Add two functions x2realloc, x2nrealloc, for programs that grow
54467         arrays dynamically by doubling their sizes.
54468         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
54469         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
54470         New functions.
54471
54472         Port to C99 semantics for 'inline' of external functions.
54473         Bug reported by Bruno Haible.
54474         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
54475         with the old contents of xnmalloc.
54476         (xnmalloc, xmalloc): Use it.
54477         (xnrealloc_inline): New static inline function,
54478         with the old contents of xnrealloc.
54479         (xnrealloc, xrealloc): Use it.
54480
54481         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
54482         that.
54483
54484 2003-10-26  Karl Berry  <karl@gnu.org>
54485
54486         * config/srclist.txt (COPYING.DOC): no longer available from
54487         /gd/gnuorg; don't know where the ultimate source is.
54488
54489 2003-10-25  Paul Eggert  <eggert@twinsun.com>
54490
54491         Fix several address-calculation bugs in the hash modules,
54492         plus some minor code cleanup.
54493
54494         * lib/hash.h: Include <stdbool.h>, for bool.
54495         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
54496         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
54497         hash_get_n_entries, hash_get_max_bucket_length,
54498         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
54499         hash_rehash): Use size_t rather than unsigned.
54500         * lib/hash.c (struct hash_table, hash_get_n_buckets,
54501         hash_get_n_buckets_used, hash_get_n_entries,
54502         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
54503         hash_get_entries, hash_do_for_each, hash_string, is_prime,
54504         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
54505         Likewise.
54506         (SIZE_MAX): Define if not defined.
54507         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
54508         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
54509         hash_print):
54510         Use const * when possible.
54511         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
54512         (check_tuning): Fix bug: if tuning parameters were very close to
54513         0 or 1, rounding errors could have caused subscript violations.
54514         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
54515         (hash_initialize): Add 'fail:' label
54516         to free table and return NULL, and use it to simplify code.
54517         Use calloc rather than clearing the storage ourself.
54518         (hash_initialize, hash_rehash): Check for arithmetic overflow in
54519         buffer size calculations.
54520         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
54521         Include <stddef.h>, for size_t.
54522         * lib/hash-pjw.c (hash_pjw): Likewise.
54523         Switch to method described by Bruno Haible.
54524         Include <limits.h>, for CHAR_BIT.
54525         (SIZE_BITS): New macro.
54526
54527 2003-10-23  Paul Eggert  <eggert@twinsun.com>
54528
54529         * m4/getline.m4 (AM_FUNC_GETLINE):
54530         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
54531         hosts.  Problem reported by Derek Robert Price in
54532         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
54533         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
54534         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
54535
54536 2003-10-21  Paul Eggert  <eggert@twinsun.com>
54537
54538         * lib/getndelim2.c (getndelim2): When size calculation overflows,
54539         ceiling the allocation at NMAX bytes rather than silently
54540         discarding input bytes before NMAX is reached.  This makes
54541         a difference only if NMAX exceeds SIZE_MAX / 2.
54542
54543         * lib/obstack.c: Merge from glibc.
54544         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
54545         Add libc_hidden_def (_obstack_newchunk).
54546         (_obstack_free) [! defined _LIBC]: Remove.
54547         [defined _LIBC]: Make a strong alias from obstack_free, rather than
54548         a clone of the function body.
54549         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
54550         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
54551
54552         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
54553         glibc.
54554         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
54555         arg to memcpy.
54556
54557         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
54558         (obstack_ptr_grow_fast, obstack_int_grow_fast):
54559         Don't use lvalue casts, as GCC plans to remove support for them
54560         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
54561         was also present in the non-GCC version, indicating that this
54562         code had always been buggy and had never been widely used.
54563         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
54564         Use the fast variant of each macro, rather than copying the
54565         definiens of the fast variant; that way, we'll be more likely to
54566         catch future bugs in the fast variants.
54567
54568 2003-10-20  Bruno Haible  <bruno@clisp.org>
54569
54570         * modules/wait-process: New file.
54571         * MODULES.html.sh (func_all_modules): Add wait-process.
54572
54573 2003-10-20  Bruno Haible  <bruno@clisp.org>
54574
54575         * m4/wait-process.m4: New file.
54576
54577 2003-10-20  Bruno Haible  <bruno@clisp.org>
54578
54579         * lib/wait-process.h: New file, from GNU gettext.
54580         * lib/wait-process.c: New file, from GNU gettext.
54581
54582 2003-10-19  Jim Meyering  <jim@meyering.net>
54583
54584         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
54585         HPUX 10.20.
54586
54587 2003-10-18  Karl Berry  <karl@gnu.org>
54588
54589         * config/config.guess: update from config.
54590
54591 2003-10-16  Paul Eggert  <eggert@twinsun.com>
54592
54593         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
54594         (getgroups): First arg is int, not size_t.
54595         Don't let 'free' mangle errno.
54596
54597 2003-10-16  Paul Eggert  <eggert@twinsun.com>
54598
54599         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
54600
54601 2003-10-16  Karl Berry  <karl@gnu.org>
54602
54603         * config/config.{guess,sub}: update from config.
54604
54605 2003-10-16  Jim Meyering  <jim@meyering.net>
54606
54607         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
54608         memcpy.
54609
54610 2003-10-15  Paul Eggert  <eggert@twinsun.com>
54611
54612         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
54613         (SIZE_MAX): Remove.
54614         (new_exclude, add_exclude_file): Initial size no longer needs to
54615         be a power of 2.
54616         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
54617         our own address arithmetic overflow checking.
54618
54619         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
54620         (fnmatch): Do not alloca more than 2000 wide characters;
54621         instead, use malloc for large buffers.
54622         Check for address arithmetic overflow, and return -1
54623         with errno set to ENOMEM in that case.
54624         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
54625         (NEW_PATTERN): Do not alloca more than 8000 bytes;
54626         instead, return -1.  Check for address arithmetic overflow.
54627
54628 2003-10-14  Paul Eggert  <eggert@twinsun.com>
54629
54630         Handle invalid suffixes and overflow independently, so that
54631         callers can treat them independently as needed.  Fix some bugs in
54632         suffix handling, e.g., "100k@" was not diagnosed as an invalid
54633         suffix for a human-readable blocksize.  The major caller-visible
54634         change is the addition of a new
54635         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
54636         that both overflow and suffix chars were found.
54637
54638         * lib/human.c (humblock): Don't check separately for invalid suffix
54639         char; that is xstrtoumax's job (now that its bug is fixed).
54640         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
54641         INTMAX_MAX]: New macros.
54642         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
54643         TYPE_MAXIMUM): New macros.
54644         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
54645         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
54646         if overflow occurs, as it's what __strtol does and it's more useful
54647         in practice.
54648         (__xstrtol): If __strtol reports some error other than ERANGE,
54649         reflect it to the caller as LONGINT_INVALID.  If it reports
54650         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
54651         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
54652         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
54653         value.
54654         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
54655         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
54656         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
54657         [defined UINTMAX_MAX]: New macros.
54658
54659 2003-10-14  Bruno Haible  <bruno@clisp.org>
54660
54661         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
54662
54663 2003-10-14  Bruno Haible  <bruno@clisp.org>
54664
54665         * m4/sig_atomic_t: New file, from GNU gettext.
54666         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
54667
54668 2003-10-14  Bruno Haible  <bruno@clisp.org>
54669
54670         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
54671         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
54672         Also use volatile where needed.
54673
54674 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54675
54676         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
54677         Change maintainer from Bruno Haible to 'all'.
54678
54679 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54680
54681         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
54682
54683 2003-10-12  Paul Eggert  <eggert@twinsun.com>
54684
54685         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
54686         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
54687         and define in terms of the other primitives.
54688         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
54689         (SIZE_MAX): Define if not already defined.
54690         (array_size_overflow): New function.
54691         (xalloc_die): Abort instead of exiting if 'error' returns.
54692         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
54693         (xmalloc, xrealloc): Use them.
54694         (xcalloc): Check for address arithmetic overflow.
54695         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
54696         a bit faster than strcpy.
54697
54698 2003-10-10  Simon Josefsson  <jas@extundo.com>
54699
54700         * modules/argp (Depends-on): Add restrict and strcase.
54701
54702 2003-10-10  Simon Josefsson  <jas@extundo.com>
54703
54704         * m4/argp.m4: Add AC_C_INLINE.
54705
54706 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54707
54708         Merge getpass from libc, plus a few fixes.
54709
54710         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
54711         Include <stdbool.h>.
54712         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
54713         __fsetlocking to empty.
54714         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
54715         do include <bits/libc-lock.h>.
54716         Do not include <fcntl.h>; not needed.
54717         [_LIBC]: Include <wchar.h>.
54718         (NOTCANCEL_MODE): New macro.
54719         (flockfile, funlockfile) [_LIBC]: New macros.
54720         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
54721         [!_LIBC]: New macros.
54722         (call_fclose): New function.
54723         (getpass): Use it.  Save tty stream separately; this simplifies the
54724         code and makes it more reliable if stdin happens to equal stdout.
54725         Invoke __fsetlocking on tty.
54726         Handle thread cancellation if needed.
54727         Namespace cleanup (use __tcgetattr, __getline).
54728         Use bool for Booleans.
54729         [USE_IN_LIBIO]: Handle wide streams.
54730         [!_LIBC]: Unconditionally do the fseek, since we don't know what
54731         stream might go where.
54732
54733         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
54734         doesn't have to include <stdio.h> before us.
54735         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
54736         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
54737         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
54738         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
54739         if not declared, so that we can use getpass.c code from libc without
54740         rewriting it.
54741         (flockfile, ftrylockfile, funlockfile): New macros.
54742
54743 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54744
54745         * modules/getpass: Depend on stdbool.
54746
54747 2003-10-08  Paul Eggert  <eggert@twinsun.com>
54748
54749         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
54750
54751 2003-10-07  Karl Berry  <karl@gnu.org>
54752
54753         * config/config.{guess,sub}: update from config.
54754
54755 2003-10-06  Jim Meyering  <jim@meyering.net>
54756             Bruno Haible  <bruno@clisp.org>
54757
54758         This lets translators provide better translations for the
54759         "Written by ..." part of --version output.
54760         * lib/version-etc.h: Include stdarg.h.
54761         (version_etc_copyright): Declare as readonly.
54762         (version_etc): Make this function variadic with a NULL-terminated list
54763         of author name strings.
54764         (version_etc_va): New declaration.
54765         * lib/version-etc.c: Include stdarg.h, stdlib.h.
54766         (version_etc_copyright): Declare as readonly.
54767         (version_etc_va): New function. Provide a different translatable string
54768         for each possible number of authors < 10. Abbreviate when there are 10
54769         authors or more.
54770         (version_etc): Make this function variadic. Call version_etc_va.
54771         Suggestion from Gary V. Vaughan.
54772
54773         * lib/long-options.h (parse_long_options): Change prototype: the
54774         authors string is moved to the end and becomes variadic.
54775         * lib/long-options.c: Include stdarg.h.
54776         (parse_long_options): Make this function variadic, too.
54777         Call version_etc_va, not version_etc.
54778
54779 2003-10-06  Bruno Haible  <bruno@clisp.org>
54780
54781         * modules/version-etc-2: Remove file.
54782         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
54783
54784 2003-10-06  Bruno Haible  <bruno@clisp.org>
54785
54786         * modules/fatal-signal: New file.
54787         * MODULES.html.sh (func_all_modules): Add fatal-signal.
54788
54789 2003-10-06  Bruno Haible  <bruno@clisp.org>
54790
54791         * m4/fatal-signal.m4: New file.
54792         * m4/signalblocking.m4: New file, from GNU gettext.
54793
54794 2003-10-06  Bruno Haible  <bruno@clisp.org>
54795
54796         * lib/version-etc-2.h: Remove file.
54797         * lib/version-etc-2.c: Remove file.
54798
54799 2003-10-06  Bruno Haible  <bruno@clisp.org>
54800
54801         * lib/fatal-signal.h: New file, from GNU gettext.
54802         * lib/fatal-signal.c: New file, from GNU gettext.
54803
54804 2003-10-05  Paul Eggert  <eggert@twinsun.com>
54805
54806         * README: Rework advice for preventing empty .o files.
54807         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
54808         not <sys/types.h>.
54809
54810 2003-10-04  Karl Berry  <karl@gnu.org>
54811
54812         * lib/argp*: update from libc.
54813
54814 2003-10-04  Karl Berry  <karl@gnu.org>
54815
54816         * config/config.{guess,sub}: update from config.
54817
54818 2003-10-02  Bruno Haible  <bruno@clisp.org>
54819
54820         * modules/lchown (Include): Add lchown.h.
54821         * modules/time_r (Include): Use "..." syntax.
54822         * modules/xgetdomainname (Include): Add xgetdomainname.h.
54823
54824 2003-10-01  Simon Josefsson  <jas@extundo.com>
54825
54826         * MODULES.html.sh (func_all_modules): Move gethostname from section
54827         'based on' to section 'lacking' POSIX:2001.
54828
54829 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
54830
54831         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
54832         to output mode on the same stream.
54833
54834 2003-09-29  Paul Eggert  <eggert@twinsun.com>
54835
54836         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
54837         Fix arg typo in previous patch.
54838
54839 2003-09-28  Jim Meyering  <jim@meyering.net>
54840
54841         * lib/error.c: Correct cpp indentation.
54842
54843 2003-09-27  Paul Eggert  <eggert@twinsun.com>
54844
54845         * modules/free: New file.
54846
54847 2003-09-27  Paul Eggert  <eggert@twinsun.com>
54848
54849         * m4/free.m4: New file.
54850
54851 2003-09-27  Paul Eggert  <eggert@twinsun.com>
54852
54853         * lib/minmax.h (MIN, MAX)
54854         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
54855         Omit the special code that used __typeof__, since we worry that
54856         it could be more trouble than it's worth.  See:
54857         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
54858         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
54859
54860         * lib/free.c: New file.
54861
54862 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
54863
54864         Trivial fixes to Makefile.am parts of module listings.
54865         * modules/strstr: Append strstr.h to lib_SOURCES.
54866         * modules/strcase: Likewise, for strcase.h.
54867
54868 2003-09-27  Karl Berry  <karl@gnu.org>
54869
54870         * config/mkinstalldirs: update from automake.
54871
54872 2003-09-26  Paul Eggert  <eggert@twinsun.com>
54873
54874         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
54875         (error_tail): Do not loop, reallocating temporary buffer, since
54876         the output cannot contain more wide characters than the input
54877         contains bytes, the size must be big enough already.  This avoids
54878         one potential size overflow calculation.  Check for size overflow
54879         when calculating temporary buffer size.  Free temporary buffer
54880         when done, if it was allocated with malloc; this plugs a memory
54881         leak.  Remove casts from void * to pointers, that are no longer
54882         needed now that we're assuming C89 or better.
54883
54884         Merge error changes from glibc.
54885
54886         * lib/error.c, error.h: Update copyright notice header to match glibc.
54887         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
54888         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
54889         Disable cancellation while printing error.
54890         * lib/error.h: Prepend __ to parameter names.
54891
54892 2003-09-26  Jim Meyering  <jim@meyering.net>
54893
54894         * lib/error.c (error_tail): Move some declarations
54895         into inner scope where the local variables are used.
54896
54897 2003-09-26  Bruno Haible  <bruno@clisp.org>
54898
54899         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
54900         stpncpy().
54901         Don't define stpncpy through config.h; it's now done through stpncpy.h.
54902
54903 2003-09-26  Bruno Haible  <bruno@clisp.org>
54904
54905         * lib/stpncpy.h (gnu_stpncpy): New declaration.
54906         (stpncpy): Define as alias for gnu_stpncpy.
54907         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
54908
54909 2003-09-25  Simon Josefsson  <jas@extundo.com>
54910
54911         * lib/xgetdomainname.h: New file.
54912         * lib/xgetdomainname.c: New file.
54913
54914 2003-09-25  Simon Josefsson  <jas@extundo.com>
54915             Bruno Haible  <bruno@clisp.org>
54916
54917         * modules/getdomainname: New file.
54918         * modules/xgetdomainname: New file.
54919         * MODULES.html.sh (func_all_modules): Add getdomainname,
54920         xgetdomainname.
54921
54922 2003-09-25  Simon Josefsson  <jas@extundo.com>
54923             Bruno Haible  <bruno@clisp.org>
54924
54925         * m4/getdomainname.m4: New file.
54926
54927 2003-09-25  Simon Josefsson  <jas@extundo.com>
54928             Bruno Haible  <bruno@clisp.org>
54929
54930         * lib/getdomainname.h: New file.
54931         * lib/getdomainname.c: New file.
54932
54933 2003-09-25  Karl Berry  <karl@gnu.org>
54934
54935         * lib/argp-fmtstream.c, argp-help.c: update from libc.
54936
54937 2003-09-25  Karl Berry  <karl@gnu.org>
54938
54939         * config/install-sh: update from automake.
54940
54941 2003-09-25  Bruno Haible  <bruno@clisp.org>
54942
54943         * modules/version-etc-2: New file, from modules/version-etc with
54944         modifications.
54945         * MODULES.html.sh (func_all_modules): Add version-etc-2.
54946
54947 2003-09-25  Bruno Haible  <bruno@clisp.org>
54948
54949         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
54950         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
54951
54952 2003-09-24  Simon Josefsson  <jas@extundo.com>
54953
54954         * modules/xgethostname: Add xgethostname.h.
54955
54956 2003-09-24  Paul Eggert  <eggert@twinsun.com>
54957
54958         * lib/linebuffer.c (freebuffer): Don't free the argument, just
54959         the buffer associated with the argument.  Bug reported by
54960         Simon Josefsson.
54961
54962 2003-09-24  Paul Eggert  <eggert@twinsun.com>
54963
54964         * README: Document assumptions that 'int' is at least 32 bits
54965         wide, that integer arithmetic is 2's complement without overflow,
54966         that there are no holes in integer values, that adding sizes of
54967         two nonoverlapping objects can't overflow, and that all-bits-zero
54968         yields scalar zero.  Fix spelling and capitalization typos.
54969
54970 2003-09-19  Karl Berry  <karl@gnu.org>
54971
54972         * lib/argp.h: update from libc.
54973
54974 2003-09-17  Paul Eggert  <eggert@twinsun.com>
54975
54976         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
54977         to avoid spurious warnings like "AC_RUN_IFELSE was called before
54978         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
54979
54980 2003-09-17  Paul Eggert  <eggert@twinsun.com>
54981
54982         * gnulib-tool: Use "test -h", not "test -L", for portability
54983         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
54984         (tags_regexp): Remove, since \| doesn't conform to POSIX.
54985         (sed_extract_prog): Issue s commands one-by-one, rather than
54986         using \| in one s command.
54987
54988 2003-09-16  Paul Eggert  <eggert@twinsun.com>
54989
54990         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
54991         input error, instead of returning NULL the next time we are called
54992         (and therefore losing track of errno).
54993
54994 2003-09-16  Bruno Haible  <bruno@clisp.org>
54995
54996         * gnulib-tool (func_create_testdir): Warn about duplicated
54997         dependencies.
54998
54999 2003-09-15  Paul Eggert  <eggert@twinsun.com>
55000
55001         * modules/argmatch, modules/fatal, modules/obstack,
55002         modules/xalloc, modules/xgethostname: Sort dependencies by
55003         importance, not alphabetically.
55004
55005 2003-09-15  Paul Eggert  <eggert@twinsun.com>
55006
55007         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
55008         fails, so that the caller gets the proper errno.
55009
55010         * lib/readutmp.c (read_utmp): Likewise.
55011         Check for fstat error.  Close stream and free storage
55012         when failing.
55013
55014 2003-09-14  Karl Berry  <karl@gnu.org>
55015
55016         * config/srclist.txt (strdup.c): disable for c89 changes.
55017
55018 2003-09-14  Jim Meyering  <jim@meyering.net>
55019
55020         * lib/getloadavg.c: Correct cpp indentation.
55021         * lib/strdup.c: Likewise.
55022         * lib/vasnprintf.c: Likewise.
55023
55024 2003-09-14  Bruno Haible  <bruno@clisp.org>
55025
55026         * modules/fwriteerror: New file.
55027         * MODULES.html.sh (func_all_modules): Add fwriteerror.
55028
55029 2003-09-14  Bruno Haible  <bruno@clisp.org>
55030
55031         * lib/fwriteerror.h: New file.
55032         * lib/fwriteerror.c: New file.
55033
55034 2003-09-12  Paul Eggert  <eggert@twinsun.com>
55035
55036         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
55037         modules/xgethostname, modules/xalloc: Depend on exit.
55038
55039 2003-09-12  Paul Eggert  <eggert@twinsun.com>
55040
55041         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
55042
55043         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
55044         and AC_MINIX, too, so that their extensions are available.
55045
55046         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
55047         This macro has been superseded by gl_BACKUPFILE.
55048
55049         More patches to assume C89 or better.
55050
55051         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
55052
55053         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
55054         unconditionally.
55055         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
55056         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
55057         Include <string.h>, <stdlib.h> unconditionally.
55058         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
55059         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
55060         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
55061         headers or for string.h.
55062         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
55063         or strtoul.
55064
55065         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
55066         headers.
55067         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
55068         * m4/userspec.m4 (gl_USERSPEC): Likewise.
55069         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
55070         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
55071         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
55072         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
55073         memcpy, memset.
55074         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
55075         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
55076         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
55077         strtol.
55078         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
55079         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
55080         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
55081         strtoul.
55082
55083 2003-09-12  Paul Eggert  <eggert@twinsun.com>
55084
55085         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
55086         * lib/obstack.c [!defined _LIBC]: Likewise.
55087         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
55088         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
55089         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
55090
55091         More changes to assume C89 or better.
55092
55093         * lib/error.c (error_tail): Assume vprintf.
55094
55095         * lib/argmatch.c (getenv): Remove decl.
55096         * lib/progreloc.c (get_full_program_name): Define via prototype.
55097         * lib/setenv.c (clearenv): Likewise.
55098         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
55099         needed.
55100         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
55101         (malloc, memcpy): Remove decls.
55102         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
55103         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
55104         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
55105         (memcpy): Remove macro.
55106         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
55107         (__P): Remove.  All uses removed.
55108         (PTR): Remove.  All uses changed to void *.
55109         (CHAR_BIT, NULL): Remove.
55110         (spaces, zeros, memset_space, memset_zero)
55111         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
55112         Remove.
55113         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
55114         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
55115         Define with prototype.
55116         Remove now-unnecessary prototype decl.
55117         (extra_args_spec): Assume ANSI C.  All uses changed.
55118         (extra_args_spec_iso): Remove.
55119         (my_strftime, emacs_strftimeu): Define via prototype.
55120         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
55121         unconditionally.
55122         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
55123         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
55124         (strtoul, strtol): Remove decls.
55125         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
55126         LONG_MAX): Remove.
55127         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
55128         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
55129         (LOCALE_PARAM_PROTO): New macro.
55130         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
55131         (INTERNAL (strtol), strtol): Define with a prototype.
55132         (PARAMS): Remove.  All uses removed.
55133         * lib/tempname.c: Include <string.h> unconditionally.
55134         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
55135         * lib/xgethostname.c (main): Define with a prototype.
55136         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
55137         Include <stdlib.h> unconditionally.
55138         (calloc, malloc, realloc, free): Remove decls.
55139         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
55140         Include <stdlib.h> unconditionally.  Sort include file names.
55141         (strtod): Remove.
55142         (xstrtod): Define with a prototype.
55143         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
55144         (strtol, strtoul): Remove decls.
55145
55146 2003-09-11  Paul Eggert  <eggert@twinsun.com>
55147
55148         More patches to assume C89 or better.
55149         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
55150         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
55151         string.h, memchr, STDC_HEADERS.
55152
55153 2003-09-11  Paul Eggert  <eggert@twinsun.com>
55154
55155         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
55156         Include <stdlib.h>, <string.h> unconditionally.
55157         Remove now-unnecessary cast to char *.
55158         * lib/strnlen.c: Include <string.h> unconditionally.
55159         * lib/yesno.c (yesno): Define with a prototype.
55160
55161 2003-09-11  Bruno Haible  <bruno@clisp.org>
55162
55163         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
55164
55165 2003-09-10  Jim Meyering  <jim@meyering.net>
55166
55167         * lib/error.c: Correct indentation of cpp directives.
55168
55169 2003-09-10  Bruno Haible  <bruno@clisp.org>
55170
55171         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
55172         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
55173         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
55174         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
55175         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
55176         <stdlib.h> and <string.h> checks.
55177         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
55178         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
55179
55180 2003-09-10  Bruno Haible  <bruno@clisp.org>
55181
55182         * lib/strcspn.c: Include <string.h> unconditionally.
55183         * lib/strpbrk.c: Include <string.h> unconditionally.
55184         * lib/strstr.c: Include <string.h> unconditionally.
55185         * lib/unicodeio.c: Include <string.h> unconditionally.
55186         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
55187         * lib/unsetenv.c: Likewise.
55188         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
55189         * lib/yesno.c: Include <stdlib.h> unconditionally.
55190         (rpmatch): Add prototype.
55191
55192 2003-09-09  Paul Eggert  <eggert@twinsun.com>
55193
55194         More patches to assume C89 or better.
55195         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
55196         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
55197         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
55198         or for string.h.
55199         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
55200         stdlib.h.
55201         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
55202         C headers.
55203         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
55204         string.h.
55205         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
55206         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
55207         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
55208         or for string.h.
55209         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
55210         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
55211         C headers.
55212         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
55213         memcpy.
55214         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
55215         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
55216         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
55217         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
55218         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
55219         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
55220         string.h, free.
55221         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
55222         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
55223         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
55224         C headers, or for string.h.
55225         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
55226         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
55227         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
55228         headers, memory.h, stdlib.h, string.h, strings.h.
55229         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
55230         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
55231         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
55232         strchr.
55233         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
55234         headers, memory.h, string.h.
55235         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
55236         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
55237         free.
55238         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
55239         headers.
55240         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
55241         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
55242         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
55243         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
55244         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
55245
55246 2003-09-09  Paul Eggert  <eggert@twinsun.com>
55247
55248         More K&R removal.
55249
55250         * lib/acosl.c (main): Use a prototype.
55251         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
55252         tanl.c: Likewise.
55253
55254         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
55255
55256         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
55257         (getopt, etopt_long, getopt_long_only, _getopt_internal)
55258         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
55259         with a prototype.
55260         * lib/getopt.c (const): Remove macro.
55261         Include <string.h> unconditionally.
55262         (my_index): Remove; all uses changed to strchr.
55263         (strlen): Remove decl.
55264         (exchange): Remove forward decl; no longer needed.
55265         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
55266         Define with prototype.
55267         * lib/getopt1.c (const): Remove macro.
55268         (getopt_long, getopt_long_only, main): Define with prototype.
55269
55270         * lib/getugroups.c: Include <string.h> unconditionally.
55271
55272         * lib/getusershell.c: Include <stdlib.h> unconditionally.
55273         (getusershell, setusershell, endusershell, readname, main):
55274         Define with prototypes.
55275
55276         * lib/group-member.c: Include group-member.h first.
55277         Include <stdlib.h> unconditionally.
55278
55279         * lib/hard-locale.c: Include hard-locale.h first.
55280         Include <stdlib.h>, <string.h> unconditionally.
55281
55282         * lib/hash.c (free, malloc): Remove decls.
55283         Include <stdlib.h> unconditionally.
55284
55285         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
55286         (getenv): Do not declare.
55287
55288         * lib/idcache.c: Include <string.h> unconditionally.
55289
55290         * lib/long-options.c: Include long-options.h first, to test interface.
55291         Include <stdlib.h> unconditionally.
55292
55293         * lib/makepath.c: Include makepath.h first, to test interface.
55294         Include <stdlib.h> and <string.h> unconditionally.
55295
55296         * lib/linebuffer.c: Include <stdlib.h>.
55297         (free): Remove decl.
55298
55299         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
55300         stddef.h. rpl_malloc returns void *, not char *.
55301         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
55302         prototype.
55303
55304         * lib/md5.h: Include <limits.h> unconditionally.
55305         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
55306         (__P): Remove; all uses removed.
55307         * lib/md5.c: Include "md5.h" first.
55308         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
55309         md5_buffer, md5_process_bytes, md5_process_block):
55310         Define with prototypes.
55311         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
55312         * lib/sha.c: Include "sha.h" first.
55313         Include <stdlib.h>, <string.h> unconditionally.
55314
55315         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
55316         * lib/memcmp.c (__ptr_t): Likewise.
55317         * lib/memrchr.c (__ptr_t): Likewise.
55318         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
55319         Include <string.h> unconditionally.
55320         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
55321         * lib/memchr.c: Include <stdlib.h> unconditionally.
55322         * lib/memchr.c (LONG_MAX): Remove.
55323         * lib/memrchr.c (LONG_MAX): Likewise.
55324         * lib/memchr.c (__memchr): Define via a prototype.
55325         * lib/memrchr.c (__memrchr): Likewise.
55326         * lib/memcmp.c (__P): Remove, and remove all uses.
55327         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
55328         Remove forward decls; no longer needed.
55329         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
55330         Use types required by C89 in prototype.
55331
55332         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
55333         * lib/savedir.c: Likewise.
55334         * lib/mkdir.c (free): Remove decl.
55335         * lib/rmdir.c (rmdir): Define with a prototype.
55336         * lib/savedir.c: Include savedir.h first, to test interface.
55337
55338         * lib/mktime.c (STDC_HEADERS): Remove.
55339         Include <stdlib.h>, <string.h> unconditionally.
55340
55341         * lib/modechange.c: Include <stdlib.h> unconditionally.
55342         (malloc): Remove decl.
55343
55344         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
55345         (free): Remove decl.
55346
55347         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
55348         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
55349         (This type really should be intptr_t, but that's a C99ism.)
55350         (_obstack_memcpy): Remove: all uses changed to memcpy.
55351         Include <string.h> unconditionally.
55352         (struct obstack): Assume __STDC__ for types of members
55353         chunkfun, freefun, extra_arg.
55354         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
55355         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
55356         obstack_begin, obstack_specify_allocation,
55357         obstack_specify_allocation_with_arg, obstack_chunkfun,
55358         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
55359         Remove unprototyped decls and the macros that use them.
55360         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
55361         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
55362         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
55363         (defined __STDC__ && __STDC__)]:
55364         Remove nonprototyped code.
55365         Include <stdlib.h> unconditionally.
55366         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
55367         _obstack_allocated_p, _obstack_free, obstack_free,
55368         _obstack_memory_used, print_and_abort):
55369         Define using prototypes.
55370         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
55371         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
55372         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
55373         obstack_next_free, obstack_object_size, obstack_room) [0]:
55374         Remove unused, unprototyped code.
55375
55376         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
55377
55378         * lib/physmem.c (physmem_total, physmem_available, main): Define
55379         with prototypes.
55380
55381         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
55382         (main): Define with a prototype.
55383
55384         * lib/posixver.c (getenv): Remove decl.
55385
55386         * lib/putenv.c (malloc): Returns void *, not char *.
55387         Include <string.h> unconditionally.
55388         (strchr, memcpy, NULL): Do not define.
55389
55390         * lib/readtokens.c: Include readtokens.h first, to test interface.
55391         Include <stdlib.h>, <string.h> unconditionally.
55392         (init_tokenbuffer): Define with a prototype.
55393
55394         * lib/regex.c (PARAMS): Remove.  All uses removed.
55395         All uses of _RE_ARGS removed, too.
55396         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
55397         unconditionally.
55398         (bzero): Assume memset exists.
55399         (memcmp, memcpy, NULL): Remove.
55400         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
55401         char, or assignments to local vars of type signed char.
55402         (init_syntax_once, PREFIX(extract_number_and_incr),
55403         PREFIX(print_partial_compiled_pattern),
55404         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
55405         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
55406         PREFIX(regex_grow_registers), PREFIX(regex_compile),
55407         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
55408         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
55409         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
55410         wcs_compile_range, byte_compile_range, truncate_wchar,
55411         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
55412         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
55413         count_mbs_length, wcs_re_match_2_internal,
55414         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
55415         PREFIX(alt_match_null_string_p),
55416         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
55417         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
55418         regfree, PREFIX(extract_number)): Define with prototype.  Remove
55419         now-unnecessary declaration, if any.
55420         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
55421         regcomp, regexec):
55422         Remove now-unnecessary casts among pointer types.
55423         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
55424
55425         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
55426         (free): Remove decl.
55427
55428         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
55429
55430         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
55431         (free): Remove decl.
55432
55433         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
55434         * lib/xgetcwd.c: Likewise.
55435
55436         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
55437         (free): Remove decl.
55438
55439         * lib/strchrnul.c (strchrnul): Define with a prototype.
55440         Fix bug: c_in was not converted to char before searching.
55441
55442         The following changes are not K&R related:
55443
55444         * lib/group-member.h: Include <sys/types.h>, so that this file is
55445         self-contained.
55446         * lib/makepath.h: Likewise.
55447
55448         * lib/getusershell.c (readname, default_index, line_size, readname):
55449         Use size_t, not int, for sizes.
55450         (readname): If the size overflows, report an error instead of
55451         looping forever.
55452
55453 2003-09-09  Paul Eggert  <eggert@twinsun.com>
55454
55455         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
55456         libc.
55457
55458 2003-09-09  Paul Eggert  <eggert@twinsun.com>
55459
55460         * README: New section: portability guidelines.
55461
55462 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
55463
55464         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
55465         C89 spec.
55466
55467 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
55468
55469         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
55470
55471 2003-09-08  Paul Eggert  <eggert@twinsun.com>
55472
55473         Assume C89 or better; remove K&R cruft.
55474         A few of these changes were first proposed by Derek Robert Price
55475         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
55476
55477         * lib/addext.c: Include <string.h> unconditionally.
55478         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
55479         Don't declare getenv or malloc.
55480
55481         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
55482         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
55483         (NULL): Remove.
55484         (find_stack_direction, alloca): Use prototypes.
55485
55486         * lib/atexit.c (atexit): Define using a prototype.
55487
55488         * lib/basename.c, dirname.c, stripslash.c:
55489         Include <string.h> unconditionally.
55490
55491         * lib/bcopy.c: Include <stddef.h>.
55492         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
55493
55494         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
55495
55496         * lib/error.h (error, error_at_line, error_print_progname)
55497         [! (defined (__STDC__) && __STDC__)]: Remove decls.
55498         * lib/error.c: Include error.h first, to check interface.
55499         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
55500         (VA_START): Remove; all uses changeed to va_start.
55501         (exit, strerror): Remove decls.
55502         (error_print_progname): Prototype uncondionally.
55503         Don't include <errno.h>; no longer needed.
55504         (private_strerror): Remove.
55505         (error_tail): Always define.
55506         (error, error_at_line): Assume C89 or better; always use prototypes.
55507         * lib/fatal.c: Include "fatal.h" first, to test interface.
55508         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
55509         (VA_START): Remove; all uses changed to va_start.
55510         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
55511         this case.
55512         (exit): Remove decl.
55513         (fatal): Prototype unconditionally.  Assume va_start works.
55514         Abort at end, to pacify gcc.
55515
55516         * lib/euidaccess.c (main): Define with a prototype.
55517
55518         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
55519
55520         * lib/exitfail.c: Include <stdlib.h> unconditionally.
55521
55522         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
55523         prototypes.
55524         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
55525         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
55526         (getenv): Remove decl.
55527         (fnmatch): Define using a prototype.
55528         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
55529         (FCT): Define using a prototype.
55530
55531         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
55532
55533         * lib/gethostname.c: Include <stddef.h>.
55534         (gethostname): Define with prototype.  Length is size_t, not int.
55535
55536 2003-09-08  Paul Eggert  <eggert@twinsun.com>
55537
55538         Assume C89 or better; remove K&R cruft.
55539         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
55540         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
55541         string.h, getenv, malloc.
55542         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
55543         headers.
55544         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
55545         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
55546         do not check for strerror.
55547         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
55548         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
55549         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
55550         do not check for doprnt or vprintf.
55551         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
55552         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
55553
55554 2003-09-08  Paul Eggert  <eggert@twinsun.com>
55555
55556         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
55557         getversion.c should have been removed then, but was accidentally
55558         preserved.
55559
55560         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
55561         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
55562
55563 2003-09-08  Karl Berry  <karl@gnu.org>
55564
55565         * config/config.sub, config.guess, srclistvars.sh: update from savannah
55566                 config, forget about prep.
55567
55568         * config/depcomp, missing: update from automake.
55569
55570 2003-09-07  Paul Eggert  <eggert@twinsun.com>
55571
55572         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
55573         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
55574
55575 2003-09-07  Paul Eggert  <eggert@twinsun.com>
55576
55577         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
55578         copy_tm_result.  Bug reported by Simon Josefsson in
55579         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
55580
55581 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55582
55583         * m4/time_r.m4: New file.
55584         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
55585         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
55586         is. Check for timegm declaration.
55587         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
55588         Do not check for gmtime_r.
55589         Replace mktime if __mktime_internal does not exist and if mktime
55590         hasn't been replaced already.
55591
55592 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55593
55594         * lib/time_r.c, lib/time_r.h: New files.
55595
55596         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
55597         __localtime_r.
55598         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
55599         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
55600
55601         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
55602         __gmtime_r.
55603         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
55604         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
55605         Include <time_r.h>.
55606
55607         * lib/timegm.c: Switch to glibc implementation, with the following
55608         changes:
55609         [defined HAVE_CONFIG_H]: Include <config.h>.
55610         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
55611         (__mktime_internal) [!defined _LIBC]: New decl.
55612         (__gmtime_r) [!defined _LIBC]: New macro and function.
55613         (timegm): Use a prototype, since gnulib assumes C89.
55614         Do not bother declaring tmp to be const, as it's not really usefu.
55615         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
55616         (timegm): Declare only if HAVE_DECL_TIMEGM.
55617
55618 2003-09-06  Paul Eggert  <eggert@twinsun.com>
55619
55620         * MODULES.html.sh (func_all_modules): Add time_r.
55621         * modules/time_r: New file.
55622         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
55623         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
55624
55625 2003-09-03  Paul Eggert  <eggert@twinsun.com>
55626
55627         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
55628         Bug reported by Lute Kamstra in
55629         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
55630
55631         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
55632         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
55633         course with correspondingly smaller numbers for tomorrow and
55634         yesterday.  From Tadayoshi Funaba.  Originally installed into
55635         sh-utils on 1999-08-07, but the patch got lost (I guess during the
55636         coreutils merge?).
55637
55638 2003-08-31  Simon Josefsson  <jas@extundo.com>
55639
55640         * modules/timegm: New file.
55641         * MODULES.html.sh (func_all_modules): Add timegm.
55642
55643 2003-08-31  Simon Josefsson  <jas@extundo.com>
55644
55645         * m4/timegm.m4: New file.
55646
55647 2003-08-31  Simon Josefsson  <jas@extundo.com>
55648
55649         * lib/timegm.h: New file.
55650         * lib/timegm.c: New file.  Based on
55651         wget-1.8.2/src/http.c:mktime_from_utc.
55652
55653 2003-08-31  Karl Berry  <karl@gnu.org>
55654
55655         * lib/argp.h: update from libc.
55656
55657 2003-08-28  Bruno Haible  <bruno@clisp.org>
55658
55659         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
55660         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
55661         followed by '#define fnmatch fnmatch_posix' gives an error.
55662
55663 2003-08-28  Bruno Haible  <bruno@clisp.org>
55664
55665         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
55666         warning on QNX, which defines O_BINARY to 000000.
55667
55668 2003-08-27  Jim Meyering  <jim@meyering.net>
55669
55670         * m4/mkstemp.m4: Require that the system mkstemp be able to create
55671         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
55672         would fail after 32.  Reported by Danny Levinson.  Details here:
55673         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
55674
55675 2003-08-24  Bruno Haible  <bruno@clisp.org>
55676
55677         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
55678         MSVC7 <stdio.h> is included later.
55679
55680 2003-08-22  Simon Josefsson  <jas@extundo.com>
55681
55682         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
55683
55684 2003-08-20  Karl Berry  <karl@gnu.org>
55685
55686         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
55687
55688 2003-08-20  Bruno Haible  <bruno@clisp.org>
55689
55690         * modules/progname: New file.
55691         * MODULES.html.sh (func_all_modules): Add progname.
55692
55693 2003-08-20  Bruno Haible  <bruno@clisp.org>
55694
55695         * lib/progname.h: New file, from GNU gettext.
55696         * lib/progname.c: New file, from GNU gettext.
55697         * lib/progreloc.c: New file, from GNU gettext.
55698
55699 2003-08-19  Jim Meyering  <jim@meyering.net>
55700
55701         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
55702         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
55703
55704 2003-08-19  Bruno Haible  <bruno@clisp.org>
55705
55706         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
55707         more.
55708
55709 2003-08-19  Bruno Haible  <bruno@clisp.org>
55710
55711         * lib/xstrdup.c: Assume <string.h> exists.
55712
55713 2003-08-18  Paul Eggert  <eggert@twinsun.com>
55714
55715         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
55716         in makefile rules.
55717
55718 2003-08-18  Jim Meyering  <jim@meyering.net>
55719
55720         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
55721         * m4/lib-ld.m4: Likewise.
55722
55723 2003-08-18  Jim Meyering  <jim@meyering.net>
55724
55725         * lib/setenv.h: Indent nested cpp directive.
55726         * lib/vasnprintf.c: Remove trailing blanks.
55727
55728 2003-08-17  Simon Josefsson  <jas@extundo.com>
55729
55730         * modules/xstrndup: New file.
55731         * MODULES.html.sh (func_all_modules): Add xstrndup.
55732
55733 2003-08-17  Simon Josefsson  <jas@extundo.com>
55734
55735         * modules/argp: Fix autoconf macro name. Add more dependencies.
55736
55737 2003-08-17  Simon Josefsson  <jas@extundo.com>
55738
55739         * m4/xstrndup.m4: New file.
55740
55741 2003-08-17  Simon Josefsson  <jas@extundo.com>
55742
55743         * m4/argp.m4: New file.
55744
55745 2003-08-17  Simon Josefsson  <jas@extundo.com>
55746             Bruno Haible  <bruno@clisp.org>
55747
55748         * lib/xstrndup.h: New file.
55749         * lib/xstrndup.c: New file.
55750
55751 2003-08-17  Bruno Haible  <bruno@clisp.org>
55752
55753         * modules/strndup (Files, Include): Add lib/strndup.h.
55754
55755 2003-08-17  Bruno Haible  <bruno@clisp.org>
55756
55757         * modules/euidaccess (Files): Add lib/euidaccess.h.
55758
55759 2003-08-17  Bruno Haible  <bruno@clisp.org>
55760
55761         * lib/strndup.h: New file.
55762
55763 2003-08-17  Bruno Haible  <bruno@clisp.org>
55764
55765         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
55766         like AC_GNU_SOURCE.
55767         * modules/extensions (configure.ac): Comment out the invocation of
55768         gl_USE_SYSTEM_EXTENSIONS.
55769
55770 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55771
55772         Merges from coreutils, etc.
55773         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
55774         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
55775         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
55776         fixing a typo.
55777         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
55778         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
55779
55780 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55781
55782         Document merge from coreutils.
55783         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
55784         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
55785         * modules/utime: Add m4/utimes-null.m4.
55786
55787 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55788
55789         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
55790         space, undoing this 2003-08-12 change:
55791         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
55792
55793 2003-08-16  Paul Eggert  <eggert@twinsun.com>
55794
55795         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
55796         strtoul.c from libc, undoing this 2003-08-12 change:
55797         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
55798
55799 2003-08-16  Jim Meyering  <jim@meyering.net>
55800
55801         Merges from coreutils.
55802         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
55803         prefix.  Adjust cache variables similarly.  Create 500 rather than
55804         just 300 files, to exercise bug on Darwin6.5, too.
55805         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
55806         $missing_dir.
55807         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
55808         AM_SYS_POSIX_TERMIOS.
55809         Reported by mkc@mathdogs.com.
55810         Also change use of $am_cv_sys_posix_termios
55811         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
55812         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
55813         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
55814         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
55815         in /proc/mounts until it finds one with matching device number.  This
55816         is unnecessary when the FILE argument *is* a mount point.  No stat call
55817         is necessary in that case.  So, disable the statvfs-testing code on
55818         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
55819         as RedHat bug# 84846.
55820         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
55821         to 1MB, so as not to render systems with no stack size limit (e.g.,
55822         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
55823         Include <unistd.h>.  On some systems,
55824         it is required for the definition of _SC_PAGESIZE.
55825
55826 2003-08-16  Jim Meyering  <jim@meyering.net>
55827
55828         Merge from coreutils.
55829         * lib/xstrtoimax.c: #else #if -> #elif.
55830         * lib/xstrtoumax.c: Likewise.
55831
55832 2003-08-16  Jim Meyering  <jim@meyering.net>
55833
55834         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
55835         * m4/utimes.m4: Removed.
55836         * m4/utimes-null.m4: Renamed from utimes.m4.
55837
55838         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
55839         to 1MB, so as not to render systems with no stack size limit (e.g.,
55840         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
55841         Include <unistd.h>.  On some systems,
55842         it is required for the definition of _SC_PAGESIZE.
55843
55844 2003-08-16  Jim Meyering  <jim@meyering.net>
55845         and Paul Eggert  <eggert@cs.ucla.edu>
55846
55847         Merges from coreutils, etc.
55848
55849         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
55850         using the latest version from cvs.  This avoids problems with #line
55851         directives using a vendor (Sun) compiler.
55852         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
55853         Don't set GETGROUPS_LIB here; now it's
55854         done via getgroups.m4's wrapper function.
55855         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
55856         rather than just in sh-util/configure.in, so that the
55857         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
55858         same.
55859         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
55860         AC_FUNC_GETLOADAVG where to find getloadavg.c.
55861         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
55862         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
55863         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
55864         Remove code that is now done by the newly-required macros.
55865         Append $(EXEEXT) to DF_PROG.
55866         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
55867         Do not invoke or require the following here,
55868         since prereq.m4 or some gnulib .m4 now does this for us:
55869         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
55870         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
55871         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
55872         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
55873         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
55874         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
55875         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
55876         AC_FUNC_OBSTACK.
55877         Do not replace the following functions, as this is now the job
55878         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
55879         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
55880         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
55881         atexit getpass, strdup, getpagesize.
55882         Replace 'raise'.
55883         Do not check for the following functions, as this is now the job
55884         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
55885         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
55886         setregid.
55887         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
55888         Check for sys/sysctl.h.
55889         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
55890         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
55891         of checking for ssize_t ourselves.
55892
55893         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
55894         Require every macro that gnulib/modules/* suggests for us.
55895         (jm_PREREQ_ADDEXT): New macro.
55896         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
55897         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
55898
55899         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
55900         (gl_PHYSMEM): Use it.
55901         Also check for `table' function.
55902         Check for new headers and functions.
55903         Add check for sys/sysmp.h.
55904         With suggestions from Kaveh Ghazi.
55905         Ignore headers that are present but cannot be compiled.  This
55906         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
55907         C 5.4.
55908
55909 2003-08-15  Paul Eggert  <eggert@twinsun.com>
55910
55911         Document merge from coreutils.
55912         * modules/userspec: Depend on posixver.
55913         * modules/strftime: Depend on tzset.
55914
55915 2003-08-15  Paul Eggert  <eggert@twinsun.com>
55916
55917         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
55918         rather than tab, after '#' in shell-script copyright notices.
55919         Suggested by Bruno Haible.
55920
55921 2003-08-15  Paul Eggert  <eggert@twinsun.com>
55922
55923         * config/srclist-update: Use three spaces, rather than tab, after '#'
55924         in shell-script copyright notices.  Suggested by Bruno Haible.
55925         Remove unnecessary parenthesization in regular expression.
55926
55927 2003-08-15  Jim Meyering  <jim@meyering.net>
55928
55929         Merge from coreutils.
55930         * lib/xgethostname.c: Include <stdlib.h>.
55931         (xghostname): Don't exit for anything other than memory-related
55932         failure; just return NULL.
55933         * lib/userspec.c: Include "posixver.h".
55934         (parse_user_spec): Accept `.' as a separator only
55935         in pre-POSIX-200112 mode.
55936         * lib/strtoimax.c: Use #elif rather than #else #if.
55937         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
55938         Remove function, now that we can rely on a working tzset function.
55939         [!_LIBC]: Ensure that the required autoconf test has been run.
55940         [!defined _NL_CURRENT && HAVE_STRFTIME]:
55941         Use underlying_strftime for %r.
55942         * lib/sha.c: Merge in some clean-up and optimization changes from
55943         glibc.
55944         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
55945         Ensure that it is a multiple of 64.
55946         Rearrange loop exit tests so as to avoid performing an
55947         additional fread after encountering an error or EOF.
55948         * lib/realloc.c: Update copyright date.
55949
55950 2003-08-15  Jim Meyering  <jim@meyering.net>
55951         and Paul Eggert  <eggert@twinsun.com>
55952
55953         Merge from coreutils.
55954         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
55955         member but strut utmpx does not.  Needed for AIX 4.3.3.
55956         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
55957
55958 2003-08-15  Jim Meyering  <jim@meyering.net>
55959         and Paul Eggert  <eggert@cs.ucla.edu>
55960
55961         Merges from coreutils, etc.
55962         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
55963         Require gl_FUNC_TZSET_CLOBBER.
55964         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
55965         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
55966         members.
55967
55968 2003-08-14  Paul Eggert  <eggert@twinsun.com>
55969
55970         Help the merge from coreutils.
55971         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
55972         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
55973         * m4/tzset.m4: Use it too.
55974
55975 2003-08-14  Paul Eggert  <eggert@twinsun.com>
55976
55977         * modules/tzset: New file.
55978
55979 2003-08-14  Jim Meyering  <jim@meyering.net>
55980
55981         Merges from coreutils.
55982         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
55983         variable names, rather than @FNMATCH_H@.
55984         * modules/alloca: Likewise for $(ALLOCA_H).
55985
55986         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
55987         the three copies of the literal target, `fnmatch.h'.
55988         * modules/alloca (alloca.h): Likewise.
55989
55990 2003-08-14  Jim Meyering  <jim@meyering.net>
55991
55992         Merge from coreutils.
55993         * m4/tzset.m4: New file.
55994         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
55995         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
55996         otherwise, AIX 5.1 systems would end up using the latter.
55997         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
55998         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
55999         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
56000         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
56001
56002 2003-08-14  Jim Meyering  <jim@meyering.net>
56003
56004         Merge from coreutils.
56005         * lib/obstack.h: Whitespace changes.
56006         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
56007         and xcalloc return values.
56008         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
56009         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
56010         hang on OSF/1 5.1 for DIR on both local and remote file systems.
56011         Reported by (and fix confirmed by) Nelson H. F. Beebe.
56012         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
56013         error from mntctl.
56014         Use mntctl's return value to drive the entry-processing loop, since
56015         we can't rely on the value of the vmt_length member in the last
56016         entry.  On some systems doing so could result in exhausting
56017         virtual memory.  Based in part on a patch from Mike Jetzer.
56018
56019 2003-08-14  Jim Meyering  <jim@meyering.net>
56020         and Paul Eggert  <eggert@twinsun.com>
56021
56022         Merges from coreutils, plus other fixes.
56023         * lib/physmem.c: Merge in portability changes from gcc/libiberty
56024         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
56025         for credits and details.  Thanks to Kaveh Ghazi for helping
56026         to keep these files in sync.
56027         (ARRAY_SIZE): Define it.
56028         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
56029         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
56030         (memcasecmp): Don't assume size_t fits in unsigned int.
56031         Remove casts and duplicate code.
56032         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
56033         (memcpy): Remove definition.
56034         Merge in some clean-up and optimization changes from glibc.
56035         [BLOCKSIZE]: Move definition to top of file.
56036         Ensure that it is a multiple of 64.
56037         Rearrange loop exit tests so as to avoid performing an
56038         additional fread after encountering an error or EOF.
56039         * lib/md5.h (md5_uintptr): Define.
56040         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
56041         return to the initial working directory.  Preserve errno
56042         for caller.
56043         * lib/idcache.c: Include "xalloc.h".
56044         (xmalloc, xrealloc): Remove decls.
56045         (getuser): Remove casts no longer required in C89.
56046         * lib/human.c: Include stdio.h, for sprintf.
56047         * lib/group-member.c: Include "xalloc.h".
56048         (xmalloc, xrealloc): Remove decls.
56049         (get_group_info): Remove casts no longer required in C89.
56050         * lib/getusershell.c (readname): Remove casts no longer required in
56051         C89.
56052         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
56053         * lib/getline.c: Whitespace fix, from coreutils.
56054
56055 2003-08-13  Paul Eggert  <eggert@twinsun.com>
56056
56057         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
56058         Check for isascii.
56059
56060         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
56061         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
56062         Undo previous (whitespace-only) change.
56063
56064 2003-08-13  Paul Eggert  <eggert@twinsun.com>
56065
56066         * lib/exclude.c: Include <ctype.h>
56067         (IN_CTYPE_DOMAIN): New macro.
56068         (is_space): New fn.
56069         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
56070         and empty lines.
56071
56072         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
56073         Undo previous (whitespace-only) change.
56074
56075 2003-08-13  Paul Eggert  <eggert@twinsun.com>
56076
56077         * config/srclist-update: Change update back to the old behavior,
56078         leaving whitespace alone.  Use one 'sed' command rather than a
56079         pipeline.
56080         (fixlicense): Now a variable, not a function.
56081         (remove_trailing_blanks): Remove.
56082         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
56083         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
56084         Undo previous (whitespace-only) change.
56085
56086 2003-08-12  Paul Eggert  <eggert@twinsun.com>
56087
56088         Merge from coreutils.
56089         * modules/euidaccess: Add lib_SOURCES, include for new
56090         file euidaccess.h
56091
56092 2003-08-12  Paul Eggert  <eggert@twinsun.com>
56093
56094         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
56095         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
56096         Normalize leading white space and remove trailing white space.
56097
56098         Merge from coreutils
56099         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
56100
56101         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
56102         0.12.1.  These files are now being upgraded automatically by
56103         ../config/srclist-update.
56104
56105 2003-08-12  Paul Eggert  <eggert@twinsun.com>
56106
56107         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
56108         Normalize leading white space and remove trailing white space.
56109         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
56110         notice, as per ../config/srclist-update.
56111
56112         Merge from coreutils.
56113         * lib/euidaccess.h: New file.
56114         * lib/euidaccess.c: Include it.
56115         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
56116         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
56117         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
56118
56119 2003-08-12  Paul Eggert  <eggert@twinsun.com>
56120
56121         * config/srclist-update: Add copyright notice.
56122         (remove_id_lines, remove_trailing_blanks): New constants.
56123         (fixfile): Use them to normalize spacing a bit in copied files.
56124         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
56125         Normalize leading white space and remove trailing white space.
56126
56127         * config/texinfo.tex: Sync with texinfo.
56128
56129         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
56130         strtoul.c from libc, to merge coreutils whitespace changes.
56131
56132         * config/srclist.txt: Get the following m4 files from gettext:
56133         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
56134         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
56135         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
56136         wint_t.m4.
56137
56138 2003-08-12  Karl Berry  <karl@gnu.org>
56139
56140         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
56141         been made.
56142
56143 2003-08-11  Paul Eggert  <eggert@twinsun.com>
56144
56145         * modules/gnu-source, m4/gnu-source.m4:
56146         Remove; we're assuming Autoconf 2.54 or later now.
56147         Suggested by Bruno Haible.
56148         * MODULES.html.sh (func_all_modules): Remove gnu-source.
56149
56150 2003-08-11  Bruno Haible  <bruno@clisp.org>
56151
56152         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
56153
56154 2003-08-11  Bruno Haible  <bruno@clisp.org>
56155
56156         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
56157         (vasnprintf): Use it instead of wcslen.
56158
56159 2003-08-11  Bruno Haible  <bruno@clisp.org>
56160
56161         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
56162         value to ensure that _Bool promotes to int. Use #define for _Bool when
56163         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
56164
56165 2003-08-10  Karl Berry  <karl@gnu.org>
56166
56167         * lib/regex.h: update from libc (whitespace fix).
56168
56169 2003-08-09  Paul Eggert  <eggert@twinsun.com>
56170
56171         Merge some files from coreutils.  These changes were
56172         originally made by Jim Meyering.
56173         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
56174         many older Unixes require this.
56175         * lib/alloca.c (alloca): Remove cast to argument of free;
56176         no longer needed in C89.
56177         * lib/alloca_.h, regex.h: Fix white space to match
56178         what GNU indent does.
56179
56180 2003-08-09  Paul Eggert  <eggert@twinsun.com>
56181
56182         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
56183         apparently Emacs's Unicode mode got confused before my 2003-08-05
56184         checkin.
56185
56186 2003-08-08  Paul Eggert  <eggert@twinsun.com>
56187
56188         * m4/extensions.m4: New file.
56189         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
56190         Require gl_USE_SYSTEM_EXTENSIONS.
56191         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
56192         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
56193
56194 2003-08-08  Paul Eggert  <eggert@twinsun.com>
56195
56196         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
56197         * modules/extensions, modules/gnu-source: New files.
56198         * modules/timespec, modules/unlocked-io: Depend on extensions.
56199
56200 2003-08-07  Paul Eggert  <eggert@twinsun.com>
56201
56202         * modules/restrict: New file.
56203         * MODULES.html.sh (func_all_modules): Add restrict.
56204         * modules/regex: Depend on restrict.
56205
56206 2003-08-07  Paul Eggert  <eggert@twinsun.com>
56207
56208         * m4/restrict.m4: New file.
56209         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
56210
56211 2003-08-07  Bruno Haible  <bruno@clisp.org>
56212
56213         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
56214         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
56215
56216 2003-08-07  Bruno Haible  <bruno@clisp.org>
56217
56218         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
56219         makes the module 'getndelim2' compatible with the module 'getline'.
56220
56221 2003-08-05  Paul Eggert  <eggert@twinsun.com>
56222
56223         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
56224         byte with "\201" to avoid glitches when editing that source file
56225         with multi-gnome-terminal.
56226
56227 2003-08-05  Paul Eggert  <eggert@twinsun.com>
56228
56229         * lib/bumpalloc.h: Remove.
56230
56231 2003-08-05  Paul Eggert  <eggert@twinsun.com>
56232
56233         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
56234         * modules/bumpalloc: Remove.
56235
56236 2003-08-04  Paul Eggert  <eggert@twinsun.com>
56237
56238         * lib/getloadavg.c: Change copyright notice and spacing to conform to
56239         GNU coding style.
56240
56241         Merge from coreutils.
56242         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
56243         1. From glibc.
56244         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
56245         from Karl Berry, implemented by Jim Meyering.
56246         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
56247         from Dmitry V. Levin.
56248         Remove anachronistic cast of xrealloc.
56249         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
56250         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
56251         type. Otherwise, it wouldn't compile with at least /bin/cc on
56252         ymp-cray-unicos9.0.2.X.
56253         Combine two mostly-identical uses of alloca into one.
56254         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
56255
56256 2003-08-04  Dave Love  <d.love@dl.ac.uk>
56257
56258         [From Emacs.]
56259
56260         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
56261         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
56262         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
56263         obsolete NLIST_NAME_UNION.
56264         [__GNU__]: Undef BSD and FSCALE.
56265         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
56266
56267 2003-08-03  Paul Eggert  <eggert@twinsun.com>
56268
56269         * lib/stdbool_.h (_Bool): Make it signed char, instead of
56270         an enum type, so that it's guaranteed to promote to int.  See:
56271         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
56272
56273 2003-08-03  Karl Berry  <karl@gnu.org>
56274
56275         * config/depcomp: update from automake.
56276
56277 2003-07-31  Paul Eggert  <eggert@twinsun.com>
56278
56279         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
56280         (strerror): Don't assume that a printable int fits in 14 bytes.
56281
56282 2003-07-31  Bruno Haible  <bruno@clisp.org>
56283
56284         * modules/getpass-gnu: New file.
56285         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
56286
56287 2003-07-31  Bruno Haible  <bruno@clisp.org>
56288
56289         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
56290
56291 2003-07-24  Karl Berry  <karl@gnu.org>
56292
56293         * config/missing: update from automake.
56294
56295 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
56296             Bruno Haible  <bruno@clisp.org>
56297
56298         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
56299         * lib/getline.c (getline, getdelim): Likewise.
56300         Remove _GNU_SOURCE define; now it's defined in config.h through
56301         m4/getline.m4.
56302
56303 2003-07-23  Karl Berry  <karl@gnu.org>
56304
56305         * config/config.sub: update from prep.
56306
56307 2003-07-22  Paul Eggert  <eggert@twinsun.com>
56308
56309         * modules/xalloc (Depends-on): Add exitfail.
56310         * modules/xmemcoll: Likewise.
56311
56312 2003-07-22  Paul Eggert  <eggert@twinsun.com>
56313
56314         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
56315         over-parenthesization in macros.
56316
56317         Sync with coreutils.
56318
56319         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
56320         required by C99.
56321
56322         Use `exit_failure' for xalloc and xmemcoll instead of their own
56323         private exit-failure variables.
56324         * lib/xalloc.h (xalloc_exit_failure): Remove.
56325         * lib/xmalloc.c: Likewise.  Include exitfail.h.
56326         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
56327         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
56328         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
56329         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
56330
56331 2003-07-20  Jim Meyering  <jim@meyering.net>
56332
56333         * modules/closeout (Depends-on): Add exitfail.
56334         Suggestion from Bruno Haible.
56335
56336 2003-07-19  Karl Berry  <karl@gnu.org>
56337
56338         * config/config.sub: update from prep.
56339
56340 2003-07-18  Paul Eggert  <eggert@twinsun.com>
56341
56342         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
56343         Remove.
56344         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
56345         to test that it can stand by itself.  Include "exitfail.h".
56346         Clients should set exit_failure instead.
56347         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
56348
56349 2003-07-18  Bruno Haible  <bruno@clisp.org>
56350
56351         * modules/getndelim2: New file.
56352         * modules/getline: Share files with module getndelim2.
56353         * modules/getnline: Depend on getndelim2 instead of sharing files with
56354         it. Add getnline.c to lib_SOURCES.
56355         * MODULES.html.sh (func_all_modules): Add getndelim2.
56356
56357 2003-07-18  Bruno Haible  <bruno@clisp.org>
56358
56359         * m4/getndelim2.m4: New file.
56360         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
56361         invoke gl_PREREQ_GETNDELIM2.
56362         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
56363         gl_PREREQ_GETNDELIM2.
56364         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
56365         gl_GETNDELIM2.
56366
56367 2003-07-18  Bruno Haible  <bruno@clisp.org>
56368
56369         * lib/getndelim2.h: New file.
56370         * lib/getndelim2.c: Make into a module of its own. Include config.h,
56371         getndelim2.h.
56372         (getndelim2): Make non-static. Change return type to ssize_t.
56373         * lib/getline.h: Change argument names.
56374         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
56375         * lib/getnline.c: Include getndelim2.h.
56376
56377 2003-07-18  Andreas Schwab  <schwab@suse.de>
56378
56379         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
56380
56381 2003-07-17  Karl Berry  <karl@gnu.org>
56382
56383         * config/config.sub: update from prep.
56384
56385 2003-07-17  Bruno Haible  <bruno@clisp.org>
56386
56387         * modules/getnline: New file.
56388         * modules/getline: Add lib/getndelim2.c to source file list.
56389         * MODULES.html.sh (func_all_modules): Add getnline.
56390
56391 2003-07-17  Bruno Haible  <bruno@clisp.org>
56392
56393         * m4/getnline.m4: New file.
56394
56395 2003-07-17  Bruno Haible  <bruno@clisp.org>
56396
56397         * m4/Makefile.am.in: Remove file.
56398         * m4/Makefile.am: Remove file.
56399         * m4/Makefile.in: Remove file.
56400
56401 2003-07-17  Bruno Haible  <bruno@clisp.org>
56402
56403         * lib/getnline.h: New file.
56404         * lib/getnline.c: New file.
56405         * lib/getndelim2.c: New file, extracted from getline.c.
56406         (getndelim2): Renamed from getdelim2, with added nmax argument.
56407         * lib/getline.c: Include getndelim2.c.
56408         (getdelim2): Moved out to getndelim2.c.
56409         (getline, getdelim): Update.
56410
56411 2003-07-17  Bruno Haible  <bruno@clisp.org>
56412
56413         * lib/Makefile.am: Remove file.
56414         * lib/Makefile.in: Remove file.
56415
56416 2003-07-17  Bruno Haible  <bruno@clisp.org>
56417
56418         * configure.in: Remove file.
56419         * Makefile.in: Remove file.
56420
56421 2003-07-17  Bruno Haible  <bruno@clisp.org>
56422
56423         * MODULES.html.sh: Put the </BODY> right before </HTML>.
56424
56425 2003-07-16  Karl Berry  <karl@gnu.org>
56426
56427         * config/srclist-update: was running fixlicense twice, which caused
56428                 texinfo.tex to be nullified for some reason.  Simplify,
56429                 $gplsrc is no longer needed as far as I can see?
56430
56431 2003-07-16  Jim Meyering  <jim@meyering.net>
56432
56433         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
56434
56435 2003-07-15  Paul Eggert  <eggert@twinsun.com>
56436
56437         * config/srclist.txt: Get the following files from gettext-runtime/intl
56438         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
56439         ref-del.sin.  From Bruno Haible.
56440         * config/srclist-update (fixfile): Change grep pattern again, since the
56441         previous fix didn't work (there was another trailing $).  Use
56442         '[$]' to escape the $s.
56443
56444 2003-07-15  Karl Berry  <karl@gnu.org>
56445
56446         * lib/vasnprintf.c: update from gettext.
56447
56448 2003-07-15  Karl Berry  <karl@gnu.org>
56449
56450         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
56451         gets expanded when surrounded by '$'.
56452
56453 2003-07-15  Jim Meyering  <jim@meyering.net>
56454
56455         * modules/save-cwd: Don't depend on error.  From Derek Price.
56456
56457 2003-07-15  Jim Meyering  <jim@meyering.net>
56458
56459         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
56460
56461 2003-07-14  Simon Josefsson  <jas@extundo.com>
56462
56463         * modules/mempcpy: New file.
56464         * MODULES.html.sh (func_all_modules): Add mempcpy.
56465
56466 2003-07-14  Simon Josefsson  <jas@extundo.com>
56467
56468         * m4/mempcpy.m4: New file.
56469
56470 2003-07-14  Simon Josefsson  <jas@extundo.com>
56471
56472         * lib/mempcpy.h: New file.
56473         * lib/mempcpy.c: New file.
56474
56475 2003-07-14  Paul Eggert  <eggert@twinsun.com>
56476
56477         * modules/getdate, modules/posixtm: Depend on mktime.
56478
56479 2003-07-14  Paul Eggert  <eggert@twinsun.com>
56480
56481         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
56482         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
56483         unicodeio.c, unicodeio.h, unlocked-io.h:
56484         Switch from LGPL to GPL.
56485
56486 2003-07-14  Paul Eggert  <eggert@twinsun.com>
56487
56488         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
56489         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
56490         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
56491         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
56492         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
56493         updated automatically by ../config/srclist-update.  This changes
56494         their license from LPGL to GPL.
56495
56496 2003-07-14  Paul Eggert  <eggert@twinsun.com>
56497
56498         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
56499         assumed to refer to the root of the most recent stable gettext version.
56500         * config/srclistvars.sh: Add defaults for eggert.
56501         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
56502         Match "This program" as well as "The program".  This is needed
56503         for gettext.
56504
56505 2003-07-14  Jim Meyering  <jim@meyering.net>
56506
56507         Don't emit diagnostics.  Let callers do that.
56508         * lib/save-cwd.c: Don't include "error.h".
56509         (save_cwd): Don't call error.  Ensure that errno is valid
56510         when returning nonzero.
56511
56512         * lib/save-cwd.h (restore_cwd): Update prototype.
56513         * lib/save-cwd.c (restore_cwd): Remove two parameters.
56514         Simplify.  Don't call error upon failure.  Let callers do that.
56515         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
56516         when auditing is enabled.  But don't bother updating the #if.
56517
56518 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
56519
56520         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
56521         it breaks C++ compilation.
56522         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
56523
56524 2003-07-10  Simon Josefsson  <jas@extundo.com>
56525
56526         * modules/strchrnul (Makefile.am): Add strchrnul.h.
56527
56528 2003-07-10  Jim Meyering  <jim@meyering.net>
56529
56530         * m4/clock_time.m4: Remove trailing blank.
56531         * m4/intmax_t.m4: Likewise.
56532
56533 2003-07-10  Jim Meyering  <jim@meyering.net>
56534
56535         * lib/vasnprintf.c: Remove trailing blanks.
56536         Make cpp indentation consistent.
56537
56538 2003-07-09  Paul Eggert  <eggert@twinsun.com>
56539
56540         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
56541         posixver.c, strftime.c, strnlen.c, strverscmp.c:
56542         Switch from LGPL to GPL.
56543
56544 2003-07-09  Paul Eggert  <eggert@twinsun.com>
56545
56546         * config/srclist.txt: Sort sublists.  Add
56547         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
56548         that differ from gnulib for one reason or another; we'd like this list
56549         to be smaller but for now let's document what we have.
56550
56551 2003-07-08  Paul Eggert  <eggert@twinsun.com>
56552
56553         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
56554         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
56555         and sweeter "eval x=$x".
56556         * config/srclist.txt: Get lib/argp* from glibc.
56557
56558 2003-07-07  Paul Eggert  <eggert@twinsun.com>
56559
56560         * lib/mktime.c: Fix some boundary cases and remove need for floating
56561         point.
56562
56563         Issue a compile-time diagnostic if time_t is floating point, or if
56564         two's complement arithmetic is not in effect, or if arithmetic
56565         right shift does not propagate the sign.  These assumptions were
56566         all in the original code but they weren't checked.
56567
56568         (TIME_T_MIDPOINT, verify): New macros.
56569         (__isleap): Remove; it has integer overflow problems.
56570         (leapyear): New function, without those problems.
56571         (ydhms_tm_diff): Remove; splitting into two parts.
56572         (ydhms_diff): New function, containing the arithmetic part of
56573         the old ydhms_tm_diff function.  Issue a compile-time
56574         diagnostic if we are not using C99 integer division.
56575         Avoid casts when possible.
56576         (guess_time_tm): New function, containing the checking part of
56577         the old ydhms_tm_diff function.  Return the new value, rather than
56578         the difference between it and the old.  Accept a new argument T
56579         so that *T specifies the old value.  Check for overflow in the result.
56580
56581         (__mktime_internal): Use a time_t offset, not a long int offset.
56582         This undoes the 2003-06-04 change, which is no longer needed now
56583         that we have better overflow checking.
56584         (localtime_offset): Likewise.
56585
56586         (__mktime_internal): Avoid harmful overflow on hosts where time_t
56587         and long are 64-bit but int is only 32-bit.
56588         (ydhms_diff): Use long int to store year1 and yday1.
56589         Issue a compile-time diagnostic if long int is not wide enough.
56590
56591         (__mktime_internal): Use long int to store adjusted year and yday.
56592         Use plain C rather than preprocessor commands, if that doesn't
56593         affect efficiency.
56594         Check for overflow (and try to repair) after each probe
56595         rather than checking only at the very end.  This avoids some bugs
56596         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
56597         does not equal GMT offset at maximum time).
56598         Use integer to check for overflow rather than floating point; this
56599         is more portable to non-IEEE hosts, and is a tad faster.
56600         When we detect that we are oscillating between two values,
56601         don't check whether tm_isdst has the requested value, since
56602         we already know the answer.  When tm_isdst has the wrong value,
56603         use a different heuristic to find the right one, based on the
56604         extreme values actually observed in practice in tz2003a,
56605         rather than the (overly optimistic) "previous 3 calendar quarters".
56606
56607         (not_equal_tm, print_tm, check_result): Use "const T" rather than
56608         "T const" to accommodate glibc style.
56609         (check_result): Use less-confusing report format.  "long" -> "long int.
56610         (main): Likewise.
56611         Don't loop if the iteration overflows time_t.
56612         Allow a negative step in the iteration.
56613
56614 2003-07-06  Karl Berry  <karl@gnu.org>
56615
56616         * config/depcomp: update from automake.
56617         * config/config.sub: update from prep.
56618
56619 2003-07-03  Karl Berry  <karl@gnu.org>
56620
56621         * config/config.guess: update from prep.
56622
56623 2003-07-01  Paul Eggert  <eggert@twinsun.com>
56624
56625         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
56626         xreadlink.c now includes it unconditionally.
56627
56628 2003-07-01  Paul Eggert  <eggert@twinsun.com>
56629
56630         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
56631         having it depend on HAVE_SYS_TYPES_H.
56632
56633 2003-07-01  Bruno Haible  <bruno@clisp.org>
56634
56635         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
56636         <sys/types.h> should be sufficient.
56637         Reported by Paul Eggert.
56638
56639 2003-06-26  Karl Berry  <karl@gnu.org>
56640
56641         * config/depcomp: update from automake.
56642
56643 2003-06-26  Bruno Haible  <bruno@clisp.org>
56644
56645         * modules/human: Depend on module stdbool.
56646
56647 2003-06-25  Bruno Haible  <bruno@clisp.org>
56648
56649         * modules/readlink: New file.
56650         * modules/xreadlink: Depend on it.
56651         * MODULES.html.sh (func_all_modules): Add readlink.
56652
56653 2003-06-25  Bruno Haible  <bruno@clisp.org>
56654
56655         * m4/readlink.m4: New file.
56656
56657 2003-06-25  Bruno Haible  <bruno@clisp.org>
56658
56659         * lib/readlink.c: New file.
56660
56661 2003-06-22  Karl Berry  <karl@gnu.org>
56662
56663         * config/srclist.txt: update mkinstalldirs from automake.
56664         * config/mkinstalldirs: update.
56665
56666 2003-06-22  Bruno Haible  <bruno@clisp.org>
56667
56668         Portability to mingw32.
56669         * m4/ssize_t.m4: New file, from GNU gettext.
56670         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
56671         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
56672
56673 2003-06-22  Bruno Haible  <bruno@clisp.org>
56674
56675         * modules/safe-read: Add m4/ssize_t.m4.
56676         * modules/xreadlink: Add m4/ssize_t.m4.
56677
56678 2003-06-20  Bruno Haible  <bruno@clisp.org>
56679
56680         Assume C89, so PARAMS isn't needed.
56681         * lib/unicodeio.h (PARAMS): Remove.
56682         * lib/unicodeio.c: Don't use PARAMS.
56683
56684 2003-06-18  Karl Berry  <karl@gnu.org>
56685
56686         * config/config.{guess,sub}: update from prep.
56687
56688 2003-06-18  Jim Meyering  <jim@meyering.net>
56689
56690         Merge changes from coreutils.
56691         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
56692         Remove explicit declarations of xmalloc and realloc.
56693         Include xalloc.h.
56694         (read_utmp): Remove anachronistic cast of xmalloc.
56695
56696 2003-06-17  Paul Eggert  <eggert@twinsun.com>
56697
56698         Assume C89, so PARAMS isn't needed.
56699         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
56700         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
56701         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
56702         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
56703         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
56704         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
56705         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
56706         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
56707         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
56708         lib/xstrtod.h, lib/xstrtol.h: Likewise.
56709         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
56710         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
56711         no longer needed. Anyway, config.h should always be included before any
56712         other file.
56713
56714 2003-06-11  Simon Josefsson  <jas@extundo.com>
56715
56716         * modules/sysexits: New file.
56717         * MODULES.html.sh (func_all_modules): Add sysexits.
56718
56719 2003-06-11  Simon Josefsson  <jas@extundo.com>
56720
56721         * lib/sysexit_.h: New file.
56722
56723 2003-06-11  Derek Price  <derek@ximbiot.com>
56724
56725         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
56726         necessary.
56727
56728 2003-06-11  Bruno Haible  <bruno@clisp.org>
56729
56730         * m4/sysexits.m4: New file.
56731
56732 2003-06-10  Simon Josefsson  <jas@extundo.com>
56733
56734         * lib/argp.h: New file, from glibc.
56735         * lib/argp-ba.c: New file, from glibc.
56736         * lib/argp-eexst.c: New file, from glibc.
56737         * lib/argp-fmtstream.c: New file, from glibc.
56738         * lib/argp-fmtstream.h: New file, from glibc.
56739         * lib/argp-fs-xinl.c: New file, from glibc.
56740         * lib/argp-help.c: New file, from glibc.
56741         * lib/argp-namefrob.h: New file, from glibc.
56742         * lib/argp-parse.c: New file, from glibc.
56743         * lib/argp-pv.c: New file, from glibc.
56744         * lib/argp-pvh.c: New file, from glibc.
56745         * lib/argp-xinl.c: New file, from glibc.
56746
56747 2003-06-10  Simon Josefsson  <jas@extundo.com>
56748
56749         * modules/strchrnul: New file.
56750
56751 2003-06-10  Simon Josefsson  <jas@extundo.com>
56752
56753         * modules/argp: New file.
56754
56755 2003-06-10  Simon Josefsson  <jas@extundo.com>
56756
56757         * m4/strchrnul.m4: New file.
56758
56759 2003-06-10  Simon Josefsson  <jas@extundo.com>
56760
56761         * lib/strchrnul.h: New file.
56762         * lib/strchrnul.c: New file.
56763
56764 2003-06-10  Bruno Haible  <bruno@clisp.org>
56765
56766         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
56767
56768 2003-06-07  Karl Berry  <karl@gnu.org>
56769
56770         * config/config.{guess,sub}: update from prep.
56771
56772 2003-06-07  Jim Meyering  <jim@meyering.net>
56773
56774         * modules/strtod: Use $(...) notation, not @...@ for
56775         AC_REPLACE'd variables.
56776         * modules/localcharset: Likewise.
56777
56778 2003-06-07  Jim Meyering  <jim@meyering.net>
56779
56780         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
56781         in place of my name in the copyright comment.
56782         Remove definition and uses of __P.
56783
56784         From coreutils.
56785         * lib/stat.c: Don't declare xmalloc explicitly.
56786         Instead, include "xalloc.h".
56787         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
56788         xrealloc, and xcalloc return values.
56789         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
56790         Improve comment.
56791         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
56792
56793 2003-06-07  Bruno Haible  <bruno@clisp.org>
56794
56795         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
56796         avoid AC_CONFIG_LINKS.
56797         * modules/fnmatch (Makefile.am): Use explicit creation rule for
56798         fnmatch.h, to avoid AC_CONFIG_LINKS.
56799         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
56800
56801 2003-06-07  Bruno Haible  <bruno@clisp.org>
56802
56803         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
56804         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
56805         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
56806         directory.
56807         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
56808         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
56809         directory.
56810
56811 2003-06-06  Jim Meyering  <jim@meyering.net>
56812
56813         Merge from coreutils.
56814         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
56815         Consolidate declarations and initializations of *_base* locals.
56816
56817         Merge from coreutils.
56818         This avoids a core dump on systems without GNU putenv,
56819         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
56820         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
56821         (unsetenv): New static function, from GNU libc.
56822         (rpl_putenv): Use it.
56823
56824         * lib/modechange.c: Remove trailing blanks.
56825
56826         Merge from coreutils.
56827         * lib/fsusage.c: Remove declaration of statfs.
56828         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
56829
56830         * lib/posixtm.c: Include <stdbool.h> unconditionally.
56831
56832 2003-06-06  Jim Meyering  <jim@meyering.net>
56833
56834         * lib/stdbool_.h: Renamed from stdbool.h.in.
56835
56836 2003-06-06  Jim Meyering  <jim@meyering.net>
56837             Bruno Haible  <bruno@clisp.org>
56838
56839         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
56840         Adjust Makefile.am snippet not to redirect directly to target.
56841         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
56842
56843 2003-06-05  Paul Eggert  <eggert@twinsun.com>
56844
56845         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
56846         mismatch, look in future quarters as well as past.  This fixes a
56847         bug when processing fall-backwards gaps immediately after a long
56848         period of daylight-saving time.
56849
56850         * lib/mktime.c: Assume freestanding C89 or better.
56851         (HAVE_LIMITS_H): Remove.  Assume it's 1.
56852         (__P): Remove; not used.
56853         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
56854         (mktime, not_equal_tm, print_tm, check_result,
56855         main): Use prototypes.  Use const * where appropriate.
56856         (main): Fix typo in testing code that uncovered by above changes.
56857         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
56858
56859 2003-06-04  Paul Eggert  <eggert@twinsun.com>
56860
56861         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
56862         locale.h, localeconv.  This merges changes from coreutils.
56863
56864         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
56865         It can be removed after the next Autoconf is released.
56866         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
56867         needed.
56868
56869 2003-06-04  Paul Eggert  <eggert@twinsun.com>
56870
56871         * lib/mktime.c: Fix Debian bug 177940
56872         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
56873         (localtime_offset): Now long int, not time_t, because we want it
56874         to be guaranteed to be signed.  All uses changed.
56875         (__mktime_internal): If overflow would occur when adding offset,
56876         don't add it.
56877
56878         Merge 'human' changes from coreutils.  Rewrite to support
56879         locale-specific notations like thousands separators.
56880         * lib/human.c: Simplify authorship notice.
56881         Include human.h immediately after config.h.
56882         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
56883         <limits.h>: Do not include, since human.h does.
56884         (SIZE_MAX, UINTMAX_MAX): New macros.
56885         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
56886         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
56887         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
56888         (power_letter): Renamed from suffixes.
56889         (generate_suffix_backwards): Remove.
56890         (adjust_value): Now takes int style (because of human.h changes)
56891         and long double value (for greater precision on some platforms).
56892         (group_number): New function.
56893         (human_readable): Use it.  Use integer options, not enum.
56894         Put the options before the sizes in the arg list.
56895         Support all the new options.
56896         The old human_readable function has been removed;
56897         use inttostr.h instead.
56898         (human_readable, default_block_size, humblock):
56899         Use uintmax_t, not int, for block sizes.
56900         (human_readable_inexact, block_size_types): Remove.
56901         (block_size_opts): New constant.
56902         (human_options): Renamed from human_block_size, with new signature
56903         that allows block sizes up to UINTMAX_MAX.  All callers changed.
56904         * lib/human.h: Add copyright and authorship notice.
56905         Include <limits.h> and <stdbool.h> unconditionally.
56906         (PARAMS): Remove.  All uses removed.
56907         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
56908         (enum human_inexact_style): Remove tag; now a nameless enum.
56909         (human_floor, human_ceiling, human_round_to_even): Now have
56910         values 2, 0, 1 rather than -1, 1, 0.
56911         (human_group_digits, human_suppress_point_zero, human_autoscale,
56912         human_base_1024, human_SI, human_B): New constants.
56913         (human_readable_inexact, human_block_size): Remove.
56914         (human_readable): Size args are now uintmax_t, not int.
56915         (human_options): New decl.
56916
56917         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
56918         unnecessary now that we assume C89 or better.  This change
56919         imported from coreutils.
56920
56921         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
56922         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
56923         in the 2003-05-30 sync from glibc.
56924
56925         .h files should stand alone, but we shouldn't include <sys/types.h>
56926         if we can get away with just <stddef.h>.
56927
56928         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
56929         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
56930         rather than <sys/types.h>, as we merely need size_t.
56931         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
56932         to get size_t.
56933         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
56934         Include <stdio.h>, to get FILE.
56935         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
56936         memcasecmp.h has included <stddef.h> and all we need is size_t.
56937         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
56938         our interface, instead of including <sys/types.h>
56939
56940 2003-06-04  Paul Eggert  <eggert@twinsun.com>
56941
56942         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
56943         now, as glibc mktime is buggy on non-glibc systems.
56944
56945 2003-06-03  Karl Berry  <karl@gnu.org>
56946
56947         * config/config.sub: update from prep.
56948
56949 2003-06-02  Paul Eggert  <eggert@twinsun.com>
56950
56951         [from coreutils]
56952         Fix some minor time-related bugs with POSIX time arguments.
56953         Some valid time stamps were being rejected (notably -1, and
56954         time stamps before 1900 on 64-bit hosts).  And some invalid
56955         time stamps were being accepted, e.g. September 31.
56956
56957         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
56958         that we can return (time_t) -1 successfully.
56959         * lib/posixtm.c: Likewise.
56960         [HAVE_STDBOOL_H]: Include <stdbool.h>.
56961         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
56962         (t): Remove static var.
56963         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
56964         of static var.  All uses changed.
56965         (year): Do not reject years before 1900; they can occur with
56966         64-bit time_t.
56967         (posix_time_parse): Do not check for out-of-range components;
56968         that is now the caller's responsibility, since our checks were
56969         only approximations.
56970         (posixtime): Use mktime to check for out-of-range components,
56971         since it knows them exactly.
56972         If mktime returns (time_t) -1, check whether an error actually occurred
56973         by invoking localtime on -1.
56974         (main) [TEST_POSIXTIME]: Check for input data errors, and report
56975         posixtime failures better.
56976         Improve the test data (in comments only).
56977
56978 2003-06-02  Karl Berry  <karl@gnu.org>
56979
56980         * config/mkinstalldirs (version): new variable.
56981         (--version): new option.
56982         (usage): improve message.
56983
56984 2003-05-30  Karl Berry  <karl@gnu.org>
56985
56986         * lib/mktime.c: update from libc.
56987
56988 2003-05-30  Bruno Haible  <bruno@clisp.org>
56989
56990         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
56991         * config/config.rpath: Upgrade to gettext-0.12.1.
56992
56993 2003-05-30  Bruno Haible  <bruno@clisp.org>
56994
56995         * m4/gettext.m4: Upgrade to gettext-0.12.1.
56996         * m4/nls.m4: New file, from gettext-0.12.1.
56997         * m4/po.m4: New file, from gettext-0.12.1.
56998         * m4/progtest.m4: Upgrade to gettext-0.12.1.
56999
57000 2003-05-30  Bruno Haible  <bruno@clisp.org>
57001
57002         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
57003         * lib/localcharset.h: Likewise.
57004         * lib/localcharset.c: Likewise.
57005
57006 2003-05-29  Karl Berry  <karl@gnu.org>
57007
57008         * config/config.rpath: update from gettext.
57009
57010 2003-05-28  Paul Eggert  <eggert@twinsun.com>
57011
57012         Assume the headers required for C89 freestanding compilers.
57013         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
57014         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
57015         * m4/human.m4 (gl_HUMAN): Likewise.
57016         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
57017         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
57018         * m4/userspec.m4 (gl_USERSPEC): Likewise.
57019         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
57020         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
57021         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
57022
57023 2003-05-28  Paul Eggert  <eggert@twinsun.com>
57024
57025         Assume the headers required for C89 freestanding compilers.
57026         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
57027         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
57028         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
57029         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
57030         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
57031         define, since <limits.h> is guaranteed to do that.
57032         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
57033         * lib/exclude.c: Include <stdbool.h> unconditionally.
57034         * lib/tempname.c: Include <stddef.h> unconditionally.
57035         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
57036         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
57037         <stddef.h> does that.
57038         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
57039         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
57040         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
57041         needed.
57042         * lib/xstrtol.c: Likewise.
57043         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
57044         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
57045
57046         * lib/addext.c (addext): Use assignment rather than cast, to avoid
57047         warnings on some platforms.
57048
57049         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
57050         arbitrarily.
57051
57052 2003-05-26  Jim Meyering  <jim@meyering.net>
57053
57054         Merge in a change from coreutils:
57055         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
57056         that is guaranteed to be `no'.  Use `no_such_member' to indicate
57057         that condition, rather than `-1' which is slightly misleading.
57058         Change the name of the cache variable to have the gl_ prefix.
57059         Prompted by a patch from Richard Dawe for DJGPP.
57060
57061 2003-05-24  Karl Berry  <karl@gnu.org>
57062
57063         * config/config.guess: update from prep.
57064
57065 2003-05-22  Karl Berry  <karl@gnu.org>
57066
57067         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
57068
57069 2003-05-20  Karl Berry  <karl@gnu.org>
57070
57071         * config/config.guess: update from prep.
57072
57073 2003-05-18  Karl Berry  <karl@gnu.org>
57074
57075         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
57076         might actually be set by the user.
57077
57078         * config/depcomp, install-sh, mdate-sh: update from automake.
57079
57080 2003-05-17  Bruno Haible  <bruno@clisp.org>
57081
57082         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
57083         invalid expansion for AC_EGREP_CPP.
57084         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
57085         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
57086         Suggested by Akim Demaille <akim@epita.fr> in
57087         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
57088
57089 2003-05-12  Jim Meyering  <jim@meyering.net>
57090
57091         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
57092         the space-padded-by-default conversion specifiers, %e, %k, %l.
57093
57094 2003-05-12  Bruno Haible  <bruno@clisp.org>
57095
57096         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
57097         the string is longer than 4 KB.
57098
57099 2003-05-11  Karl Berry  <karl@gnu.org>
57100
57101         * config/config.{guess,sub}: update from prep.
57102
57103 2003-05-09  Bruno Haible  <bruno@clisp.org>
57104
57105         * modules/error: Add m4/strerror_r.m4 to file list.
57106
57107 2003-05-03  Bruno Haible  <bruno@clisp.org>
57108
57109         Upgrade to Unicode-4.0.
57110         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
57111         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
57112         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
57113         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
57114         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
57115         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
57116         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
57117         Change width of U+E0100..U+E01EF from 1 to 0.
57118
57119 2003-04-25  Jim Meyering  <jim@meyering.net>
57120
57121         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
57122         of type size_t, not int.
57123
57124 2003-04-25  Bruno Haible  <bruno@clisp.org>
57125
57126         * lib/copy-file.c: Include <stddef.h>, for size_t.
57127
57128 2003-04-21  Paul Eggert  <eggert@twinsun.com>
57129
57130         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
57131         code which expansion is under static control.  Patch imported from
57132         Akim Demaille's patch to Bison; see
57133         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
57134
57135 2003-04-14  Bruno Haible  <bruno@clisp.org>
57136
57137         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
57138
57139 2003-04-11  Jim Meyering  <jim@meyering.net>
57140
57141         Merge changes from Coreutils.
57142
57143         2003-03-22  Jim Meyering  <jim@meyering.net>
57144
57145         * lib/strftime.c (widen): Cast alloca return value to proper type.
57146
57147         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
57148
57149         From GNU libc.
57150         * lib/strftime.c (my_strftime): Handle very large width
57151         specifications for numeric values correctly.  Improve checks for
57152         overflow.
57153
57154         2003-01-19  Jim Meyering  <jim@meyering.net>
57155
57156         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
57157         definitions.
57158         (nl_get_alt_digit) [! defined my_strftime]: Define.
57159         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
57160         _nl_get_alt_digit and _nl_get_walt_digit.
57161
57162         * lib/strftime.c (my_strftime): Merge in locale-related changes from
57163         libc. These changes have no effect outside of _LIBC.
57164
57165 2003-04-10  Bruno Haible  <bruno@clisp.org>
57166
57167         * modules/findprog: New file.
57168         * MODULES.html.sh (func_all_modules): Add it.
57169
57170 2003-04-10  Bruno Haible  <bruno@clisp.org>
57171
57172         * m4/findprog.m4: New file.
57173         * m4/eaccess.m4: New file.
57174
57175 2003-04-10  Bruno Haible  <bruno@clisp.org>
57176
57177         * lib/findprog.h: New file, from GNU gettext.
57178         * lib/findprog.c: New file, from GNU gettext.
57179
57180 2003-04-05  Jim Meyering  <jim@meyering.net>
57181
57182         Merge changes from Coreutils.
57183
57184         * lib/exclude.h (PARAMS): Remove definition and uses.
57185         * lib/exclude.c: Remove uses of `PARAMS'.
57186
57187         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
57188         Add test-cases for DOS filenames. Declare program_name.
57189         (main): Set up program_name.  Patch by Rich Dawe.
57190
57191         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
57192         error from mntctl.
57193         Use mntctl's return value to drive the entry-processing loop, since
57194         we can't rely on the value of the vmt_length member in the last
57195         entry.  On some systems doing so could result in exhausting
57196         virtual memory.  Based in part on a patch from Mike Jetzer.
57197
57198 2003-04-04  Bruno Haible  <bruno@clisp.org>
57199
57200         * modules/linebreak: New file.
57201         * MODULES.html.sh (func_all_modules): Add it.
57202
57203 2003-04-04  Bruno Haible  <bruno@clisp.org>
57204
57205         * m4/linebreak.m4: New file.
57206
57207 2003-04-04  Bruno Haible  <bruno@clisp.org>
57208
57209         * lib/linebreak.h: New file, from GNU gettext.
57210         * lib/linebreak.c: New file, from GNU gettext with slight
57211         modifications.
57212         * lib/lbrkprop.h: New file, from GNU gettext.
57213
57214 2003-04-03  Bruno Haible  <bruno@clisp.org>
57215
57216         * modules/utf8-ucs4: New file.
57217         * modules/utf16-ucs4: New file.
57218         * modules/ucs4-utf8: New file.
57219         * modules/ucs4-utf16: New file.
57220         * MODULES.html.sh (func_all_modules): Add them.
57221
57222 2003-04-03  Bruno Haible  <bruno@clisp.org>
57223
57224         * m4/utf-ucs4.m4: New file.
57225         * m4/ucs4-utf.m4: New file.
57226
57227 2003-04-03  Bruno Haible  <bruno@clisp.org>
57228
57229         * lib/utf8-ucs4.h: New file, from GNU gettext.
57230         * lib/utf16-ucs4.h: New file, from GNU gettext.
57231         * lib/ucs4-utf8.h: New file, from GNU gettext.
57232         * lib/ucs4-utf16.h: New file, from GNU gettext.
57233
57234 2003-04-02  Bruno Haible  <bruno@clisp.org>
57235
57236         * modules/binary-io: New file.
57237         * MODULES.html.sh (func_all_modules): Add it.
57238
57239 2003-04-02  Bruno Haible  <bruno@clisp.org>
57240
57241         * lib/binary-io.h: New file, from GNU gettext.
57242
57243 2003-04-01  Bruno Haible  <bruno@clisp.org>
57244
57245         * modules/pathname: New file.
57246         * MODULES.html.sh (func_all_modules): Add it.
57247
57248 2003-04-01  Bruno Haible  <bruno@clisp.org>
57249
57250         * lib/pathname.h: New file, from GNU gettext.
57251         * lib/concatpath.c: New file, from GNU gettext.
57252
57253 2003-03-30  Bruno Haible  <bruno@clisp.org>
57254
57255         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
57256
57257 2003-03-30  Bruno Haible  <bruno@clisp.org>
57258
57259         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
57260         function chown() doesn't exist.
57261
57262 2003-03-28  Bruno Haible  <bruno@clisp.org>
57263
57264         * modules/copy-file: New file.
57265         * MODULES.html.sh (func_all_modules): Add it.
57266
57267 2003-03-28  Bruno Haible  <bruno@clisp.org>
57268
57269         * m4/copy-file.m4: New file.
57270
57271 2003-03-28  Bruno Haible  <bruno@clisp.org>
57272
57273         * lib/copy-file.h: New file, from GNU gettext.
57274         * lib/copy-file.c: New file, from GNU gettext.
57275
57276 2003-03-18  Jim Meyering  <jim@meyering.net>
57277
57278         * lib/quote.c (quote_n): Fix typo in comment.
57279
57280 2003-03-18  Bruno Haible  <bruno@clisp.org>
57281
57282         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
57283         checking.
57284         * m4/onceonly_2_57.m4: Likewise.
57285
57286 2003-03-17  Bruno Haible  <bruno@clisp.org>
57287
57288         * m4/onceonly.m4: Require autoconf 2.54 or newer.
57289         (m4_quote): Remove macro.
57290         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
57291
57292 2003-03-14  Jim Meyering  <jim@meyering.net>
57293
57294         Merge changes from Coreutils.
57295         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
57296         to be const, in order to avoid warnings.
57297         (obstack_room): Likewise.
57298         (obstack_empty_p): Likewise.
57299
57300 2003-03-14  Bruno Haible  <bruno@clisp.org>
57301
57302         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
57303         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
57304
57305 2003-03-13  Paul Eggert  <eggert@twinsun.com>
57306
57307         Merge changes from Bison.
57308         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
57309         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
57310         when compiling Bison 1.875's `bitset bset = obstack_alloc
57311         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
57312         * lib/hash.c: Include <stdbool.h> unconditionally.
57313
57314 2003-03-13  Paul Eggert  <eggert@twinsun.com>
57315
57316         * m4/onceonly.m4 (m4_quote): New macro.
57317         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
57318         Quote AC_FOREACH variable-expansions properly.
57319
57320 2003-03-13  Paul Eggert  <eggert@twinsun.com>
57321
57322         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
57323
57324 2003-03-09  Paul Eggert  <eggert@twinsun.com>
57325
57326         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
57327         Reported by Bruce Becker; see:
57328         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
57329
57330 2003-03-03  Paul Eggert  <eggert@twinsun.com>
57331             Bruno Haible  <bruno@clisp.org>
57332
57333         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
57334         Reported by John Hughes, see
57335         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
57336
57337 2003-02-20  Bruno Haible  <bruno@clisp.org>
57338
57339         * MODULES.html.sh (func_all_modules): Add poll.
57340
57341 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
57342
57343         * modules/poll: New file.
57344
57345 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
57346
57347         * lib/poll_.h: New file.
57348         * lib/poll.c: New file.
57349
57350 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
57351
57352         * m4/poll.m4: New file.
57353
57354 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
57355
57356         * modules/mathl: New file.
57357
57358 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
57359
57360         * lib/mathl.h: New file.
57361         * lib/acosl.c: New file.
57362         * lib/asinl.c: New file.
57363         * lib/atanl.c: New file.
57364         * lib/ceill.c: New file.
57365         * lib/cosl.c: New file.
57366         * lib/expl.c: New file.
57367         * lib/floorl.c: New file.
57368         * lib/frexpl.c: New file.
57369         * lib/ldexpl.c: New file.
57370         * lib/logl.c: New file.
57371         * lib/sincosl.c: New file.
57372         * lib/sinl.c: New file.
57373         * lib/sqrtl.c: New file.
57374         * lib/tanl.c: New file.
57375         * lib/trigl.c: New file.
57376         * lib/trigl.h: New file.
57377
57378 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
57379
57380         * m4/mathl.m4: New file.
57381
57382 2003-02-18  Bruno Haible  <bruno@clisp.org>
57383
57384         * MODULES.html.sh (func_all_modules): Add mathl.
57385
57386 2003-02-17  Bruno Haible  <bruno@clisp.org>
57387
57388         * modules/mkdtemp: New module.
57389         * MODULES.html.sh (func_all_modules): Add it.
57390
57391 2003-02-17  Bruno Haible  <bruno@clisp.org>
57392
57393         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
57394
57395 2003-02-17  Bruno Haible  <bruno@clisp.org>
57396
57397         * lib/mkdtemp.h: New file, from GNU gettext.
57398         * lib/mkdtemp.c: New file, from GNU gettext.
57399
57400 2003-02-02  Jim Meyering  <jim@meyering.net>
57401
57402         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
57403         e.g. glibc-2.2.93.
57404
57405 2003-01-31  Bruno Haible  <bruno@clisp.org>
57406
57407         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
57408         'rpl_rename'.
57409         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
57410         'rpl_strnlen'.
57411         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
57412         'rpl_strtod'.
57413         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
57414         'rpl_utime'.
57415
57416 2003-01-31  Bruno Haible  <bruno@clisp.org>
57417
57418         * lib/rename.c: #undef rename before defining rpl_rename.
57419         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
57420
57421 2003-01-30  Bruno Haible  <bruno@clisp.org>
57422
57423         * modules/vasnprintf, modules/vasprintf: New modules.
57424         * MODULES.html.sh (func_all_modules): Add them.
57425
57426 2003-01-30  Bruno Haible  <bruno@clisp.org>
57427
57428         * m4/signed.m4: New file, from GNU gettext.
57429         * m4/longdouble.m4: New file, from GNU gettext.
57430         * m4/wchar_t.m4: New file, from GNU gettext.
57431         * m4/wint_t.m4: New file, from GNU gettext.
57432         * m4/vasnprintf.m4: New file.
57433         * m4/vasprintf.m4: New file.
57434
57435 2003-01-30  Bruno Haible  <bruno@clisp.org>
57436
57437         * lib/printf-args.h: New file, from GNU gettext.
57438         * lib/printf-args.c: New file, from GNU gettext.
57439         * lib/printf-parse.h: New file, from GNU gettext.
57440         * lib/printf-parse.c: New file, from GNU gettext.
57441         * lib/vasnprintf.h: New file, from GNU gettext.
57442         * lib/vasnprintf.c: New file, from GNU gettext.
57443         * lib/asnprintf.c: New file, from GNU gettext.
57444         * lib/vasprintf.h: New file, from GNU gettext with modifications.
57445         * lib/vasprintf.c: New file, from GNU gettext.
57446         * lib/asprintf.c: New file, from GNU gettext.
57447
57448 2003-01-29  Bruno Haible  <bruno@clisp.org>
57449
57450         * modules/stpncpy: New module.
57451         * MODULES.html.sh (func_all_modules): Add it.
57452
57453 2003-01-29  Bruno Haible  <bruno@clisp.org>
57454
57455         * m4/stpncpy.m4: New file.
57456
57457 2003-01-29  Bruno Haible  <bruno@clisp.org>
57458
57459         * lib/stpncpy.h: New file, from GNU gettext with modifications.
57460         * lib/stpncpy.c: New file, from GNU gettext with modifications.
57461
57462 2003-01-28  Bruno Haible  <bruno@clisp.org>
57463
57464         * modules/c-ctype: New module.
57465         * MODULES.html.sh (func_all_modules): Add it.
57466
57467 2003-01-28  Bruno Haible  <bruno@clisp.org>
57468
57469         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
57470         Paul Eggert.
57471         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
57472         Paul Eggert.
57473
57474 2003-01-27  Bruno Haible  <bruno@clisp.org>
57475
57476         * modules/xsetenv: New module.
57477         * MODULES.html.sh (func_all_modules): Add it.
57478
57479 2003-01-27  Bruno Haible  <bruno@clisp.org>
57480
57481         * lib/xsetenv.h: New file, from GNU gettext.
57482         * lib/xsetenv.c: New file, from GNU gettext.
57483
57484 2003-01-23  Jim Meyering  <jim@meyering.net>
57485
57486         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
57487         from working on systems without dirfd (at least Irix and OSF1/Tru64).
57488
57489 2003-01-23  Bruno Haible  <bruno@clisp.org>
57490
57491         * modules/minmax: New module.
57492         * MODULES.html.sh (func_all_modules): Add it.
57493
57494 2003-01-23  Bruno Haible  <bruno@clisp.org>
57495
57496         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
57497         Eggert.
57498
57499 2003-01-22  Bruno Haible  <bruno@clisp.org>
57500
57501         * modules/exit: New module.
57502         * MODULES.html.sh (func_all_modules): Add it.
57503
57504 2003-01-22  Bruno Haible  <bruno@clisp.org>
57505
57506         * lib/exit.h: New file, from GNU gettext.
57507
57508 2003-01-19  Bruno Haible  <bruno@clisp.org>
57509
57510         * gnulib-tool: Recognize option --extract-maintainer.
57511         (func_get_maintainer): New function.
57512         * modules/*: Add Maintainer entry.
57513
57514 2003-01-16  Jim Meyering  <jim@meyering.net>
57515
57516         * m4/regex.m4: The `regex' struct is both input and output.
57517         Initialize it before each use.  Patch by Tim Waugh.
57518
57519 2003-01-16  Bruno Haible  <bruno@clisp.org>
57520
57521         * MODULES.html.sh: Add a table of contents. Add the module name as
57522         leftmost column. Add hyperlinks.
57523
57524 2003-01-15  Bruno Haible  <bruno@clisp.org>
57525
57526         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
57527
57528 2003-01-15  Bruno Haible  <bruno@clisp.org>
57529
57530         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
57531         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
57532         suffix.
57533
57534 2003-01-15  Bruno Haible  <bruno@clisp.org>
57535
57536         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
57537
57538 2003-01-15  Bruno Haible  <bruno@clisp.org>
57539
57540         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
57541         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
57542
57543 2003-01-14  Jim Meyering  <jim@meyering.net>
57544
57545         * lib/same.c (same_name): Tweak a comment.
57546
57547 2003-01-14  Bruno Haible  <bruno@clisp.org>
57548
57549         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
57550         when a string comparison is sufficient.
57551
57552 2003-01-14  Bruno Haible  <bruno@clisp.org>
57553
57554         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
57555         'unsigned int'.
57556
57557 2003-01-14  Bruno Haible  <bruno@clisp.org>
57558
57559         * lib/hash-pjw.c: Add comment about low quality of this function.
57560
57561 2003-01-13  Bruno Haible  <bruno@clisp.org>
57562
57563         * modules/stpcpy: Distribute lib/stpcpy.h.
57564         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
57565
57566 2003-01-13  Bruno Haible  <bruno@clisp.org>
57567
57568         * modules/*: Add a description.
57569         * modules/strpbrk: Fix Makefile.am snippet.
57570         * modules/strtoimax: Fix dependencies.
57571         * modules/strtoumax: Likewise.
57572
57573 2003-01-13  Bruno Haible  <bruno@clisp.org>
57574
57575         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
57576         * modules/alloca (Makefile.am): All object files depend on alloca.h.
57577         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
57578
57579 2003-01-13  Bruno Haible  <bruno@clisp.org>
57580
57581         * gnulib-tool (func_create_testdir): Store config/* files in the main
57582         directory.
57583         * config.rpath: Move to ...
57584         * config/config.rpath: ... here.
57585         * modules/gettext: Contains config/config.rpath, not config.rpath.
57586         * modules/iconv: Likewise.
57587
57588 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57589
57590         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57591         to avoid collisions with libcurses and libreadline.
57592
57593         * m4/getstr.m4: Remove.
57594         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
57595
57596 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57597
57598         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57599         to avoid collisions with libcurses and libreadline.
57600
57601         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
57602         * lib/getstr.h, getstr.c: Remove.
57603         * lib/getline.c: Include "getline.h", to check interface.
57604         Move body of old getstr.c here: this defines MIN_CHUNK and
57605         declares getdelim2, which is renamed from getstr.
57606         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
57607
57608         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
57609         All uses changed.
57610         * lib/linebuffer.h: Likewise.
57611         (readline): Remove backward-compatibility macro.
57612
57613 2003-01-12  Paul Eggert  <eggert@twinsun.com>
57614
57615         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
57616         to avoid collisions with libcurses and libreadline.
57617         * getstr: Remove.
57618         * MODULES.html.sh: Remove getstr.
57619         * modules/getline: Depend on unlocked-io, not getstr.
57620
57621 2003-01-12  Jim Meyering  <jim@meyering.net>
57622
57623         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
57624
57625 2003-01-10  Bruno Haible  <bruno@clisp.org>
57626
57627         * modules/alloca: Change Makefile.am requirements. Simplify Include
57628         requirements. Add lib/alloca_.h to file list.
57629
57630 2003-01-10  Bruno Haible  <bruno@clisp.org>
57631
57632         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
57633
57634 2003-01-10  Bruno Haible  <bruno@clisp.org>
57635
57636         * lib/alloca_.h: New file.
57637         * lib/getdate.y: Unconditionally include alloca.h.
57638         * lib/makepath.c: Likewise.
57639         * lib/setenv.c: Likewise.
57640         * lib/userspec.c: Likewise.
57641
57642 2003-01-09  Karl Berry  <karl@gnu.org>
57643
57644         * MODULES.html.sh: include `dirname $0` in PATH, to find
57645         gnulib-tool.
57646
57647 2003-01-09  Bruno Haible  <bruno@clisp.org>
57648
57649         * modules/stdbool: Change configure.ac, Makefile.am requirements.
57650         Simplify Include requirements. Add lib/stdbool.h.in to file list.
57651
57652 2003-01-09  Bruno Haible  <bruno@clisp.org>
57653
57654         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
57655
57656 2003-01-09  Bruno Haible  <bruno@clisp.org>
57657
57658         * lib/stdbool.h.in: New file.
57659
57660 2003-01-09  Bruno Haible  <bruno@clisp.org>
57661
57662         * gnulib-tool (func_all_modules): Ignore files ending in ~.
57663         * MODULES.html.sh: Likewise.
57664
57665 2003-01-08  Jim Meyering  <jim@meyering.net>
57666
57667         * lib/full-write.c: Undefine and define-away `const' after inclusion
57668         of errno.h, not before.  Suggestion from Bruno Haible.
57669
57670 2003-01-08  Bruno Haible  <bruno@clisp.org>
57671
57672         * modules/full-read: Depend on full-write.
57673
57674 2003-01-08  Bruno Haible  <bruno@clisp.org>
57675
57676         * lib/safe-read.c: Include specification header first, to ensure its
57677         selfcontainedness.
57678         * lib/full-write.c: Likewise.
57679
57680 2003-01-07  Jim Meyering  <jim@meyering.net>
57681
57682         * lib/full-write.c: Rework so that it may serve to define full_read,
57683         too.
57684         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
57685
57686 2003-01-07  Bruno Haible  <bruno@clisp.org>
57687
57688         * lib/strtoimax.c: Include <stdint.h> as an alternative to
57689         <inttypes.h>.
57690         * lib/xstrtol.h: Likewise.
57691         * lib/xstrtoimax.c: Likewise.
57692         * lib/xstrtoumax.c: Likewise.
57693         * lib/human.h: Likewise.
57694
57695         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
57696         on systems that have <inttypes.h> but not <stdint.h>.
57697
57698 2003-01-07  Bruno Haible  <bruno@clisp.org>
57699
57700         * MODULES.html.sh: Add copyright notice.
57701         (missed_files): Omit CVS directory entries.
57702         (func_module): Make it work with sed-3.02.
57703         * MODULES.txt: Remove file.
57704
57705 2003-01-06  Jim Meyering  <jim@meyering.net>
57706
57707         * lib/version-etc.c: Update year in translatable copyright string.
57708
57709 2003-01-03  Karl Berry  <karl@gnu.org>
57710
57711         * config/config.{guess,sub}: update from prep.
57712
57713 2003-01-02  Karl Berry  <karl@gnu.org>
57714
57715         * doc/COPYING.DOC: belatedly updated to 1.2.
57716
57717 2003-01-01  Karl Berry  <karl@gnu.org>
57718
57719         * gnulib-tool (func_verify_module): report module name $module in
57720         error message, not $1.
57721         * gnulib-tool (create-testdir): don't complain if destdir couldn't
57722         be created, only if it doesn't exist.
57723         * gnulib-tool (last_checkin_date): don't expand the $Date here.
57724
57725 2002-12-31  Paul Eggert  <eggert@twinsun.com>
57726
57727         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
57728
57729 2002-12-31  Paul Eggert  <eggert@twinsun.com>
57730
57731         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
57732         memcmp if strcoll doesn't work.
57733
57734 2002-12-31  Bruno Haible  <bruno@clisp.org>
57735
57736         * lib/utime.c (utime_null): No need to call ftruncate if the file was
57737         nonempty.
57738
57739 2002-12-31  Bruno Haible  <bruno@clisp.org>
57740
57741         * lib/memcoll.c (STRCOLL): New macro.
57742         (memcoll): Use it.
57743
57744 2002-12-31  Bruno Haible  <bruno@clisp.org>
57745
57746         * lib/localcharset.h: New file.
57747         * lib/localcharset.c: Include it.
57748         * lib/unicodeio.c: Likewise.
57749
57750 2002-12-31  Bruno Haible  <bruno@clisp.org>
57751
57752         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
57753         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
57754
57755 2002-12-31  Bruno Haible  <bruno@clisp.org>
57756
57757         * lib/getline.h: Include <stddef.h>, for size_t.
57758
57759         * lib/unicodeio.h: Include <stddef.h>, for size_t.
57760         * lib/unicodeio.c: Don't include <stddef.h>.
57761
57762 2002-12-31  Bruno Haible  <bruno@clisp.org>
57763
57764         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
57765         HAVE_TM_ZONE.
57766
57767 2002-12-24  Karl Berry  <karl@gnu.org>
57768
57769         * config/config.guess: update from prep.
57770
57771 2002-12-24  Bruno Haible  <bruno@clisp.org>
57772
57773         General infrasructure.
57774         * m4/README: Rewritten.
57775         * m4/onceonly.m4: New file.
57776         * m4/onceonly_2_57.m4: New file.
57777
57778         Module atexit.
57779         * m4/atexit.m4: New file.
57780
57781         Module strtod.
57782         * m4/strtod.m4: New file.
57783
57784         Module strtol.
57785         * m4/strtol.m4: New file.
57786
57787         Module strtoul.
57788         * m4/strtoul.m4: New file.
57789
57790         Module memchr.
57791         * m4/memchr.m4: New file.
57792
57793         Module memcmp.
57794         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
57795         (jm_FUNC_MEMCMP): Invoke it.
57796
57797         Module memcpy.
57798         * m4/memcpy.m4: New file.
57799
57800         Module memmove.
57801         * m4/memmove.m4: New file.
57802
57803         Module memset.
57804         * m4/memset.m4: New file.
57805
57806         Module strcspn.
57807         * m4/strcspn.m4: New file.
57808
57809         Module strpbrk.
57810         * m4/strpbrk.m4: New file.
57811
57812         Module strstr.
57813         * m4/strstr.m4: New file.
57814
57815         Module strerror.
57816         * m4/strerror.m4: New file.
57817
57818         Module mktime.
57819         * m4/mktime.m4: Renamed from jm-mktime.m4.
57820         (gl_PREREQ_MKTIME): New macro.
57821         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
57822
57823         Module malloc.
57824         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
57825         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
57826         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
57827
57828         Module realloc.
57829         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
57830         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
57831         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
57832
57833         Module strftime.
57834         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
57835         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
57836         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
57837         gl_TM_GMTOFF.
57838         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
57839
57840         Module xalloc.
57841         * m4/xalloc.m4: New file.
57842
57843         Module alloca.
57844         * m4/alloca.m4: New file.
57845
57846         Module putenv.
57847         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
57848         (jm_FUNC_PUTENV): Invoke it.
57849
57850         Module setenv.
57851         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
57852         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
57853         when invoked twice.
57854         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
57855         gt_FUNC_SETENV.
57856
57857         Module memrchr.
57858         * m4/memrchr.m4: New file.
57859
57860         Module stpcpy.
57861         * m4/stpcpy.m4: New file.
57862
57863         Module strcase.
57864         * m4/strcase.m4: New file.
57865
57866         Module strdup.
57867         * m4/strdup.m4: New file.
57868
57869         Module strnlen.
57870         * m4/strnlen.m4: New file.
57871
57872         Module strndup.
57873         * m4/strndup.m4: New file.
57874
57875         Module xstrtod.
57876         * m4/xstrtod.m4: New file.
57877
57878         Module xstrtol.
57879         * m4/xstrtol.m4: New file.
57880
57881         Module getdate.
57882         * m4/getdate.m4: New file.
57883
57884         Module unlocked-io.
57885         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
57886         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
57887         * m4/jm-glibc-io.m4n: Remove file.
57888
57889         Module long-options.
57890         * m4/long-options.m4: New file.
57891
57892         Module md5.
57893         * m4/md5.m4: New file.
57894
57895         Module sha.
57896         * m4/sha.m4: New file.
57897
57898         Module getstr.
57899         * m4/getstr.m4: New file.
57900
57901         Module getline.
57902         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
57903         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
57904         <sys/types.h>, for size_t. Use the function name gnu_getline, not
57905         simply getline. Infoke gl_PREREQ_GETLINE.
57906
57907         Module obstack.
57908         * m4/obstack.m4: New file.
57909
57910         Module hash.
57911         * m4/hash.m4: New file.
57912
57913         Module readtokens.
57914         * m4/readtokens.m4: New file.
57915
57916         Module strverscmp.
57917         * m4/strverscmp.m4: New file.
57918
57919         Module stdbool.
57920         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
57921         OSF/1.
57922
57923         Module strtoll.
57924         * m4/strtoll.m4: New file.
57925
57926         Module strtoull.
57927         * m4/strtoull.m4: New file.
57928
57929         Module strtoimax.
57930         * m4/strtoimax.m4: New file.
57931
57932         Module strtoumax.
57933         * m4/strtoumax.m4: New file.
57934
57935         Module xstrtoimax.
57936         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
57937         jm_AC_PREREQ_XSTRTOIMAX.
57938         Moved the strtol prerequisites to strtol.m4.
57939         Moved the strtoll prerequisites to strtoll.m4.
57940         Moved the strtoimax prerequisites to strtoimax.m4.
57941
57942         Module xstrtoumax.
57943         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
57944         jm_AC_PREREQ_XSTRTOUMAX.
57945         Moved the strtoul prerequisites to strtoul.m4.
57946         Moved the strtoull prerequisites to strtoull.m4.
57947         Moved the strtoumax prerequisites to strtoumax.m4.
57948
57949         Module chown.
57950         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
57951         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
57952
57953         Module dup2.
57954         * m4/dup2.m4: New file.
57955
57956         Module ftruncate.
57957         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
57958         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
57959
57960         Module getgroups.
57961         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
57962         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
57963
57964         Module gettimeofday.
57965         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
57966         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
57967         gl_PREREQ_GETTIMEOFDAY.
57968
57969         Module mkdir.
57970         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
57971         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
57972
57973         Module mkstemp.
57974         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
57975         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
57976         jm_AC_TYPE_UINTMAX_T.
57977         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
57978
57979         Module stat.
57980         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
57981         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
57982
57983         Module lstat.
57984         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
57985         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
57986
57987         Module timespec.
57988         * m4/timespec.m4 (gl_TIMESPEC): New macro.
57989         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
57990         * m4/st_mtim.m4: Indentation.
57991
57992         Module nanosleep.
57993         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
57994         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
57995         gl_PREREQ_NANOSLEEP.
57996
57997         Module regex.
57998         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
57999         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
58000         (gl_REGEX): New macro.
58001
58002         Module rename.
58003         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
58004         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
58005
58006         Module rmdir.
58007         * m4/rmdir.m4: New file.
58008
58009         Module utime.
58010         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
58011         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
58012         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
58013
58014         Module dirname.
58015         * m4/dirname.m4: New file.
58016
58017         Module getopt.
58018         * m4/getopt.m4: New file.
58019
58020         Module unistd-safer.
58021         * m4/unistd-safer.m4: New file.
58022
58023         Module fnmatch.
58024         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
58025         declaration.
58026         (gl_PREREQ_FNMATCH_EXTRA): New macro.
58027         (gl_FUNC_FNMATCH_POSIX): New macro.
58028         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
58029         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
58030         simply fnmatch.
58031
58032         Module exclude.
58033         * m4/exclude.m4: New file.
58034
58035         Module human.
58036         * m4/human.m4: New file.
58037
58038         Module acl.
58039         * m4/acl.m4: Nop.
58040
58041         Module backupfile.
58042         * m4/backupfile.m4: New file.
58043         * m4/d-ino.m4: Indentation.
58044
58045         Module fsusage.
58046         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
58047         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
58048         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
58049
58050         Module dirfd.
58051         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
58052         requirements.
58053
58054         Module euidaccess.
58055         * m4/euidaccess.m4: New file.
58056
58057         Module file-type.
58058         * m4/file-type.m4: New file.
58059
58060         Module fileblocks.
58061         * m4/fileblocks.m4: New file.
58062
58063         Module filemode.
58064         * m4/filemode.m4: New file.
58065
58066         Module isdir.
58067         * m4/isdir.m4: New file.
58068
58069         Module lchown.
58070         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
58071         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
58072
58073         Module makepath.
58074         * m4/makepath.m4: New file.
58075
58076         Module modechange.
58077         * m4/modechange.m4: New file.
58078
58079         Module mountlist.
58080         * m4/mountlist.m4: New file.
58081         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
58082         Indentation.
58083
58084         Module path-concat.
58085         * m4/path-concat.m4: New file.
58086
58087         Module pathmax.
58088         * m4/pathmax.m4: New file.
58089
58090         Module same.
58091         * m4/same.m4: New file.
58092
58093         Module save-cwd.
58094         * m4/save-cwd.m4: New file.
58095
58096         Module savedir.
58097         * m4/savedir.m4: New file.
58098
58099         Module xgetcwd.
58100         * m4/xgetcwd.m4: New file.
58101         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
58102
58103         Module xreadlink.
58104         * m4/xreadlink.m4: New file.
58105
58106         Module safe-read.
58107         * m4/safe-read.m4: New file.
58108
58109         Module safe-write.
58110         * m4/safe-write.m4: New file.
58111
58112         Module closeout.
58113         * m4/closeout.m4: New file.
58114
58115         Module stdio-safer.
58116         * m4/stdio-safer.m4: New file.
58117
58118         Module getpass.
58119         * m4/getpass.m4: New file.
58120
58121         Module getugroups.
58122         * m4/getugroups.m4: New file.
58123
58124         Module group-member.
58125         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
58126         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
58127
58128         Module idcache.
58129         * m4/idcache.m4: New file.
58130
58131         Module userspec.
58132         * m4/userspec.m4: New file.
58133
58134         Module gettime.
58135         * m4/clock_time.m4: New file.
58136         * m4/gettime.m4: New file.
58137
58138         Module settime.
58139         * m4/settime.m4: New file.
58140
58141         Module posixtm.
58142         * m4/posixtm.m4: New file.
58143
58144         Module gethostname.
58145         * m4/gethostname.m4: New file.
58146
58147         Module canon-host.
58148         * m4/canon-host.m4: New file.
58149
58150         Module gettext.
58151         * m4/codeset.m4: New file, from gettext-0.11.5.
58152         * m4/gettext.m4: New file, from gettext-0.11.5.
58153         * m4/glibc21.m4: New file, from gettext-0.11.5.
58154         * m4/iconv.m4: New file, from gettext-0.11.5.
58155         * m4/intdiv0.m4: New file, from gettext-0.11.5.
58156         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
58157         * m4/inttypes.m4: New file, from gettext-0.11.5.
58158         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
58159         * m4/isc-posix.m4: New file, from gettext-0.11.5.
58160         * m4/lcmessage.m4: New file, from gettext-0.11.5.
58161         * m4/lib-ld.m4: New file, from gettext-0.11.5.
58162         * m4/lib-link.m4: New file, from gettext-0.11.5.
58163         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
58164         * m4/progtest.m4: New file, from gettext-0.11.5.
58165         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
58166         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
58167         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
58168
58169         Module localcharset.
58170         * m4/localcharset.m4: New file.
58171
58172         Module hard-locale.
58173         * m4/hard-locale.m4: New file.
58174
58175         Module mbswidth.
58176         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
58177         onceonly macros.
58178         * m4/mbrtowc.m4: Add comment.
58179
58180         Module memcasecmp.
58181         * m4/memcasecmp.m4: New file.
58182
58183         Module memcoll.
58184         * m4/memcoll.m4: New file.
58185
58186         Module unicodeio.
58187         * m4/unicodeio.m4: New file.
58188
58189         Module rpmatch.
58190         * m4/rpmatch.m4: New file.
58191
58192         Module yesno.
58193         * m4/yesno.m4: New file.
58194
58195         Module exitfail.
58196         * m4/exitfail.m4: New file.
58197
58198         Module c-stack.
58199         * m4/c-stack.m4 (gl_C_STACK): New macro.
58200         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
58201
58202         Module error.
58203         * m4/error.m4 (gl_ERROR): New macro.
58204         (jm_PREREQ_ERROR): Use onceonly macros.
58205
58206         Module fatal.
58207         * m4/fatal.m4: New file.
58208
58209         Module getloadavg.
58210         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
58211         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
58212
58213         Module getpagesize.
58214         * m4/getpagesize.m4: New file.
58215
58216         Module getusershell.
58217         * m4/getusershell.m4: New file.
58218
58219         Module physmem.
58220         * m4/physmem.m4: New file.
58221
58222         Module posixver.
58223         * m4/posixver.m4: New file.
58224
58225         Module quotearg.
58226         * m4/quotearg.m4: New file.
58227
58228         Module quote.
58229         * m4/quote.m4: New file.
58230
58231         Module readutmp.
58232         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
58233
58234         Module sig2str.
58235         * m4/sig2str.m4: New file.
58236
58237         Other.
58238         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
58239         ulonglong.m4.
58240         * m4/intmax_t.m4: New file.
58241         * m4/d-type.m4: Indentation.
58242         * m4/jm-macros.m4: Update.
58243         * m4/prereq.m4 (jm_PREREQ): Update.
58244         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
58245         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
58246         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
58247         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
58248         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
58249         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
58250         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
58251         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
58252         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
58253         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
58254         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
58255         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
58256         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
58257         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
58258         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
58259         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
58260         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
58261         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
58262         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
58263
58264 2002-12-24  Bruno Haible  <bruno@clisp.org>
58265
58266         * MODULES.txt: Update according to m4/ changes.
58267
58268         Module gettext.
58269         * config.rpath: New file, from gettext-0.11.5.
58270
58271         * modules/*: New module descriptions.
58272         * gnulib-tool: New file.
58273         * MODULES.html.sh: New file.
58274
58275 2002-12-21  Karl Berry  <karl@gnu.org>
58276
58277         * doc/fdl.texi: update to version 1.2.
58278
58279 2002-12-19  Karl Berry  <karl@gnu.org>
58280
58281         * config/config.guess: update from prep.
58282
58283 2002-12-18  Bruno Haible  <bruno@clisp.org>
58284
58285         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
58286         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
58287
58288 2002-12-17  Bruno Haible  <bruno@clisp.org>
58289
58290         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
58291         stdlib.h, string.h.
58292
58293 2002-12-17  Bruno Haible  <bruno@clisp.org>
58294
58295         * lib/canon-host.c (strdup): Remove unused declaration.
58296
58297         * lib/fsusage.c: Include full_read.h.
58298         (get_fs_usage): Use full_read instead of safe_read.
58299
58300         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
58301
58302 2002-12-12  Karl Berry  <karl@gnu.org>
58303
58304         * config/config.guess: update from prep.
58305
58306 2002-12-11  Bruno Haible  <bruno@clisp.org>
58307
58308         * m4/setenv.m4: New file, from gettext-0.11.5.
58309
58310 2002-12-11  Bruno Haible  <bruno@clisp.org>
58311
58312         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
58313         not unsetenv().
58314         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
58315         modifications:
58316
58317         2002-12-11  Bruno Haible  <bruno@clisp.org>
58318
58319                 * setenv.c (alloca): Fall back to malloc.
58320                 (freea): New macro.
58321                 (setenv): Use freea() to free memory allocated with alloca().
58322
58323         2002-11-13  Bruno Haible  <bruno@clisp.org>
58324
58325                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
58326                 function declarations.
58327                 * unsetenv.c (unsetenv): Likewise.
58328
58329         2002-03-04  Bruno Haible  <bruno@clisp.org>
58330
58331                 Portability to AIX 4.3.3.
58332                 * unsetenv.c: New file, extracted from setenv.c.
58333                 * setenv.c: Move the unsetenv() function to unsetenv.c.
58334
58335         2001-12-20  Bruno Haible  <bruno@clisp.org>
58336
58337                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
58338                 use malloc instead. For SunOS 4.
58339
58340         2001-12-11  Bruno Haible  <bruno@clisp.org>
58341
58342                 * setenv.c: Declare alloca.
58343                 (compar_fn_t): New typedef.
58344                 (KNOWN_VALUE, STORE_VALUE): Use it.
58345
58346         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
58347         setenv.h.
58348
58349 2002-12-10  Paul Eggert  <eggert@twinsun.com>
58350
58351         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
58352         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
58353         Choose values that are less likely to collide with system fnmatch
58354         options.
58355         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
58356         defined (e.g., a pure POSIX system).
58357         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
58358         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
58359
58360 2002-12-06  Paul Eggert  <eggert@twinsun.com>
58361
58362         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
58363         a pain in practice to deal with generated m4 files.  This change
58364         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
58365
58366         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
58367         and jm-glibc-io.m4, as they are no longer a special case.
58368         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
58369         kludge and the auto-generation stuff.  Check only whether the
58370         functions are declared, not whether they exist, since older hosts
58371         that don't declare the functions can't use the optimization anyway.
58372
58373 2002-12-06  Jim Meyering  <jim@meyering.net>
58374
58375         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
58376
58377         Merge in changes from libc's misc/error.c, in preparation
58378         for the merge of gnulib's changes back into libc.
58379
58380         * lib/error.c (_): Define only if not already defined.
58381         Move definition to follow all #include directives.
58382         Include unlocked-io.h only if !_LIBC.
58383         [_LIBC]: Include <libio/libioP.h>.
58384         [USE_IN_LIBIO]: Include <libio/iolibio.h>
58385         (fflush): Tweak definition to use INTUSE.
58386         (putc): Define.
58387
58388 2002-12-05  Paul Eggert  <eggert@twinsun.com>
58389
58390         * lib/alloca.c [defined emacs]: Include "lisp.h".
58391         (xalloc_die) [defined emacs]: New macro.
58392         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
58393         [! defined emacs]: Include <xalloc.h>.
58394         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
58395         (pointer): Typedef to POINTER_TYPE *.
58396         (malloc): Remove decl; we now always use xmalloc.
58397         (alloca): Use old-style definition, since Emacs needs this.
58398         Check for arithmetic overflow when computing combined size.
58399
58400 2002-12-04  Paul Eggert  <eggert@twinsun.com>
58401
58402         Do not generate unlocked-io.h automatically, since it's easier to
58403         maintain it by hand.
58404
58405         * lib/unlocked-io.h: New file, from GNU diffutils,
58406         but with proper copyright notice and attribution.
58407         * lib/gen-uio: Remove.
58408         * lib/Makefile.am: Add copyright notice.
58409         (libfetish_a_SOURCES): Add unlocked-io.h.
58410         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
58411         (DISTCLEANFILES, io_functions): Remove macros.
58412         (EXTRA_DIST): Remove gen_uio.
58413         (unlocked-io.h): Remove rule.
58414
58415 2002-12-04  Jim Meyering  <jim@meyering.net>
58416
58417         Reflect the fact that stat.c and lstat.c are no longer generated.
58418         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
58419         (DISTCLEANFILES): Likewise.
58420         (EXTRA_DIST): Likewise.
58421         (all_local): Don't depend on stat.c or lstat.c.
58422         (stat.c, lstat.c): Remove rules.
58423         (EXTRA_DIST): Remove xstat.in.
58424
58425         * lib/xstat.in: Remove file.  Contents moved into stat.c.
58426         * lib/stat.c: New file.  Contents mostly from xstat.in.
58427         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
58428         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
58429
58430         * lib/safe-read.c: Rework so that it may serve to define safe_write,
58431         too.
58432         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
58433
58434 2002-12-03  Jim Meyering  <jim@meyering.net>
58435
58436         * lib/safe-read.c, safe-write.c: Change variable names and comments,
58437         but not semantics, to minimize the differences between these two files.
58438         (safe_read): Change comment to mention SAFE_READ_ERROR.
58439
58440         * lib/safe-read.c (IS_EINTR): Define.
58441         (safe_read): Use IS_EINTR in place of in-function cpp directives.
58442
58443 2002-12-02  Jim Meyering  <jim@meyering.net>
58444
58445         * lib/safe-read.c (EINTR): Define.
58446         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
58447         (INT_MAX): Provide fallback.
58448         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
58449
58450         * lib/safe-read.h (SAFE_READ_ERROR): Define.
58451
58452 2002-12-02  Bruno Haible  <bruno@clisp.org>
58453
58454         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
58455         Define, taken from safe-read.c.
58456         (INT_MAX): Provide fallback.
58457         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
58458         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
58459
58460         * lib/safe-read.c (EINTR): Remove definition.
58461         (safe_read): Don't use EINTR if it is absent.
58462
58463 2002-12-01  Jim Meyering  <jim@meyering.net>
58464
58465         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
58466         zero.
58467         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
58468
58469 2002-11-27  Paul Eggert  <eggert@twinsun.com>
58470
58471         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
58472         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
58473         with `if (! (value < limit)) abort ();', for readability.
58474
58475 2002-11-26  Karl Berry  <karl@gnu.org>
58476
58477         * lib/strdup.c: copy from libc again, with jim's ok.
58478         * lib/.cppi-disable: re-add strdup.c
58479
58480 2002-11-25  Karl Berry  <karl@gnu.org>
58481
58482         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
58483         instead of "strtol.c".
58484
58485 2002-11-25  Karl Berry  <karl@gnu.org>
58486
58487         * config/install-sh: update from automake for variable quoting, $0 in
58488         error msgs, etc.
58489
58490         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
58491         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
58492         entry.
58493
58494 2002-11-25  Jim Meyering  <jim@meyering.net>
58495
58496         * lib/mktime.c: Sync from libc, now that it has the latest fix.
58497
58498 2002-11-24  Karl Berry  <karl@gnu.org>
58499
58500         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
58501         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
58502
58503 2002-11-24  Jim Meyering  <jim@meyering.net>
58504
58505         Update from coreutils:
58506
58507         * lib/mktime.c: Merge in changes from libc.
58508
58509         Avoid a link-time failure on some Linux systems.
58510         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
58511         (otherwise).
58512         (__mon_yday): Declare with the STATIC attribute.
58513         (__mktime_internal): Likewise.
58514         Based on a report from Greg Schafer.
58515
58516 2002-11-23  Jim Meyering  <jim@meyering.net>
58517
58518         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
58519         Use `unsigned', not `int', as type of index.
58520
58521         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
58522
58523         * lib/fsusage.c: Remove unneeded parentheses around operands of
58524         `defined'.
58525
58526 2002-11-22  Paul Eggert  <eggert@twinsun.com>
58527
58528         * lib/quotearg.h: Allow multiple inclusion by surrounding with
58529         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
58530         so that we can be included first.
58531         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
58532         * lib/quotearg.c: Include quotearg.h immediately after config.h.
58533         No need to include stddef.h or sys/types.h any more.
58534         Surround local include files with "", not "<>".
58535         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
58536         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
58537         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
58538         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
58539         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
58540         (ISPRINT): Remove; no longer needed now that we assume C89.
58541
58542         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
58543         Preserve errno.
58544
58545         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
58546         quotearg_char): Use SIZE_MAX rather than
58547         (size_t) -1 when we are talking about "infinity".
58548
58549         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
58550
58551 2002-11-22  Paul Eggert  <eggert@twinsun.com>
58552
58553         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
58554         hint that one should use `if (! x) abort ();' rather than `assert
58555         (x);', and anyway it's one less thing to worry about configuring.
58556         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
58557         hash_rehash, hash_insert): Use abort rather than assert.
58558
58559 2002-11-22  Bruno Haible  <bruno@clisp.org>
58560
58561         * lib/safe-read.h: Assume C89. Add comments.
58562         (safe_read): Change return type to size_t.
58563         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
58564         byte counts > SSIZE_MAX correctly.
58565         * lib/safe-write.h: New file.
58566         * lib/safe-write.c: New file.
58567         * lib/full-read.h: New file.
58568         * lib/full-read.c: New file.
58569         * lib/full-write.h: Assume C89. Add comments.
58570         * lib/full-write.c: Include safe-write.h.
58571         (full_write): Rewritten to use safe_write.
58572         Suggested by Jim Meyering and Paul Eggert.
58573
58574 2002-11-21  Jim Meyering  <jim@meyering.net>
58575
58576         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
58577
58578         Merge in changes from the coreutils.
58579
58580         2002-09-25  Paul Eggert  <eggert@twinsun.com>
58581         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
58582         <stdint.h>.
58583         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
58584         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
58585         int.  Work more efficiently if X is the same width as uintmax_t.
58586         Do not compare X to -1, to avoid bogus compiler warning.
58587         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
58588         Don't assume that f_frsize and f_bsize are the same type.
58589
58590         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
58591         warning on FreeBSD.
58592
58593         * lib/makepath.c (make_path): Restore umask *before* creating the final
58594         component.
58595         (make_path): Minor reformatting.
58596
58597         * lib/xmalloc.c: Adjust to work with new autoconf macros,
58598         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
58599         HAVE_MALLOC/HAVE_REALLOC.
58600
58601         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
58602         dummy ones.  At least on GNU/Linux systems, `auto' means something
58603         else.
58604         From Michael Stone.
58605
58606 2002-11-21  Bruno Haible  <bruno@clisp.org>
58607
58608         Remove case insensitive option matching.
58609         * lib/argmatch.h (argcasematch): Remove declaration.
58610         (ARGCASEMATCH): Remove macro.
58611         (__xargmatch_internal): Remove case_sensitive argument.
58612         (XARGMATCH): Update.
58613         (XARGCASEMATCH): Remove macro.
58614         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
58615         case_sensitive argument.
58616         (argcasematch): Remove function.
58617         (__xargmatch_internal): Remove case_sensitive argument.
58618         (main): Use XARGMATCH instead of XARGCASEMATCH.
58619
58620         * lib/xmalloc.c: Change compile-time error message. Add comment about
58621         required autoconf version.
58622
58623 2002-11-20  Paul Eggert  <eggert@twinsun.com>
58624
58625         Merge argmatch cleanups from Bison.  Assume C89.
58626
58627         * lib/argmatch.c: Include config.h here, not in argmatch.h.
58628         Include stdlib.h, for EXIT_FAILURE.
58629         Always include <string.h>, since we assume C89.
58630         (EXIT_FAILURE): Remove pre-C89 bug workaround.
58631         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
58632         Include <stddef.h> instead, since it's all we need for size_t.
58633         (PARAMS): Remove.  All uses removed.
58634         (ARRAY_CARDINALITY): Do not bother to #undef.
58635         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
58636         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
58637         Remove unnecessary parentheses.
58638         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
58639         Insert necessary parentheses.
58640         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
58641         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
58642
58643 2002-11-19  Bruno Haible  <bruno@clisp.org>
58644
58645         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
58646         * lib/mbswidth.h: Include <stddef.h>, for size_t.
58647
58648         * lib/mbswidth.h (PARAMS): Remove macro.
58649         (mbswidth, mbsnwidth): Use ANSI C function declarations.
58650         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
58651
58652         * lib/gcd.h (PARAMS): Remove macro.
58653         (gcd): Use ANSI C function declarations.
58654         * lib/gcd.c (gcd): Likewise.
58655
58656 2002-11-15  Bruno Haible  <bruno@clisp.org>
58657
58658         * lib/strcspn.c: Include <stddef.h>.
58659         (strcspn): Use ANSI C function declaration. Change return type to
58660         size_t. Use NULL.
58661         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
58662         (strpbrk): Use NULL.
58663         * lib/strpbrk.h (PARAMS): Remove macro.
58664         (strpbrk): Use ANSI C function declaration.
58665         * lib/strstr.c: Don't include <sys/types.h>.
58666         * lib/strstr.h (PARAMS): Remove macro.
58667         (strstr): Use ANSI C function declarations.
58668
58669 2002-11-14  Karl Berry  <karl@gnu.org>
58670
58671         * config/mkinstalldirs: `do' on separate line, instead of
58672         `for var; do'.
58673
58674 2002-11-06  Bruno Haible  <bruno@clisp.org>
58675
58676         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
58677         * lib/gcd.c (gcd): Likewise.
58678
58679 2002-11-05  Bruno Haible  <bruno@clisp.org>
58680
58681         * lib/gcd.h: New file, from gettext-0.11.5.
58682         * lib/gcd.c: New file, from gettext-0.11.5.
58683
58684 2002-11-05  Bruno Haible  <bruno@clisp.org>
58685
58686         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58687         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58688         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58689         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
58690
58691         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
58692         <libintl.h>.
58693         * lib/makepath.c: Include gettext.h instead of <locale.h> and
58694         <libintl.h>.
58695
58696         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
58697         * lib/human.c: Include gettext.h instead of <libintl.h>.
58698         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
58699         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
58700         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
58701         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
58702         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
58703         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
58704         (textdomain): Remove definition.
58705         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
58706
58707         * lib/long-options.c: Remove include of <libintl.h> and definition of
58708         _.
58709         * lib/same.c: Remove include of <libintl.h> and definition of _.
58710
58711 2002-11-04  Owen Taylor  <otaylor@redhat.com>
58712
58713         * lib/config.charset: A few additions for Solaris.
58714
58715 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
58716
58717         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
58718         * lib/localcharset.c (locale_charset): Declare as extern "C".
58719
58720 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
58721
58722         * lib/config.charset: msdos in uk_UA uses CP1125.
58723
58724 2002-11-04  Bruno Haible  <bruno@clisp.org>
58725
58726         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
58727         * lib/strcase.h: New file, from GNU gettext-0.11.5.
58728         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
58729         * lib/strstr.h: New file, from GNU gettext-0.11.5.
58730         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
58731
58732 2002-11-04  Bruno Haible  <bruno@clisp.org>
58733
58734         * lib/localcharset.c (locale_charset): Don't return an empty string.
58735
58736 2002-11-04  Bruno Haible  <bruno@clisp.org>
58737
58738         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
58739         aliases.
58740
58741 2002-11-04  Bruno Haible  <bruno@clisp.org>
58742
58743         * lib/config.charset: Update for newest glibc. Add canonical names
58744         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
58745
58746 2002-11-04  Bruno Haible  <bruno@clisp.org>
58747
58748         * lib/config.charset: Add support for NetBSD.
58749
58750 2002-11-04  Bruno Haible  <bruno@clisp.org>
58751
58752         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
58753
58754 2002-11-01  Bruno Haible  <bruno@clisp.org>
58755
58756         * configure.in: Add AC_CONFIG_AUX_DIR call.
58757         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
58758         test/Makefile.
58759         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
58760
58761 2002-09-28  Karl Berry  <karl@gnu.org>
58762
58763         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
58764         installed automake until the next release, since changes have been
58765         made.
58766
58767 2002-09-25  Karl Berry  <karl@gnu.org>
58768
58769         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
58770         * lib/getopt*: copy from libc/posix.
58771         * lib/gettext.h: copy from gettext.
58772         * lib/.cppi-disable: add strdup.c, gettext.h.
58773
58774 2002-09-25  Karl Berry  <karl@gnu.org>
58775
58776         * config/srclist.txt: enable gettext.h check.
58777         * config/config.{guess,sub}: update from prep.
58778         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
58779                 from automake 1.6.3.
58780         See srclist*.
58781
58782 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
58783
58784         * regex.c (PATFETCH): Remove the translating fetch.
58785         (PATFETCH_RAW): Rename to PATFETCH.
58786         (set_image_of_range): New fun.
58787         (SET_RANGE_TABLE_WORK_AREA): Use it.
58788         (regex_compile): Don't translate the pattern chars so eagerly.
58789         Only do it when inserting an `exactn' bytecode or when handling
58790         a char-range.
58791         (mutually_exclusive_p): Avoid empty statement.
58792
58793 2002-07-06  Jim Meyering  <meyering@lucent.com>
58794
58795         * m4/README: Don't mention Makefile.am.in.
58796         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
58797
58798 2002-07-01  Jim Meyering  <meyering@lucent.com>
58799
58800         * lib/c-stack.c: Include sys/time.h.
58801         From Volker Borchert.
58802
58803 2002-06-26  Paul Eggert  <eggert@twinsun.com>
58804
58805         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
58806
58807 2002-06-26  Paul Eggert  <eggert@twinsun.com>
58808
58809         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
58810         New macro.  Use it uniformly instead of
58811         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
58812         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
58813         reported by Vin Shelton.
58814
58815 2002-06-22  Paul Eggert  <eggert@twinsun.com>
58816
58817         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
58818         Do not assume SA_SIGINFO behavior.
58819         Bug reported by Jim Meyering on NetBSD 1.5.2.
58820
58821 2002-06-22  Jim Meyering  <meyering@lucent.com>
58822
58823         * m4/c-stack.m4: New file, from diffutils-2.8.2.
58824         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
58825
58826         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
58827         now that configure.ac uses AC_GNU_SOURCE.
58828         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
58829         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
58830
58831         Update to latest tools.  Suggestions from Paul Eggert.
58832         * m4/stdbool.m4: New file, from diffutils-2.8.2.
58833         * m4/gnu-source.m4: Update from diffutils-2.8.2.
58834         * m4/fnmatch.m4: Likewise.
58835         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
58836         to AC_HEADER_STDBOOL
58837
58838 2002-06-22  Jim Meyering  <meyering@lucent.com>
58839
58840         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
58841         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
58842
58843 2002-06-22  Jim Meyering  <meyering@lucent.com>
58844
58845         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
58846
58847         * lib/exitfail.c, exitfail.h: Likewise.
58848         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
58849
58850         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
58851         of fnmatch.h.
58852         (EXTRA_DIST): Add fnmatch_loop.c.
58853         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
58854
58855         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
58856         * lib/fnmatch.c: Update from diffutils-2.8.2.
58857         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
58858         * lib/fnmatch.h: Remove file.
58859
58860 2002-06-21  Jim Meyering  <meyering@lucent.com>
58861
58862         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
58863         * m4/mbrtowc.m4: Likewise.
58864
58865         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
58866         * m4/mbswidth.m4: Reflect name change:
58867         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
58868         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
58869
58870         * m4/lib-link.m4: Update from gettext-0.11.2.
58871         * m4/gettext.m4: Likewise.
58872
58873         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
58874         From Alfred M. Szmidt.
58875
58876 2002-06-18  Paul Eggert  <eggert@twinsun.com>
58877
58878         * lib/file-type.h: Report an error if neither S_ISREG nor
58879         S_IFREG is defined, instead of using a test specific to glibc
58880         2.2.  This should be safe, since POSIX requires S_ISREG and
58881         Unix Version 7 had S_IFREG.  We don't need to check for
58882         <sys/types.h> since we don't use any symbols that it defines.
58883
58884 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
58885
58886         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
58887         $@-t, so that each temporary file name is unique and valid in the first
58888         8 characters, for operation under DOS.
58889
58890 2002-06-15  Paul Eggert  <eggert@twinsun.com>
58891
58892         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
58893
58894 2002-06-15  Jim Meyering  <meyering@lucent.com>
58895
58896         Work even with DJGPP 2.03, which lacks support for symlinks.
58897         From Richard Dawe.
58898         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
58899         is defined.
58900         * lib/lchown.c (S_ISLNK): Likewise.
58901
58902 2002-06-15  Jim Meyering  <meyering@lucent.com>
58903
58904         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
58905         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
58906         have been included before this file.
58907
58908 2002-06-14  Jim Meyering  <meyering@lucent.com>
58909
58910         * lib/file-type.h: Use the version from diffutils-2.8.2.
58911         * lib/file-type.c: Likewise.
58912
58913 2002-06-07  Jim Meyering  <meyering@lucent.com>
58914
58915         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
58916         They're needed at least for NetBSD 1.5.2.
58917         ($statxfs_includes): Include those same headers.
58918         ($statxfs_includes): Include sys/vfs.h if available.
58919         ($statxfs_includes): Likewise for sys/statvfs.h.
58920         Check for the following members in both structs statfs and statvfs:
58921         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
58922
58923 2002-06-01  Jim Meyering  <meyering@lucent.com>
58924
58925         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
58926         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
58927
58928 2002-05-28  Jim Meyering  <meyering@lucent.com>
58929
58930         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
58931         Reported by Volker Borchert.
58932
58933 2002-05-27  Jim Meyering  <meyering@lucent.com>
58934
58935         Fix a problem seen only on nonconforming systems whereby ls.c's
58936         use of localtime, and then of gettimeofday would cause trouble:
58937         the localtime call used to initialize rpl_gettimeofday's save
58938         mechanism would clobber ls's current local time information so
58939         that in any long listing the first file would always be listed
58940         with date 1970-01-01.  Analysis by Volker Borchert.
58941
58942         * lib/gettimeofday.c (localtime): Undefine.
58943         (rpl_localtime): New function.
58944
58945 2002-05-27  Jim Meyering  <meyering@lucent.com>
58946
58947         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
58948         localtime.
58949
58950         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
58951         use the replacement function; it wouldn't resolve at link time.
58952         Reported by Volker Borchert.
58953
58954 2002-05-22  Jim Meyering  <meyering@lucent.com>
58955
58956         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
58957         file-type.h.
58958         * lib/file-type.h: New file.
58959         * lib/file-type.c (file_type): New file/function.  Extracted from
58960         diffutils.
58961
58962 2002-04-30  Jim Meyering  <meyering@lucent.com>
58963
58964         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
58965
58966 2002-04-29  Paul Eggert  <eggert@twinsun.com>
58967
58968         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
58969
58970 2002-04-29  Paul Eggert  <eggert@twinsun.com>
58971
58972         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
58973         Do not check for alloca.h (no longer used) or stdbool.h (was never
58974         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
58975
58976 2002-04-29  Paul Eggert  <eggert@twinsun.com>
58977
58978         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
58979
58980 2002-04-29  Jim Meyering  <meyering@lucent.com>
58981
58982         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
58983         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
58984         Use AC_FUNC_STRNLEN here instead.
58985
58986         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
58987         With autoconf-2.53a, it's part of AC_PROG_CC.
58988
58989 2002-04-28  Paul Eggert  <eggert@twinsun.com>
58990
58991         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
58992         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
58993
58994 2002-04-28  Paul Eggert  <eggert@twinsun.com>
58995
58996         * lib/sig2str.h, lib/sig2str.c: New files.
58997         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
58998
58999 2002-04-28  Paul Eggert  <eggert@twinsun.com>
59000
59001         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
59002         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
59003         of 127, since 64 is the largest conceivable number for ancient
59004         nonstandard hosts.
59005         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
59006
59007 2002-04-28  Jim Meyering  <meyering@lucent.com>
59008
59009         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
59010
59011 2002-04-24  Jim Meyering  <meyering@lucent.com>
59012
59013         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
59014         (jm_PREREQ): Use it.
59015
59016         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
59017         mach/mach.h fcntl.h.
59018         Check for this function: setlocale.
59019
59020 2002-04-24  Jim Meyering  <meyering@lucent.com>
59021
59022         * lib/gettext.h: New file, from Gettext.
59023         * lib/Makefile.am (INCLUDES): Remove -I../intl.
59024         (libfetish_a_SOURCES): Add gettext.h.
59025
59026 2002-04-16  Jim Meyering  <meyering@lucent.com>
59027
59028         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
59029         ut_pid, ut_id, ut_exit.
59030
59031 2002-04-16  Jim Meyering  <meyering@lucent.com>
59032
59033         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
59034         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
59035         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
59036
59037 2002-04-12  Jim Meyering  <meyering@lucent.com>
59038
59039         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
59040         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
59041         existence of the getmntinfo function.  Needed for Darwin 5.3.
59042
59043         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
59044         This is necessary at least on Darwin 5.3.
59045
59046         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
59047         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
59048         strnlen.o in the library, and that makes some versions of ranlib
59049         object.
59050
59051 2002-04-12  Jim Meyering  <meyering@lucent.com>
59052
59053         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
59054
59055 2002-04-09  Jim Meyering  <meyering@lucent.com>
59056
59057         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
59058         to be more precise.  Rather than saying we're checking whether the
59059         function `works', say what we're testing.
59060         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
59061         Reported by Bruno Haible.
59062
59063 2002-03-10  Jim Meyering  <meyering@lucent.com>
59064
59065         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
59066         Suggestion from Santiago Vila.
59067
59068 2002-03-08  Jim Meyering  <meyering@lucent.com>
59069
59070         * lib/rename.c: Mention that this wrapper is needed also on
59071         mips-dec-ultrix4.4 systems.
59072
59073 2002-03-02  Jim Meyering  <meyering@lucent.com>
59074
59075         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
59076         not HAVE_CLOCK_SETTIME.
59077
59078 2002-02-27  Paul Eggert  <eggert@twinsun.com>
59079
59080         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
59081         Check for clock_settime.
59082
59083 2002-02-27  Paul Eggert  <eggert@twinsun.com>
59084
59085         * lib/nanosleep.h: Rename to....
59086         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
59087
59088         * lib/gettime.c: New file.
59089         * lib/settime.c: New file.
59090         * lib/stime.c: Remove.
59091
59092         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
59093         timespec.h.  Remove nanosleep.h.
59094
59095 2002-02-25  Paul Eggert  <eggert@twinsun.com>
59096
59097         * m4/acl.m4: New file.
59098         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
59099         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
59100
59101 2002-02-25  Paul Eggert  <eggert@twinsun.com>
59102
59103         * lib/acl.c, lib/acl.h: New files.
59104         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
59105
59106 2002-02-24  Jim Meyering  <meyering@lucent.com>
59107
59108         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
59109         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
59110         cause trouble.  Reported by Nelson Beebe.
59111
59112 2002-02-23  Paul Eggert  <eggert@twinsun.com>
59113
59114         * lib/path-concat.c (xpath_concat): Reorder code to pacify
59115         compilers that don't know that xalloc_die never returns.
59116
59117 2002-02-20  Jim Meyering  <meyering@lucent.com>
59118
59119         * lib/getdate.c: Regenerate using bison-1.33.
59120
59121 2002-02-17  Jim Meyering  <meyering@lucent.com>
59122
59123         * config/config.guess (main): Don't use `head -1'; it's no longer
59124         portable. Use `sed 1q' instead.
59125
59126 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
59127
59128         * m4/codeset.m4: Upgrade to gettext-0.11.
59129         * m4/gettext.m4: Upgrade to gettext-0.11.
59130         * m4/glibc21.m4: Upgrade to gettext-0.11.
59131         * m4/iconv.m4: Upgrade to gettext-0.11.
59132         * m4/isc-posix.m4: Upgrade to gettext-0.11.
59133         * m4/lcmessage.m4: Upgrade to gettext-0.11.
59134         * m4/lib-ld.m4: New file, from gettext-0.11.
59135         * m4/lib-link.m4: New file, from gettext-0.11.
59136         * m4/lib-prefix.m4: New file, from gettext-0.11.
59137         * m4/progtest.m4: Upgrade to gettext-0.11.
59138
59139 2002-02-15  Paul Eggert  <eggert@twinsun.com>
59140
59141         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
59142         (jm_PREREQ): Use it.
59143
59144 2002-02-15  Paul Eggert  <eggert@twinsun.com>
59145
59146         * lib/posixver.c, lib/posixver.h: New files.
59147         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
59148
59149 2002-02-02  Paul Eggert  <eggert@twinsun.com>
59150             Bruno Haible  <bruno@clisp.org>
59151
59152         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
59153         (fwrite_success_callback): New declaration.
59154         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
59155         print_unicode_char. Call failure callback instead of error.
59156         (fwrite_success_callback): New function.
59157         (exit_failure_callback): New function.
59158         (fallback_failure_callback): New function.
59159         (print_unicode_char): Call unicode_to_mb.
59160
59161 2002-01-26  Jim Meyering  <meyering@lucent.com>
59162
59163         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
59164         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
59165
59166 2002-01-26  Jim Meyering  <meyering@lucent.com>
59167
59168         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
59169
59170 2002-01-22  Paul Eggert  <eggert@twinsun.com>
59171
59172         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
59173
59174 2002-01-22  Jim Meyering  <meyering@lucent.com>
59175
59176         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
59177         Otherwise, some versions of automake would omit the rule that makes
59178         Makefile from Makefile.in.
59179
59180 2002-01-21  Paul Eggert  <eggert@twinsun.com>
59181
59182         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
59183         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
59184         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
59185         (memcoll): Set errno to zero if there is no error.
59186
59187         * lib/quotearg.c (quotearg_buffer_restyled):
59188         Fix bug with quoting buffers containing NUL when backslashing escapes.
59189         This bug was exposed by the other changes in this patch.
59190         (quotearg_n_options): New arg ARGSIZE.
59191         All callers changed.
59192         (quoting_options_from_style): New function.
59193         (quotearg_n_style): Use it.
59194         (quotearg_n_style_mem): New function.
59195
59196         * lib/quotearg.h (quotearg_n_style_mem): New function.
59197
59198 2002-01-19  Jim Meyering  <meyering@lucent.com>
59199
59200         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
59201         Remove useless quotes: DF_PROG="df".
59202         * m4/strnlen.m4: New file.
59203
59204 2002-01-16  Paul Eggert  <eggert@twinsun.com>
59205
59206         * lib/backupfile.c (ISDIGIT): Comment fix.
59207         * lib/getdate.y (ISDIGIT): Likewise.
59208         * lib/posixtm.c (ISDIGIT, year): Likewise.
59209         * lib/strverscmp.c (ISDIGIT): Likewise.
59210         * lib/userspec.c (ISDIGIT): Likewise.
59211
59212 2002-01-16  Jim Meyering  <meyering@lucent.com>
59213
59214         * lib/getdate.y: Add three semicolons, each just before a closing
59215         brace. Bison (as of version 1.31) no longer papers over that mistake.
59216
59217 2002-01-05  Jim Meyering  <meyering@lucent.com>
59218
59219         * lib/version-etc.c (version_etc_copyright): Update copyright year.
59220
59221 2001-12-19  Paul Eggert  <eggert@twinsun.com>
59222
59223         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
59224         not silently exit merely because the output buffer happens to
59225         have nothing pending.
59226
59227 2001-12-18  Paul Eggert  <eggert@twinsun.com>
59228
59229         See the big note in ../ChangeLog.
59230         * lib/human.c (suffixes): Prefer K to k for 1024.
59231         (generate_suffix_backwards): New function.
59232         (human_readable_inexact): Use it.
59233         * lib/xstrtol.c (__xstrtol): If there is no number but there
59234         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
59235         Accept 'K' as well as 'k'.
59236
59237 2001-12-15  Jim Meyering  <meyering@lucent.com>
59238
59239         * lib/regex.h (__restrict_arr): Update from libc.
59240
59241         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
59242         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
59243         (STREQ): Define.
59244
59245 2001-12-14  Jim Meyering  <meyering@lucent.com>
59246
59247         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
59248         Suggestion from Bruno Haible.
59249
59250 2001-12-10  Jim Meyering  <meyering@lucent.com>
59251
59252         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
59253         xrealloc, Instead, include "xalloc.h".
59254         (initbuffer): Don't cast xmalloc return value to char*.
59255         (readline): Reword comment.
59256         Don't cast xrealloc return value to char*
59257         Return NULL, not 0.
59258
59259 2001-12-09  Jim Meyering  <meyering@lucent.com>
59260
59261         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
59262         about `signed and unsigned type in conditional expression'.
59263         * lib/posixtm.c (posix_time_parse): Likewise.
59264
59265         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
59266
59267         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
59268         to avoid a pedantic warning.
59269
59270         * lib/getstr.c: Don't include assert.h.
59271         (getstr): Remove warning-evoking assertions.
59272         Return -1 if offset parameter is out of bounds.
59273         Change the type of a local from int to size_t.
59274
59275         * lib/strftime.c (my_strftime_localtime_r): Include this function
59276         definition in the `#if ! HAVE_TM_GMTOFF' block.
59277
59278         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
59279         Include xalloc.h instead.
59280
59281 2001-12-02  Jim Meyering  <meyering@lucent.com>
59282
59283         * lib/tempname.c: Don't declare getenv, thus reverting the change of
59284         2001-11-18.  It's no longer necessary, now that stdlib.h is always
59285         included.
59286
59287         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
59288         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
59289
59290 2001-11-30  Akim Demaille  <akim@epita.fr>
59291
59292         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
59293         before being defined.
59294
59295 2001-11-27  Paul Eggert  <eggert@twinsun.com>
59296
59297         * lib/quotearg.h (quotearg_n, quotearg_n_style):
59298         First arg is int, not unsigned.
59299         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
59300         (SIZE_MAX, UINT_MAX): New macros.
59301         (quotearg_n_options): Abort if N is negative.
59302         Avoid overflow check on hosts where size_t is 64 bits and int
59303         is 32 bits, as overflow is impossible there.
59304         Fix off-by-one typo that caused unnecessary reallocation.
59305
59306 2001-11-27  Jim Meyering  <meyering@lucent.com>
59307
59308         * lib/tempname.c: Merge with version from libc.
59309         * lib/regex.c: Likewise.
59310
59311         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
59312         systems for which STDC_HEADERS is 0, it was not included, resulting in
59313         a warning about an integer-to-pointer conversion problem with getenv.
59314         Reported by Volker Borchert.
59315
59316 2001-11-26  Jim Meyering  <meyering@lucent.com>
59317
59318         * lib/gtod.h: Remove file.
59319         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
59320         * lib/gettimeofday.c: Don't include gtod.h.
59321         (GTOD_init): Remove function.
59322         (rpl_gettimeofday): Do its job here instead, rather than aborting.
59323         Suggestion from Volker Borchert.
59324
59325 2001-11-23  Jim Meyering  <meyering@lucent.com>
59326
59327         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
59328         it.
59329         * lib/hash.c (struct hash_table): Define it here instead.
59330
59331 2001-11-22  Jim Meyering  <meyering@lucent.com>
59332
59333         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
59334
59335 2001-11-20  Jim Meyering  <meyering@lucent.com>
59336
59337         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
59338         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
59339
59340 2001-11-19  Jim Meyering  <meyering@lucent.com>
59341
59342         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
59343         directory.  Use "conftestXXXXXX" as the template.
59344         Suggestion from Paul Eggert.
59345
59346         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
59347         immediately, so the test doesn't mistakenly hit the max-open-files
59348         limit.
59349
59350 2001-11-18  Paul Eggert  <eggert@twinsun.com>
59351
59352         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
59353         (TEMPORARIES): New macro.
59354         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
59355         removes an artificial limitation (e.g. HP-UX 10.20, where
59356         TMP_MAX is 17576).
59357
59358 2001-11-18  Jim Meyering  <meyering@lucent.com>
59359
59360         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
59361
59362 2001-11-18  Jim Meyering  <meyering@lucent.com>
59363
59364         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
59365         on SunOS 4.
59366
59367         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
59368         files will be created before anything else.
59369
59370 2001-11-17  Paul Eggert  <eggert@twinsun.com>
59371
59372         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
59373         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
59374
59375 2001-11-17  Jim Meyering  <meyering@lucent.com>
59376
59377         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
59378         Prompted by a report from Bob Proulx.
59379
59380         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
59381         Instead, require UTILS_FUNC_MKSTEMP.
59382
59383 2001-11-17  Jim Meyering  <meyering@lucent.com>
59384
59385         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
59386         Now, that's done as part of AC_FUNC_STRTOD.
59387
59388 2001-11-17  Jim Meyering  <meyering@lucent.com>
59389
59390         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
59391         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
59392         rather than group writable.  Patch by Juan F. Codagnone.
59393
59394         * lib/readtokens.c: Remove explicit declarations of xmalloc and
59395         xrealloc, Instead, include "xalloc.h".
59396
59397         * lib/mountlist.c: Include unlocked-io.h after all system headers.
59398         Remove explicit declarations of xmalloc, xrealloc,
59399         and xstrdup.  Instead, include "xalloc.h".
59400
59401         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
59402         unlocked-io.h.
59403         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
59404         Likewise.
59405         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
59406
59407         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
59408         Reported by Padraig Brady.
59409
59410         * lib/mkstemp.c: #undef mkstemp.
59411         Include config.h.
59412         (rpl_mkstemp): Rename from mkstemp.
59413         Protoize.
59414
59415 2001-11-16  Jim Meyering  <meyering@lucent.com>
59416
59417         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
59418         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
59419         determine the amount of total physical memory, use pstat_getstatic.
59420         HPUX-11 doesn't define _SC_PHYS_PAGES.
59421         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
59422         If sysconf couldn't be used to determine the amount of available
59423         physical memory, use both pstat_getstatic and pstat_getdynamic.
59424         Based on a patch from Bob Proulx.
59425
59426 2001-11-10  Jim Meyering  <meyering@lucent.com>
59427
59428         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
59429         (jm_PREREQ): Use it.
59430
59431 2001-11-09  Jim Meyering  <meyering@lucent.com>
59432
59433         * m4/jm-macros.m4: Require autoconf-2.52f.
59434         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
59435         Use these AC_-prefixed names, not the AM_-prefixed ones.
59436
59437         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
59438
59439 2001-11-05  Jim Meyering  <meyering@lucent.com>
59440
59441         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
59442
59443 2001-11-04  Jim Meyering  <meyering@lucent.com>
59444
59445         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
59446         $DEFS.
59447
59448 2001-11-03  Jim Meyering  <meyering@lucent.com>
59449
59450         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
59451         of AC_DEFUN.
59452
59453         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
59454         know the name of the variable in the macro definition.
59455
59456 2001-11-03  Jim Meyering  <meyering@lucent.com>
59457
59458         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
59459         in argmatch_to_argument call.
59460
59461         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
59462         argument.
59463
59464         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
59465         e.g., a fault due to an attempt to free a NULL pointer.
59466
59467 2001-11-01  Jim Meyering  <meyering@lucent.com>
59468
59469         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
59470         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
59471
59472 2001-11-01  Jim Meyering  <meyering@lucent.com>
59473
59474         * lib/dirfd.c, lib/dirfd.h: New files.
59475         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
59476
59477         * lib/hash.c (hash_print) [TESTING]: Clean up.
59478
59479 2001-10-22  Paul Eggert  <eggert@twinsun.com>
59480
59481         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
59482         to avoid a warning if -Wall.
59483
59484 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
59485
59486         * README: New file
59487         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
59488         (per RMS's instructions, this is now the canonical source)
59489         * lgpl/, gpl/: New directories.
59490
59491 2001-10-21  Paul Eggert  <eggert@twinsun.com>
59492
59493         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
59494
59495 2001-10-21  Jim Meyering  <meyering@lucent.com>
59496
59497         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
59498         this code would end up calling gettext even in packages built
59499         with --disable-nls.
59500         * lib/getopt.c (_): Likewise.
59501         * lib/regex.c (_): Likewise.
59502
59503 2001-10-20  Paul Eggert  <eggert@twinsun.com>
59504
59505         * m4/error.m4 (jm_PREREQ_ERROR):
59506         Do not invoke AC_CHECK_FUNCS with strerror_r, as
59507         AC_FUNC_STRERROR_R does that.
59508         Check for strerror declaration.
59509
59510         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
59511         are supposed to have them these days.
59512         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
59513         Merge changes from latest Autoconf CVS.
59514         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
59515         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
59516         POSIX decided to standardize on the int flavor of strerror_r.
59517
59518 2001-10-20  Paul Eggert  <eggert@twinsun.com>
59519
59520         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
59521         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
59522         Use strerror_r that is only a macro, even if it is not a function.
59523         (strerror): Check for HAVE_DECL_STRERROR before declaring.
59524         (private_strerror): Use prototypes, not old-style function definition.
59525         (print_errno_message): New function.
59526         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
59527         char*-flavored one.
59528         (error_tail, error, error_at_line): Use it.
59529
59530 2001-10-11  Jim Meyering  <meyering@lucent.com>
59531
59532         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
59533         and quote_n (1, ... to avoid clobbering a buffer.
59534
59535 2001-10-05  Jim Meyering  <meyering@lucent.com>
59536
59537         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
59538         hash-pjw.h.
59539         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
59540         * lib/hash-pjw.h: New file.
59541
59542 2001-09-30  Jim Meyering  <meyering@lucent.com>
59543
59544         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
59545         `struct fsstat' has the `f_fstypename' member.
59546         Use that to define FS_TYPE, which is now used to make
59547         the getfsstat link test tighter.
59548
59549 2001-09-30  Jim Meyering  <meyering@lucent.com>
59550
59551         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
59552         Include <sys/ucred.h>, for Apple Darwin.
59553         Include sys/mount.h and sys/fs_types.h only if available.
59554         (FS_TYPE): Define.
59555         (read_filesystem_list): Use FS_TYPE.
59556
59557 2001-09-29  Paul Eggert  <eggert@twinsun.com>
59558
59559         * lib/exclude.c (excluded_filename): 0 -> false, since it's
59560         a boolean context.
59561
59562 2001-09-29  Jim Meyering  <meyering@lucent.com>
59563
59564         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
59565         [one-argument getmntent function]): Include stdio.h before mntent.h.
59566         SunOS 4.1.x needs it for the declaration of `FILE'.
59567         Patch by Volker Borchert.
59568
59569         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
59570         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
59571         sys/fs_types.h, and make the link-test for getfsstat guard #include
59572         directives with appropriate #if HAVE_*_H tests so that we can
59573         detect getfsstat on Apple Darwin1.3.7 systems.
59574         Reported by Nelson Beebe.
59575         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
59576
59577 2001-09-28  Paul Eggert  <eggert@twinsun.com>
59578
59579         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
59580         #defines strtoimax.  Also treat the other strto* functions
59581         like strtoimax.
59582
59583         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
59584         Check for strtoul and strtoumax,
59585         as those declarations are made even in the signed case.
59586         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
59587         Likewise, for strtol and strtoimax.
59588
59589 2001-09-28  Paul Eggert  <eggert@twinsun.com>
59590
59591         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
59592         #defines strtoimax.  Also treat the other strto* functions
59593         like strtoimax.
59594
59595         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
59596         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
59597         (strtoimax, strtoumax): Do not declare if already defined as a macro.
59598
59599 2001-09-26  Jim Meyering  <meyering@lucent.com>
59600
59601         Most macros in unlocked-io.h had the wrong number of arguments.
59602         * lib/gen-uio: New script.
59603         (USE_UNLOCKED_IO): Define to 1 if not already defined.
59604         * lib/unlocked-io.hin: Remove file.
59605         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
59606         rather than trying to embed it here.
59607         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
59608         Reported by Padraig Brady.
59609
59610 2001-09-25  Volker Borchert  <bt@teknon.de>
59611
59612         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
59613         `result'.
59614
59615 2001-09-24  Jim Meyering  <meyering@lucent.com>
59616
59617         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
59618
59619 2001-09-23  Jim Meyering  <meyering@lucent.com>
59620
59621         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
59622         instead of the mere test for existence of mntent.h.  The latter
59623         would get a false-positive on AIX 3.4 systems.
59624         In the outer getmntent if-block, don't die if neither of the getmntent
59625         tests succeeds.  Instead, just fall through and continue with the
59626         remaining tests.
59627
59628 2001-09-23  Jim Meyering  <meyering@lucent.com>
59629
59630         * lib/mountlist.c: Remove useless parentheses in #if directives.
59631         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
59632         the deprecated MOUNTED symbol is no longer defined in mntent.h.
59633
59634 2001-09-22  Jim Meyering  <meyering@lucent.com>
59635
59636         * m4/gettext.m4: New file.  From gettext.
59637         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
59638         * m4/progtest.m4: Likewise
59639         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
59640         * m4/glibc21.m4: Likewise.
59641
59642         * m4/libintl.m4: Remove.  No longer used.
59643
59644 2001-09-22  Jim Meyering  <meyering@lucent.com>
59645
59646         * lib/localcharset.c: Update from latest gettext.
59647         * lib/config.charset: Likewise.
59648
59649 2001-09-20  Jim Meyering  <meyering@lucent.com>
59650
59651         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
59652         strtoimax.
59653         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
59654         strtoumax.
59655
59656 2001-09-20  Jim Meyering  <meyering@lucent.com>
59657
59658         * lib/xstrtol.c (strtoimax): Guard declaration with
59659         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
59660         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
59661         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
59662         (strtoumax): Likewise, for completeness (it wasn't necessary).
59663
59664 2001-09-17  Paul Eggert  <eggert@twinsun.com>
59665
59666         * lib/strtoimax.c (HAVE_LONG_LONG):
59667         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
59668         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
59669         to work around bug in IBM C compiler.
59670
59671 2001-09-17  Jim Meyering  <meyering@lucent.com>
59672
59673         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
59674         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
59675         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
59676         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
59677         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
59678         whenever the right hand side need not be expanded by the shell.
59679
59680 2001-09-16  Paul Eggert  <eggert@twinsun.com>
59681
59682         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
59683         library.  It's not correct, as some older glibcs are buggy.
59684         fnmatch wasn't fixed until glibc 2.2.
59685
59686         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
59687         special shell magic here.
59688
59689 2001-09-16  Jim Meyering  <meyering@lucent.com>
59690
59691         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
59692         * m4/jm-macros.m4: Require it.
59693
59694 2001-09-16  Jim Meyering  <meyering@lucent.com>
59695
59696         * lib/mkdir.c: New file.
59697
59698 2001-09-15  Jim Meyering  <meyering@lucent.com>
59699
59700         * m4/jm-macros.m4: Check for help2man.
59701
59702 2001-09-11  Jim Meyering  <meyering@lucent.com>
59703
59704         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
59705         The body, by Paul Eggert, was moved here from configure.in.
59706         * m4/jm-macros.m4: Require UTILS_HOST_OS.
59707
59708 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59709
59710         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
59711         (jm_PREREQ): Use it.
59712
59713 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59714
59715         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
59716         Use ssize_t, not int, to store result of readlink.
59717         Check for ssize_t overflow as well as size_t overflow,
59718         as POSIX says the result of readlink is implementation-defined
59719         when ssize_t overflows.
59720         Remove unnecessary cast to char*.
59721         Use free+malloc instead of realloc, as the storage doesn't need
59722         to be preserved and it's clearer and can be more efficient that way.
59723         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
59724         * lib/xreadlink.h (xreadlink): Update prototype.
59725
59726 2001-09-04  Paul Eggert  <eggert@twinsun.com>
59727
59728         * lib/xgetcwd.c: Revert some of the previous change; intead,
59729         fix the HAVE_GETCWD_NULL code to behave more like the
59730         !HAVE_GETCWD_NULL code used to.
59731
59732         Include "xalloc.h".
59733         (xgetcwd): Do not return NULL when memory is exhausted; instead,
59734         invoke xalloc_die.
59735
59736 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59737
59738         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
59739         sys/param.h, as pathmax.h includes them.
59740
59741 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59742
59743         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
59744         (jm_PREREQ_XGETCWD): New macro.
59745
59746         * m4/getcwd.m4: New file.
59747
59748 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59749
59750         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
59751         like the HAVE_GETCWD_NULL code.
59752         Include pathmax.h if not HAVE_GETCWD.
59753         Do not include xalloc.h.
59754         (INITIAL_BUFFER_SIZE): New symbol.
59755         Do not use xmalloc / xrealloc, since the caller is responsible for
59756         handling errors.  Preserve errno around `free' during failure.
59757         Do not overrun buffer when using getwd.
59758
59759 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59760
59761         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
59762         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
59763         getcwd (NULL, 0).
59764
59765 2001-09-03  Paul Eggert  <eggert@twinsun.com>
59766
59767         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
59768         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
59769         spotted by Jim Meyering.
59770
59771 2001-09-03  Jim Meyering  <meyering@lucent.com>
59772
59773         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
59774         failure.
59775
59776 2001-09-02  Jim Meyering  <meyering@lucent.com>
59777
59778         * lib/error.c: Update from GNU libc.
59779
59780 2001-09-01  Jim Meyering  <meyering@lucent.com>
59781
59782         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
59783         Used by df.
59784
59785 2001-09-01  Jim Meyering  <meyering@lucent.com>
59786
59787         * lib/xreadlink.c: New file.
59788         * lib/xreadlink.h: New file.
59789         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
59790         xreadlink.h.
59791
59792         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
59793         doesn't conflict with sparc Solaris 7's definition in
59794         /usr/include/sys/int_types.h.
59795
59796         * lib/exclude.c: Use `""', not `<>' to #include non-system header
59797         files.
59798         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
59799         and strncasecmp as r-values.  Unixware didn't have declarations.
59800
59801 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59802
59803         * lib/xstrtol.h: Add copyright notice.
59804         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
59805         LONGINT_INVALID_SUFFIX_CHAR.
59806
59807 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59808
59809         * lib/xstrtol.c (strtoimax): New decl.
59810
59811 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59812
59813         * lib/xgetcwd.c: Don't include pathmax.h.
59814         Include stdlib.h and unistd.h if available.
59815         Include xalloc.h.
59816         (xmalloc, xstrdup, free): Remove decls.
59817         (xgetcwd): Don't assume sizes fit in unsigned.
59818         Check for overflow when computing sizes.
59819         Simplify reallocation code.
59820
59821 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59822
59823         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
59824         a directory's st_size can have an arbitrary value, so the old
59825         usage could waste an arbitrary amount of memory.  All uses
59826         changed.
59827         * lib/savedir.h: Update prototype.
59828
59829 2001-08-31  Paul Eggert  <eggert@twinsun.com>
59830
59831         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
59832
59833         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
59834         old strtoimax.c.
59835
59836         Also, make the following further changes to make this file's
59837         configuration more similar to that of strtol.c:
59838         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
59839         (strtoumax, uintmax_t, strtoull, strtol): Remove.
59840         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
59841         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
59842         changed to signed values.
59843
59844         And make the following changes as well:
59845         Fix copyright notice, as 1999 was missing.
59846         (verify): New macro.
59847         (strtoimax): Check sizes at compile-time, not run-time.
59848         Prefer strtol to strtoll if both work.
59849         (main): Remove; it was not that useful and was a pain to maintain.
59850
59851         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
59852
59853 2001-08-31  Jim Meyering  <meyering@lucent.com>
59854
59855         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
59856         Use an initial, malloc'd, buffer of length 128 rather than
59857         a statically allocated one of length 1024.
59858
59859 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59860
59861         Simplify code, partly by assuming autoconf 2.52 semantics.
59862
59863         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
59864
59865         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
59866         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
59867         All uses removed.
59868         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
59869         Move AC_REQUIRE to next-to-top level, to avoid confusion.
59870         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
59871         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
59872         jm_AC_HEADER_INTTYPES_H.
59873         * m4/jm-macros.m4 (jm_MACROS): Likewise.
59874
59875         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
59876
59877         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
59878         Quote first arg of AC_DEFUN.
59879         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
59880         since they are needed to parse the include file even if we need
59881         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
59882         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
59883         but with opposite signedness.
59884
59885 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59886
59887         Merge 'exclude' changes from tar 1.13.22.
59888         This fixes one or two unlikely storage allocation overflow bugs,
59889         but doesn't change user-visible behavior otherwise.
59890
59891 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59892
59893         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
59894         (jm_PREREQ_EXCLUDE): New macro.
59895
59896 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59897
59898         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
59899         tm to be declared.
59900
59901 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59902
59903         * lib/hash.c: Remove '2001' from copyright notice.
59904
59905 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59906
59907         * lib/full-write.h: New file.
59908         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
59909         * lib/full-write.c: Correct credits, as cccp.c no longer
59910         exists and anyway it was so heavily changed from the old cccp
59911         code as to be unrecognizable.  Include full-write.h.
59912         (full_write) Return size_t, with short writes meaning failure.
59913         All callers changed.  This fixes a bug with large buffers
59914         on 64-bit hosts.
59915         * lib/utime.c: Include full-write.h.
59916
59917 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59918
59919         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
59920         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
59921         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
59922         Include if available.
59923         (<xalloc.h>): Include
59924         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
59925         (verify): New macro.  Use it to verify that EXCLUDE macros do not
59926         collide with FNM macros.
59927         (struct patopts): New struct.
59928         (struct exclude): Use it, as exclude patterns now come with options.
59929         (new_exclude): Support above changes.
59930         (new_exclude, add_exclude_file):
59931         Initial size must now be a power of two to simplify overflow checking.
59932         (free_exclude, fnmatch_no_wildcards): New function.
59933         (excluded_filename): No longer requires options arg, as the options
59934         are determined by add_exclude.  Now returns bool, not int.
59935         (excluded_filename, add_exclude):
59936         Add support for the fancy new exclusion options.
59937         (add_exclude, add_exclude_file): Now takes int options arg.
59938         Check for arithmetic overflow when computing sizes.
59939         (add_exclude_file): xrealloc might modify errno, so don't
59940         realloc until after errno might be used.
59941
59942         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
59943         New macros.
59944         (free_exclude): New decl.
59945         (add_exclude, add_exclude_file): Now takes int options arg.
59946         (excluded_filename): No longer requires options arg, as the options
59947         are determined by add_exclude.  Now returns bool, not int.
59948
59949 2001-08-30  Paul Eggert  <eggert@twinsun.com>
59950
59951         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
59952
59953 2001-08-27  Jim Meyering  <meyering@lucent.com>
59954
59955         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
59956
59957         * lib/version-etc.c (N_): Remove definition.
59958         Revert most of last change.
59959         Instead, simply don't mark the `Copyright...' string for translation.
59960         Based on advice from Paul Eggert.
59961
59962         * lib/strtoxmax.c: Tweak comment.
59963
59964 2001-08-26  Jim Meyering  <meyering@lucent.com>
59965
59966         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
59967
59968         * m4/xstrtoimax.m4: New file.
59969         * m4/xstrtoumax.m4: Add comments explaining why we
59970         AC_REPLACE_FUNCS(strtol).
59971
59972 2001-08-26  Jim Meyering  <meyering@lucent.com>
59973
59974         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
59975         of copyright with `%s' so translators don't get an untranslated
59976         message in 2002.
59977         (COPYRIGHT_YEAR): Define.
59978         (version_etc): Use fprintf rather than fputs.
59979         Suggestion from Ulrich Drepper.
59980
59981         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
59982
59983         * lib/strtoll.c: New file, from GNU libc.
59984         * lib/xstrtoimax.c: New file.
59985
59986         * lib/xstrtol.h: Add xstrtoimax.
59987         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
59988         * lib/strtoimax.c: New file.  Likewise, but first define
59989         STRTOUXMAX_SIGNED.
59990
59991         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
59992         ...
59993         * lib/strtoxmax.c: ... then renamed to this.
59994
59995 2001-08-18  Paul Eggert  <eggert@twinsun.com>
59996
59997         * m4/inttypes.m4: Add AC_PREREQ(2.13).
59998         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
59999         (jm_AC_TYPE_INTMAX_T): New macro.
60000         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
60001
60002         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
60003
60004         * m4/longlong.m4: Renamed from ulonglong.m4.
60005         * m4/inttypes.m4: Renamed from inttypes_h.m4.
60006         * m4/uintmax_t.m4: Removed.
60007
60008 2001-08-13  Paul Eggert  <eggert@twinsun.com>
60009
60010         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
60011         Port to Solaris 8, where 'sed' requires a space after the 'r'
60012         command, and where sh dislikes "$/".  Clean up the spacing a bit.
60013         Redirect output to $tmp just once.
60014
60015 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
60016
60017         * lib/addext.c (<errno.h>): Include.
60018         (errno): Declare if not defined.
60019         (addext): Work correctly when pathconf returns -1 and leaves
60020         errno alone because there is no limit.  Also, work even if
60021         pathconf returns a value greater than SIZE_MAX.
60022
60023 2001-08-12  Jim Meyering  <meyering@lucent.com>
60024
60025         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
60026         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
60027         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
60028         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
60029         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
60030         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
60031         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
60032         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
60033         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
60034         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
60035         utime.m4, utimes.m4, xstrtoumax.m4:
60036         Quote the first argument in each use of AC_DEFUN.
60037
60038 2001-08-12  Jim Meyering  <meyering@lucent.com>
60039
60040         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
60041         Simply `return getcwd (NULL, 0);'.
60042         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
60043         Use 1300 as initial value for length, not PATH_MAX.
60044
60045         * lib/pathmax.h: Clean up cpp syntax.
60046
60047 2001-08-12  Jim Meyering  <meyering@lucent.com>
60048
60049         * lib/gettimeofday.c: New file.
60050         * lib/gtod.h: New file.
60051         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
60052
60053 2001-08-05  Jim Meyering  <meyering@lucent.com>
60054
60055         * m4/jm-macros.m4: Require autoconf-2.52.
60056
60057 2001-08-04  Jim Meyering  <meyering@lucent.com>
60058
60059         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
60060         stmt, to get in sync with glibc.
60061
60062 2001-08-03  Paul Eggert  <eggert@twinsun.com>
60063
60064         The following changes are from gettext 0.10.39 as maintained by
60065         Bruno Haible.
60066
60067         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
60068         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
60069         with inverted sense.  All uses changed.
60070
60071         * lib/mbswidth.c: Don't include <limits.h>.
60072         Include <stdlib.h> and <string.h> unconditionally.
60073         (iswcntrl, mbsinit, ISCNTRL): New macros.
60074         (mbsnwidth): Use K&R style function declarations.
60075         Don't bother checking for MB_LEN_MAX == 1, since the compiler
60076         can optimize it when MB_CUR_MAX == 1.
60077         The width of control characters is zero, not 1.
60078
60079 2001-08-03  Paul Eggert  <eggert@twinsun.com>
60080
60081         The following changes are from gettext 0.10.39 as maintained by
60082         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
60083
60084         * m4/codeset.m4: Upgrade to serial AM1.
60085         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
60086         all uses changed.  Quote first arg of AC_DEFUN.
60087         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
60088
60089         * m4/iconv.m4: Upgrade to serial AM2.
60090         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
60091         Add --with-libconv-prefix.
60092         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
60093         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
60094         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
60095         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
60096         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
60097
60098         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
60099         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
60100         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
60101         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
60102         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
60103         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
60104         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
60105         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
60106         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
60107
60108         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
60109         string.h any more.
60110
60111         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
60112         not the default value.
60113
60114         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
60115         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
60116         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
60117         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
60118         Also check for iswcntrl, used for wcwidth fallback.
60119         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
60120         to Autoconf 2.13.
60121
60122 2001-08-03  Jim Meyering  <meyering@lucent.com>
60123
60124         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
60125         as it was in the original.  Reported by Paul Eggert.
60126
60127 2001-07-16  Jim Meyering  <meyering@lucent.com>
60128
60129         * m4/gettimeofday.m4: New file.
60130         Prompted by a report from Bernhard Baehr.
60131
60132 2001-07-15  Jim Meyering  <meyering@lucent.com>
60133
60134         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
60135         stuff. Now it's in ../Makefile.cfg.
60136
60137 2001-07-15  Jim Meyering  <meyering@lucent.com>
60138
60139         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
60140         (BUILT_SOURCES): Add unlocked-io.h.
60141         (io_functions): Define.
60142         (unlocked-io.h): New rule.
60143         (DISTCLEANFILES): Add unlocked-io.h.
60144         (all-local): Depend on unlocked-io.h, to ensure it is created.
60145
60146         * lib/unlocked-io.hin: New file
60147
60148         * lib/regex.c: Update from glibc.
60149
60150 2001-07-05  Jim Meyering  <meyering@lucent.com>
60151
60152         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
60153         recommendation.
60154         (libfetish_a_SOURCES): Put all .h files here instead.
60155         Remove a thus-exposed (better checks in automake) duplicate and
60156         two unnecessary .h files.
60157
60158 2001-07-04  Jim Meyering  <meyering@lucent.com>
60159
60160         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
60161         that generates jm-glibc-io.m4 so that it doesn't trigger any make
60162         distcheck failure.
60163
60164 2001-07-02  Jim Meyering  <meyering@lucent.com>
60165
60166         The following changes were prompted by suggestions from Bruno Haible.
60167
60168         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
60169         is now generated.
60170         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
60171         definition of EXTRA_DIST.
60172         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
60173         ensure that the generated file is created/updated whenever the list
60174         of $(unlocked_functions) is changed.
60175         (jm-glibc-io.m4): New rule.
60176         (unlocked-io.h): New rule -- currently unused.
60177
60178 2001-06-24  Jim Meyering  <meyering@lucent.com>
60179
60180         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
60181         unmatched right bracket, rather than kludging it with an extra,
60182         falsely-matching quote in a comment.  Patch by Akim Demaille.
60183
60184 2001-06-11  Jim Meyering  <meyering@lucent.com>
60185
60186         * lib/regex.c: Update from GNU libc.
60187
60188 2001-05-27  Jim Meyering  <meyering@lucent.com>
60189
60190         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
60191         Check for ut_type in struct utmp.
60192
60193 2001-05-27  Jim Meyering  <meyering@lucent.com>
60194
60195         * lib/readutmp.h (UT_TYPE): Define.
60196
60197 2001-05-24  Jim Meyering  <meyering@lucent.com>
60198
60199         * lib/argmatch.c: Include "quote.h".
60200         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
60201         quote function.  Reported by Göran Uddeborg.
60202
60203 2001-05-22  Jim Meyering  <meyering@lucent.com>
60204
60205         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
60206         now that we use the package-supplied version unconditionally.
60207         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
60208
60209 2001-05-21  Jim Meyering  <meyering@lucent.com>
60210
60211         * m4/regex.m4: Change a couple backticks to single quotes to avoid
60212         shell syntax errors.
60213
60214 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
60215
60216         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
60217
60218 2001-05-20  Paul Eggert  <eggert@twinsun.com>
60219
60220         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
60221         Don't bother to check library strftime, since
60222         we'll be using our own my_strftime function anyway.
60223         Define my_strftime instead of strftime.
60224
60225 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
60226
60227         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
60228         which is not yet declared.
60229
60230 2001-05-15  Jim Meyering  <meyering@lucent.com>
60231
60232         * m4/regex.m4: Use proper quoting so brackets appear in the test
60233         program.
60234         Reported by, and with help from, Bruno Haible.
60235
60236 2001-05-13  Jim Meyering  <meyering@lucent.com>
60237
60238         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
60239         undefined.
60240
60241 2001-05-11  Paul Eggert  <eggert@twinsun.com>
60242
60243         dirname code cleanup.  base_name now behaves more compatibly
60244         with POSIX basename when given file names that have trailing
60245         slashes, and similarly for dir_name.  Add new primitives
60246         base_len and dir_len.  Put the directory-name-related decls
60247         into dirname.h.
60248
60249         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
60250         * lib/backupfile.c (base_name): Likewise.
60251         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
60252         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
60253         * lib/makepath.c (strip_trailing_slashes): Likewise.
60254         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
60255         ISSLASH): Likewise.
60256         * lib/rename.c (strip_trailing_slashes): Likewise.
60257         * lib/same.c (base_name): Likewise.
60258         * lib/stripslash.c (ISSLASH): Likewise.
60259
60260         * lib/addext.c: Include <dirname.h> after size_t is defined.
60261         * lib/backupfile.c: Likewise.
60262
60263         * lib/addext.c (addext): Use base_len to trim redundant
60264         trailing slashes instead of doing it ourselves.
60265         But do not trim the last slash if it is not redundant.
60266
60267         * lib/backupfile.c (find_backup_file_name,
60268         max_backup_version): Use base_len instead of rolling it ourselves.
60269         Handle the case of "" and (on DOS) "C:" correctly.
60270
60271         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
60272         needed. Include <string.h>, <dirname.h>.
60273         (base_name): Allow file names ending in slashes, other than names
60274         that are all slashes.  In this case, return the basename followed
60275         by the slashes.  This is more general, and can be used in places
60276         where the original base_name purposely had an assertion failure.
60277         (base_len): New function.
60278
60279         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
60280         Do not include <assert.h>; no longer needed.
60281         Include xalloc.h.
60282         (memrchr): Remove decl.
60283         (dir_name_r): Remove.
60284         (dir_len): Renamed from dirlen.  All callers changed.
60285         Rewrite in terms of base_name, for simplicity and consistency.
60286         (dir_name): Never return NULL.  All callers changed.
60287         Do not include <stdlib.h> in test program; no longer needed.
60288         return 0; is fine for test program.
60289
60290         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
60291         New macros.
60292         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
60293
60294         * lib/path-concat.c (path_concat): Use base_len to compute
60295         base length, not strlen; this means we cannot rely on memcpy
60296         to null-terminate.
60297
60298         * lib/same.c (STREQ): Remove.
60299         (same_name): Handle the case where the basename ends in trailing '/'.
60300
60301         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
60302         a slash was stripped.  Do not strip the last slash after a
60303         file system prefix.
60304
60305 2001-05-11  Paul Eggert  <eggert@twinsun.com>
60306
60307         * lib/Makefile.am (libfetish_a_SOURCES):
60308         Add strftime.c, since we now compile it on all hosts.
60309
60310         * lib/strftime.c (my_strftime):
60311         Define to nstrftime if emacs, but only if my_strftime is not defined.
60312         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
60313         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
60314         Add one more extra argument: a nanoseconds value.
60315         All uses changed.
60316         (ns): New macro.
60317         (my_strftime function): Add %N format.
60318         (emacs_strftimeu): Renamed from emacs_strftime,
60319         with extra ut argument.
60320
60321 2001-05-09  Paul Eggert  <eggert@twinsun.com>
60322
60323         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
60324
60325 2001-04-21  Jim Meyering  <meyering@lucent.com>
60326
60327         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
60328         doesn't interfere.
60329
60330 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
60331
60332         * m4/ftruncate.m4: Check for chsize.
60333         Link with ftruncate.o unconditionally if ftruncate is missing.
60334         This was required when cross-compiling to i586-mingw32msvc.
60335
60336 2001-04-08  Jim Meyering  <meyering@lucent.com>
60337
60338         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
60339         recomputed; that's necessary when the offset spans a DST transition.
60340         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
60341
60342 2001-04-02  Jim Meyering  <meyering@lucent.com>
60343
60344         * lib/regex.h, regex.c: Update from GNU libc.
60345
60346 2001-03-24  Jim Meyering  <meyering@lucent.com>
60347
60348         * m4/jm-macros.m4: Require autoconf-2.49d.
60349
60350 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
60351
60352         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
60353
60354 2001-03-19  Paul Eggert  <eggert@twinsun.com>
60355
60356         * lib/version-etc.c (version_etc_copyright): Update to 2001.
60357
60358 2001-03-17  Jim Meyering  <meyering@lucent.com>
60359
60360         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
60361         now that the version in autoconf is equivalent.
60362         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
60363
60364         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
60365         Suggestion from Akim Demaille.
60366
60367         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
60368         (jm_PREREQ_TEMPNAME): New function.
60369
60370 2001-03-16  Paul Eggert  <eggert@twinsun.com>
60371
60372         * lib/tempname.c (uint64_t): Define to uintmax_t if
60373         not defined, and if UINT64_MAX is not defined.
60374         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
60375         Reported by John David Anglin.
60376
60377 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
60378
60379         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
60380         resolve alias if codeset is empty.
60381         * lib/config.charset (BeOS): Use wildcard syntax.
60382
60383 2001-03-13  Jim Meyering  <meyering@lucent.com>
60384
60385         * lib/path-concat.c (path_concat)
60386         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
60387         concatenating e.g., `C:' and `foo'.
60388         From Bruno Haible.
60389
60390 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
60391
60392         * lib/localcharset.c (locale_charset): Don't use
60393         setlocale(LC_CTYPE,NULL). Don't return NULL.
60394         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
60395
60396 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
60397
60398         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
60399         support for DOS/DJGPP.
60400
60401 2001-03-01  Paul Eggert  <eggert@twinsun.com>
60402
60403         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
60404         lacks mkstemp.  Compile our own tempname.c if we compile our own
60405         mkstemp.c, as mkstemp relies on tempname.
60406
60407 2001-03-01  Jim Meyering  <meyering@lucent.com>
60408
60409         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
60410         AH_VERBATIM really does output its argument verbatim.
60411
60412 2001-02-28  Paul Eggert  <eggert@twinsun.com>
60413
60414         * lib/Makefile.am (libfetish_a_SOURCES):
60415         Add dup-safer.c, fopen-safer.c.
60416         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
60417
60418         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
60419         * lib/unistd-safer.h: New files.
60420
60421 2001-02-25  Paul Eggert  <eggert@twinsun.com>
60422
60423         The mkstemp replacement is taken from glibc 2.2.2, with some
60424         portability fixes for use outside glibc, as follows:
60425
60426         * lib/tempname.c (struct_stat64): New macro.
60427         (direxists, __gen_tempname): Use it.
60428         This avoids a portability problem with Solaris 8.
60429
60430         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
60431         (<stddef.h>, <stdint.h>, <string.h>):
60432         Include only if STDC_HEADERS || _LIBC.
60433         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
60434         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
60435         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
60436         (__set_errno): Define this macro if <errno.h> doesn't.
60437         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
60438         Define these macros if <stdio.h> doesn't.
60439         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
60440         Define these macros if <sys/stat.h>
60441         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
60442         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
60443         __xstat64): Define if not _LIBC.
60444         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
60445         (__gen_tempname): Invoke gettimeofday only if
60446         HAVE_GETTIMEOFDAY || _LIBC;
60447         otherwise, fall back on plain "time".
60448         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
60449
60450         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
60451
60452         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
60453
60454 2001-02-18  Paul Eggert  <eggert@twinsun.com>
60455
60456         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
60457
60458 2001-02-17  Paul Eggert  <eggert@twinsun.com>
60459
60460         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
60461         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
60462         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
60463         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
60464
60465 2001-02-17  Paul Eggert  <eggert@twinsun.com>
60466
60467         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
60468         Remove workaround macros for hosts that have mbrtowc but not
60469         mbstate_t, as we now insist on proper declarations for both
60470         before using mbrtowc.
60471
60472 2001-02-17  Jim Meyering  <meyering@lucent.com>
60473
60474         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
60475         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
60476         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
60477         UnixWare 7.1.1.
60478
60479         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
60480         rather than AC_CACHE_VAL.
60481
60482 2001-02-17  Jim Meyering  <meyering@lucent.com>
60483
60484         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
60485         around included file name.
60486
60487         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
60488
60489         * lib/strftime.c: Update from GNU libc (the only changes were to
60490         comments).
60491
60492 2001-02-17  Jim Meyering  <meyering@lucent.com>
60493
60494         * lib/regex.c: Update from libc.
60495
60496 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
60497
60498         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
60499         clash.
60500
60501 2001-02-16  Paul Eggert  <eggert@twinsun.com>
60502
60503         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
60504         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
60505         Reported by Mark Hounschell via Paul Eggert.
60506
60507 2001-02-07  Jim Meyering  <meyering@lucent.com>
60508
60509         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
60510
60511 2001-02-05  Jim Meyering  <meyering@lucent.com>
60512
60513         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
60514         it includes the patch required for `large file' support with at least
60515         HP-UX's 10.20 /bin/cc.
60516
60517 2001-02-03  Jim Meyering  <meyering@lucent.com>
60518
60519         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
60520         AS_IF, now that it works once again (mysteriously).
60521         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
60522
60523 2001-01-30  Jim Meyering  <meyering@lucent.com>
60524
60525         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
60526         * m4/chown.m4: Rename conftestchown to conftest.chown.
60527         * m4/rename.m4: s/conftestdir/conftest.d1/ and
60528         s/conftestdir2/conftest.d2/.
60529         * m4/utimes.m4: s/conftestdata/conftest.data/
60530         Inspired by Pavel Roskin's change in autoconf.
60531
60532 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
60533
60534         * lib/config.charset: Update for FreeBSD 4.2.
60535
60536 2001-01-27  Jim Meyering  <meyering@lucent.com>
60537
60538         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
60539         a use of AS_IF.
60540         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
60541
60542 2001-01-26  Jim Meyering  <meyering@lucent.com>
60543
60544         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
60545         quotearg.c includes it.
60546
60547 2001-01-26  Jim Meyering  <meyering@lucent.com>
60548
60549         * lib/quotearg.c: Include stddef.h.
60550         * lib/quote.c: Include stddef.h.
60551         Reported by Axel Kittenberger.
60552
60553         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
60554         line in double quotes so that it evokes a better diagnostic.
60555         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
60556         Reported by Axel Kittenberger.
60557
60558 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
60559
60560         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
60561         as if it was a `charset'.
60562
60563 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
60564
60565         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
60566         has const.
60567
60568 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
60569
60570         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
60571         to avoid a warning.  Add back 'const' to inptr.
60572
60573 2001-01-20  Jim Meyering  <meyering@lucent.com>
60574
60575         Be sure that headers are checked before used in code compiled
60576         for the type checks.
60577         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
60578         In place of that, invoke jm_CHECK_ALL_TYPES.
60579         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
60580         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
60581         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
60582         The check for ssize_t was mistakenly run before the test for unistd.h.
60583
60584         The configure-time check for stdbool.h was missing.
60585         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
60586         (jm_PREREQ_HASH): New function.
60587
60588 2001-01-17  Jim Meyering  <meyering@lucent.com>
60589
60590         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
60591         for autoconf-2.49c.
60592         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
60593
60594 2001-01-16  Jim Meyering  <meyering@lucent.com>
60595
60596         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
60597         From Bruno Haible.
60598
60599 2001-01-14  Jim Meyering  <meyering@lucent.com>
60600
60601         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
60602         foo and bar.  Create conftestdir/ in the script, not in the C code.
60603         Remove directories in the script, not in the C code.
60604         Remove conftestdir{,2} before trying to create the directory.
60605         Make the entire configure script fail if the mkdir fails.
60606
60607 2001-01-14  Jim Meyering  <meyering@lucent.com>
60608
60609         * lib/rename.c: New file.  From Volker Borchert.
60610         Include stdlib.h, string.h or strings.h, and xalloc.h.
60611         Use strip_trailing_slashes rather than open-coding it.
60612
60613 2001-01-03  Paul Eggert  <eggert@twinsun.com>
60614
60615         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
60616
60617 2001-01-03  Jim Meyering  <meyering@lucent.com>
60618
60619         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
60620         of local `inptr' to avoid warning with some system declarations of
60621         iconv.
60622
60623 2001-01-02  Volker Borchert  <bt@teknon.de>
60624
60625         * m4/rename.m4: New file.
60626         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
60627
60628 2001-01-01  Jim Meyering  <meyering@lucent.com>
60629
60630         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
60631         even on systems with utmpx.h.  It's necessary for the declaration of
60632         utmp's ut_user member.  Reported by Andreas Jaeger.
60633
60634         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
60635         available. They are required for the declarations of getgrgid and
60636         getpwuid resp.
60637         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
60638         Reported by Andreas Jaeger.
60639
60640 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
60641
60642         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
60643         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
60644         so `make install' also works in VPATH builds.
60645
60646 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
60647
60648         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
60649         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
60650         can be used in subdirectories.
60651
60652 2000-12-29  Paul Eggert  <eggert@twinsun.com>
60653
60654         * lib/modechange.c: Do not assume that mode_t uses the
60655         traditional octal encoding.  E.g. "chmod 1 FOO" should set
60656         the other-execute bit of FOO even if S_IXOTH != 1.
60657
60658         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
60659         WOTH, XOTH, ALLM): New macros.
60660         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
60661          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
60662         Use them.
60663         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
60664         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
60665         (mode_compile):
60666         No need to use uintmax_t; unsigned long is long enough.
60667         Don't bother to get suffix since we don't use it.
60668
60669 2000-12-26  Jim Meyering  <meyering@lucent.com>
60670
60671         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
60672         better with autoheader.
60673
60674 2000-12-24  Jim Meyering  <meyering@lucent.com>
60675
60676         * lib/hash.c (is_prime): Return explicit boolean values.
60677         (hash_get_first): Return NULL to appease Irix5.6's 89.
60678         Reported by Nelson Beebe.
60679
60680 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
60681
60682         * lib/localcharset.c (locale_charset): Add support for Win32.
60683
60684 2000-12-18  Paul Eggert  <eggert@twinsun.com>
60685
60686         * lib/physmem.h, lib/physmem.c: New files.
60687
60688         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
60689         (noinst_HEADERS): Add physmem.h.
60690
60691         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
60692         't' for compatibility with Solaris 8 sort.
60693
60694 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
60695
60696         * lib/config.charset: Add support for BeOS.
60697
60698 2000-12-17  Jim Meyering  <meyering@lucent.com>
60699
60700         * m4/dos.m4 (jm_AC_DOS): New file and macro.
60701         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
60702
60703 2000-12-16  Jim Meyering  <meyering@lucent.com>
60704
60705         This bug had a serious impact on chown: `chown N:M FILE' (for integer
60706         N and M) would have treated it like `chown N:N FILE'.
60707
60708         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
60709
60710 2000-12-16  Jim Meyering  <meyering@lucent.com>
60711
60712         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
60713         SHELLS_FILE to a file name that's useful on djgpp systems.
60714         Include stdlib.h.
60715         (ADDITIONAL_DEFAULT_SHELLS): Define.
60716         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
60717         Based mostly on a patch from Prashant TR.
60718
60719 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
60720
60721         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
60722         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
60723         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
60724
60725 2000-12-08  Andreas Schwab  <schwab@suse.de>
60726
60727         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
60728         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
60729
60730 2000-12-07  Jim Meyering  <meyering@lucent.com>
60731
60732         * lib/stripslash.c (ISSLASH): Define.
60733         (strip_trailing_slashes): Use ISSLASH rather than comparing against
60734         `/'.
60735         From Prashant TR.
60736
60737         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
60738         (dir_name_r): Declare this function as static.
60739         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
60740         manifest itself on a name containing a mix of slashes and
60741         backslashes.
60742         Make this function work with names starting with a DOS-style
60743         drive letter and colon prefix.
60744         (dir_name): Append `.' if necessary.
60745         Based mostly on patches from Prashant TR and Eli Zaretskii.
60746
60747         * lib/dirname.h (dir_name_r): Remove prototype.
60748
60749 2000-12-06  Paul Eggert  <eggert@twinsun.com>
60750
60751         * m4/off_t-format.m4: Remove this file.
60752         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
60753
60754 2000-12-06  Jim Meyering  <meyering@lucent.com>
60755
60756         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
60757         replacement strtoull, we may well need the replacement strtoul, too.
60758         Check for declarations of strtoul and strtoull.
60759         Check for strtol.  Mainly as a cue to cause automake to include
60760         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
60761         Check for limits.h -- strtol.c needs it.
60762
60763 2000-12-05  Jim Meyering  <meyering@lucent.com>
60764
60765         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
60766
60767 2000-12-04  Jim Meyering  <meyering@lucent.com>
60768
60769         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
60770         Also include memory.h, stdlib.h, unistd.h if appropriate.
60771         Reported by Andreas Jaeger (conflicting declaration of malloc).
60772
60773 2000-12-02  Jim Meyering  <meyering@lucent.com>
60774
60775         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
60776         * m4/jm-macros.m4 (jm_MACROS): require it.
60777
60778 2000-12-02  Jim Meyering  <meyering@lucent.com>
60779
60780         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
60781
60782 2000-12-01  Paul Eggert  <eggert@twinsun.com>
60783
60784         * lib/memrchr.c: Include <config.h> before any system include file.
60785
60786 2000-11-30  Jim Meyering  <meyering@lucent.com>
60787
60788         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
60789
60790 2000-11-30  Jim Meyering  <meyering@lucent.com>
60791
60792         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
60793
60794 2000-11-29  Paul Eggert  <eggert@twinsun.com>
60795
60796         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
60797
60798 2000-11-26  Jim Meyering  <meyering@lucent.com>
60799
60800         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
60801
60802 2000-11-22  Paul Eggert  <eggert@twinsun.com>
60803
60804         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
60805         size of (size_t) -1; it's not portable.
60806
60807 2000-11-17  Jim Meyering  <meyering@lucent.com>
60808
60809         * lib/strstr.c: Update from GNU libc.
60810
60811 2000-11-17  Akim Demaille  <akim@epita.fr>
60812
60813         * lib/obstack.h: Formatting changes.
60814         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
60815         prevent type checking.
60816         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
60817         cast the value to (void *): assigning a `foo *' to a `void *'
60818         variable is valid.
60819         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
60820
60821 2000-11-16  Jim Meyering  <meyering@lucent.com>
60822
60823         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
60824
60825 2000-11-11  Jim Meyering  <meyering@lucent.com>
60826
60827         * lib/error.c: Add a couple #includes, merging from GNU libc version.
60828
60829 2000-11-10  Jim Meyering  <meyering@lucent.com>
60830
60831         * lib/obstack.h: Update from GNU libc.
60832         * lib/obstack.c: Likewise.
60833
60834 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
60835
60836         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
60837
60838 2000-11-06  Paul Eggert  <eggert@twinsun.com>
60839
60840         * lib/getusershell.c (setusershell): Use rewind rather than
60841         fseek/fseeko, to avoid configuration hassles with fseeko.
60842         Don't bother opening SHELLS_FILE if shellstream is NULL;
60843         it's not necessary.
60844
60845 2000-11-05  Jim Meyering  <meyering@lucent.com>
60846
60847         * lib/makepath.h (make_dir): Declare.
60848         * lib/makepath.c (make_dir): Remove `static' attribute.
60849         Tweak a comment.
60850
60851 2000-11-04  Jim Meyering  <meyering@lucent.com>
60852
60853         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
60854
60855 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
60856
60857         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
60858         last one in a bucket, advance to the next bucket.
60859
60860 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
60861
60862         * lib/fnmatch.c: Do not comment out all the code if we are using
60863         the GNU C library, because in some cases we are replacing buggy
60864         code in the GNU C library itself.
60865
60866 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
60867
60868         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
60869         (regex_compile): Catch bogus \(\1\).
60870
60871 2000-10-30  Paul Eggert  <eggert@twinsun.com>
60872
60873         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
60874         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
60875         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
60876
60877 2000-10-30  Paul Eggert  <eggert@twinsun.com>
60878
60879         * lib/error.h, getline.h, modechange.h:
60880         Remove "2000" from Copyright line, as the file hasn't been
60881         changed this year other than in the copyright notice.
60882
60883         * lib/xalloc.h: Add "2000" to Copyright line, as this file
60884         was changed this year.
60885
60886 2000-10-29  Jim Meyering  <meyering@lucent.com>
60887
60888         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
60889         renaming.
60890         * m4/ls-mntd-fs.m4: Likewise
60891
60892 2000-10-29  Jim Meyering  <meyering@lucent.com>
60893
60894         * lib/xstat.in: Fix grammar in comment.
60895
60896 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
60897
60898         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
60899         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
60900         doesn't define __restrict_arr.
60901
60902 2000-10-28  Jim Meyering  <meyering@lucent.com>
60903
60904         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
60905         (jm_PREREQ_MEMCHR): New function.
60906
60907 2000-10-28  Jim Meyering  <meyering@lucent.com>
60908
60909         * lib/memchr.c: Update from libc.
60910         Adjust for portability:
60911         [HAVE_STDLIB_H]: Include stdlib.h.
60912         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
60913         Undef __memchr, too.
60914         [!weak_alias]: Define __memchr to memchr.
60915
60916         * lib/regex.c: Update from libc.
60917         * lib/regex.h: Likewise.
60918         * lib/getopt1.c: Likewise.
60919         * lib/memcmp.c: Likewise.
60920
60921         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
60922         Avoid using fseek, when possible -- it's broken by design.
60923         Patch by Ulrich Drepper.
60924
60925 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
60926
60927         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
60928         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
60929         Giving in to popular pressure to shut up the compiler with casts.
60930
60931 2000-10-26  Jim Meyering  <meyering@lucent.com>
60932
60933         * lib/strftime.c: Update from libc.
60934
60935 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
60936
60937         * regex.c: More `unsigned char' -> `re_char' changes.
60938         Also change several `int' into `re_wchar_t'.
60939         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
60940         (PUSH_FAILURE_POINTER): Don't cast any more.
60941         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
60942         We want GCC to complain, since this piece of code makes
60943         re_match non-reentrant, which *should* be fixed.
60944         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
60945         (EXTEND_BUFFER): Use RETALLOC.
60946         (SET_LIST_BIT): Don't cast.
60947         (re_wchar_t): New type.
60948         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
60949         that those two functions will always properly return.
60950         (IMMEDIATE_QUIT_CHECK): Cast to void.
60951         (analyse_first): Use recursion rather than an explicit stack.
60952         (re_compile_fastmap): Can't fail anymore.
60953         (re_search_2): Don't check re_compile_fastmap for failure.
60954         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
60955         Now also sets the new value (passed in a new argument).
60956         (re_match_2_internal): Use it.
60957         Also, use a new var `reg' of type size_t when looping through regs
60958         rather than reuse the inappropriate `mcnt'.
60959
60960 2000-10-25  Jim Meyering  <meyering@lucent.com>
60961
60962         * lib/obstack.c: Update from libc.
60963
60964 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
60965
60966         * regex.c (regex_compile): Change the way of handling a range from
60967         a char less than 256 to a char not less than 256.
60968
60969 2000-10-24  Andrew Innes  <andrewi@gnu.org>
60970
60971         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
60972         NT-Emacs only.
60973         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
60974         so that re_search functions only quit when callers expect them to.
60975
60976 2000-10-23  Jim Meyering  <meyering@lucent.com>
60977
60978         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
60979         wrong.  That set_locale call must not have any side effects.
60980         From Paul Eggert.
60981
60982 2000-10-22  Jim Meyering  <meyering@lucent.com>
60983
60984         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
60985         [CYCLIC]: Remove now-unused definition.
60986
60987         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
60988         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
60989         Suggestion from Ulrich Drepper.
60990
60991 2000-10-21  Jim Meyering  <meyering@lucent.com>
60992
60993         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
60994         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
60995         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
60996
60997 2000-10-21  Jim Meyering  <meyering@lucent.com>
60998
60999         * lib/dirname.c (memrchr): Declare if necessary.
61000         (dir_name): Remove the restriction that there be no
61001         trailing slashes.  Now, this code skips past them, effectively
61002         ignoring them.
61003         [TEST_DIRNAME] (main): New unit tests.
61004
61005         * lib/memrchr.c: New file from GNU libc.
61006         Undef __memrchr, too.
61007         [!weak_alias]: Define __memrchr to memrchr.
61008         Guard weak_alias use with `#ifdef weak_alias'.
61009
61010 2000-10-21  Jim Meyering  <meyering@lucent.com>
61011
61012         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
61013         (dir_name): Use dir_name_r.
61014         * lib/dirname.h (dir_name_r): Declare it.
61015
61016 2000-10-17  Jim Meyering  <meyering@lucent.com>
61017
61018         * lib/quote.h (PARAMS): Define and use.
61019         Reported by Akim Demaille.
61020
61021         * lib/getopt.c: Update from libc.
61022
61023 2000-10-16  Jim Meyering  <meyering@lucent.com>
61024
61025         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
61026         setlocale.
61027         From Jan Fedak.
61028
61029 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
61030
61031         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
61032
61033 2000-09-25  Jim Meyering  <meyering@lucent.com>
61034
61035         * lib/md5.h (rol): Define (from GnuPG).
61036
61037         * lib/sha.c: Give credit (GnuPG) where due.
61038         (M): Use rol rather than open-coding it.
61039         Add a FIXME comment.
61040
61041 2000-09-21  Jim Meyering  <meyering@lucent.com>
61042
61043         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
61044         Reported by Michael Stone.
61045
61046 2000-09-20  Jim Meyering  <meyering@lucent.com>
61047
61048         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
61049         (noinst_HEADERS): Add sha.h.
61050         Based on code from Scott G. Miller and from GnuPG.
61051
61052 2000-09-18  Jim Meyering  <meyering@lucent.com>
61053
61054         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
61055         LIBS. Otherwise, everyone ends up linking with -lelf for some
61056         configurations.
61057         Reported by Mike Stone.
61058
61059 2000-09-15  Jim Meyering  <meyering@lucent.com>
61060
61061         * lib/regex.c: Update from libc.
61062
61063 2000-09-10  Jim Meyering  <meyering@lucent.com>
61064
61065         * lib/getopt.c (_getopt_internal): Update from glibc.
61066
61067 2000-09-09  Jim Meyering  <meyering@lucent.com>
61068
61069         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
61070         think it should be used as a general replacement for isascii.
61071         * lib/fnmatch.c: Likewise.
61072         * lib/mbswidth.c: Likewise
61073         * lib/regex.c: Likewise.
61074
61075         Don't use atoi.
61076         * lib/userspec.c: Include sys/param.h and limits.h.
61077         Include xstrtol.h.
61078         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
61079         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
61080         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
61081         UID, GID.  Check range.
61082
61083 2000-09-06  Jim Meyering  <meyering@lucent.com>
61084
61085         * lib/getopt.c (_getopt_internal): Update from glibc.
61086
61087 2000-08-30  Jim Meyering  <meyering@lucent.com>
61088
61089         * lib/strftime.c: Merge in changes from GNU libc.
61090
61091 2000-08-26  Jim Meyering  <meyering@lucent.com>
61092
61093         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
61094         * m4/fpending.m4: New file.
61095
61096 2000-08-26  Jim Meyering  <meyering@lucent.com>
61097
61098         * lib/closeout.c: Include "__fpending.h".
61099         (close_stdout_status): Return right away if there's nothing to flush.
61100
61101         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
61102         * lib/__fpending.c: New file.
61103         * lib/__fpending.h: New file.
61104
61105 2000-08-20  Jim Meyering  <meyering@lucent.com>
61106
61107         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
61108         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
61109         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
61110
61111 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
61112
61113         Improve fileutils installation on systems where running
61114         programs (like install) can't be unlinked.
61115         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
61116         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
61117
61118 2000-08-07  Paul Eggert  <eggert@twinsun.com>
61119
61120         Standardize on "memory exhausted" instead of "Memory exhausted"
61121         or "virtual memory exhausted".
61122         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
61123         "virtual memory exhausted".
61124         * lib/same.c (same_name): Invoke xalloc_die instead of printing
61125         our own message.
61126         * lib/userspec.c (parse_user_spec): Likewise.
61127         * lib/bumpalloc.h: comment fix
61128         * lib/same.c, userspec.c: Include xalloc.h.
61129
61130         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
61131         not char *const and pointing to a constant array.
61132         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
61133         (xrealloc): Comment fix.
61134
61135         * lib/userspec.c (parse_user_spec):
61136         Don't translate a message until just before returning,
61137         to avoid unnecessary translation.
61138
61139 2000-08-07  Jim Meyering  <meyering@lucent.com>
61140
61141         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
61142         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
61143         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
61144         getgroups.c, gethostname.c, getopt.h, group-member.c,
61145         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
61146         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
61147         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
61148         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
61149         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
61150         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
61151         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
61152         yesno.c: Back out Copyright date changes for each file with no change
61153         this year.  This eases coordination with other programs using the same
61154         source code modules.  From Paul Eggert.
61155
61156 2000-08-06  Paul Eggert  <eggert@twinsun.com>
61157
61158         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
61159         not char, for compatibility with glibc 2.1.3 strftime.c.
61160
61161 2000-08-03  Greg McGary  <greg@mcgary.org>
61162
61163         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
61164         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
61165         (EXTEND_BUFFER): Use them.
61166
61167 2000-08-01  Jim Meyering  <meyering@lucent.com>
61168
61169         * lib/dirname.c (ISSLASH): Define.
61170         (BACKSLASH_IS_PATH_SEPARATOR): Define.
61171         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
61172         both `\' and `/' may be use as path separators.
61173         Based on a patch from Prashant TR.
61174
61175 2000-07-31  Paul Eggert  <eggert@twinsun.com>
61176
61177         * lib/quotearg.c (quotearg_n_options): Don't make the initial
61178         slot vector a constant, since it might get modified.
61179
61180 2000-07-31  Jim Meyering  <meyering@lucent.com>
61181
61182         * lib/xmalloc.c: Use `virtual memory exhausted', not
61183         `Memory exhausted'.
61184         * lib/obstack.c (print_and_abort): Likewise.
61185
61186 2000-07-30  Paul Eggert  <eggert@twinsun.com>
61187
61188         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
61189         buffer, so that the caller can always quote one small
61190         component of a "memory exhausted" message in slot 0.
61191         From a suggestion by Jim Meyering.
61192
61193 2000-07-30  Jim Meyering  <meyering@lucent.com>
61194
61195         * lib/makepath.c (make_path): Quote the other instance, too.
61196
61197         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
61198         (STATIC_BUF_SIZE): Define.
61199         (quotearg_n_options): Use only statically allocated storage when
61200         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
61201         than STATIC_BUF_SIZE.
61202
61203 2000-07-29  Jim Meyering  <meyering@lucent.com>
61204
61205         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
61206         * lib/dirname.c (dir_name): Likewise.
61207
61208         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
61209         `/'.
61210
61211         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
61212         (dir_name): Assert that there are no trailing slashes.
61213
61214 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
61215
61216         * lib/mbswidth.h (mbswidth): Add a flags argument.
61217         (mbswidth): New declaration.
61218         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
61219         * lib/mbswidth.c (mbswidth): Add a flags argument.
61220         (mbsnwidth): New function.
61221
61222 2000-07-24  Jim Meyering  <meyering@lucent.com>
61223
61224         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
61225
61226 2000-07-23  Paul Eggert  <eggert@twinsun.com>
61227
61228         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
61229
61230 2000-07-23  Paul Eggert  <eggert@twinsun.com>
61231
61232         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
61233         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
61234         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
61235         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
61236         invoke multibyte primitives.
61237
61238 2000-07-23  Paul Eggert  <eggert@twinsun.com>
61239
61240         * lib/quotearg.c:
61241         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
61242         so that mbstate_t is always defined.
61243
61244         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
61245         be 1 in at least one GCC installation, and this configuration
61246         error is likely to be common.  Ignoring MB_LEN_MAX hurts
61247         performance on hosts that have mbrtowc but have only unibyte
61248         locales, but I assume these hosts are rare.
61249
61250 2000-07-23  Paul Eggert  <eggert@twinsun.com>
61251
61252         * lib/mbswidth.c (_XOPEN_SOURCE):
61253         Don't define; this causes problems on Solaris 7.
61254         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
61255
61256 2000-07-23  Jim Meyering  <meyering@lucent.com>
61257
61258         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
61259         too: getgrgid, getpwuid, getuid.
61260
61261 2000-07-23  Jim Meyering  <meyering@lucent.com>
61262
61263         * lib/basename.c (base_name): Add an assertion.
61264
61265 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
61266
61267         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
61268         shadow its mbsinit function.
61269
61270 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
61271
61272         * lib/mbswidth.h: New file.
61273         * lib/mbswidth.c: New file.
61274         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
61275         (noinst_HEADERS): Add mbswidth.h.
61276
61277 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
61278
61279         * lib/config.charset: Add support for FreeBSD. Improve support for
61280         HP-UX and IRIX 6.
61281
61282 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
61283
61284         * m4/mbswidth.m4: New file.
61285         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
61286
61287 2000-07-15  Jim Meyering  <meyering@lucent.com>
61288
61289         * lib/makepath.c: Include quote.h.
61290         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
61291         corresponding argument in a `quote (...)' call.
61292         Give better diagnostics.
61293
61294         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
61295         (noinst_HEADERS): Add quote.h.
61296
61297         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
61298         from tar's src/misc.c.
61299         * lib/quote.h: New file.  Prototypes for same.
61300
61301 2000-07-14  Paul Eggert  <eggert@twinsun.com>
61302
61303         From a suggestion by Bruno Haible.
61304         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
61305         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
61306         to decide whether to define the BeOS workaround macro;
61307         this adjusts to the change to AC_MBSTATE_T.
61308
61309 2000-07-14  Jim Meyering  <meyering@lucent.com>
61310
61311         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
61312         jm_AC_TYPE_UINTMAX_T.
61313
61314 2000-07-13  Paul Eggert  <eggert@twinsun.com>
61315
61316         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
61317
61318         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
61319         quotearg_buffer_restyled): Add support for
61320         clocale_quoting_style.  Undo previous change to
61321         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
61322         and "{RIGHT QUOTATION MARK}" msgids.
61323
61324 2000-07-10  Paul Eggert  <eggert@twinsun.com>
61325
61326         From a suggestion by Bruno Haible.
61327         * m4/mbstate_t.m4 (AC_MBSTATE_T):
61328         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
61329         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
61330         and mbstate_t, to a single-part test that simply defines mbstate_t.
61331         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
61332         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
61333
61334 2000-07-10  Jim Meyering  <meyering@lucent.com>
61335
61336         * m4/strerror_r.m4: Mirror the correction made in autoconf.
61337
61338         * m4/gnu-source.m4: Output to confdefs.h directly.
61339         Suggestion from Akim Demaille.
61340
61341 2000-07-09  Paul Eggert  <eggert@twinsun.com>
61342
61343         The old behavior of quoting `like this' doesn't look good with
61344         newer, ISO-style fonts.  See:
61345         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
61346
61347         Instead, quote "like this" by default.  Let the translator
61348         tailor the locale-specific quoting behavior by providing
61349         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
61350
61351         * lib/quotearg.c (N_): New macro.
61352         (gettext_default): New function.
61353         (quotearg_buffer_restyled): Use
61354         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
61355         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
61356
61357 2000-07-09  Jim Meyering  <meyering@lucent.com>
61358
61359         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
61360         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
61361
61362         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
61363         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
61364
61365 2000-07-09  Jim Meyering  <meyering@lucent.com>
61366
61367         * lib/Most files: Update copyright dates to include 2000.
61368
61369 2000-07-08  Jim Meyering  <meyering@lucent.com>
61370
61371         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
61372         if not defined.
61373         (xgethostname): Remove now-unnecessary #ifdef.
61374         Move declaration of `err' into loop where it's used.
61375
61376 2000-07-05  Paul Eggert  <eggert@twinsun.com>
61377         and Bruno Haible  <haible@clisp.cons.org>
61378
61379         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
61380         only if the test for an object-type mbstate_t fails.  This
61381         prevents us from mistakenly reporting that mbstate_t is a
61382         system object type after we "#define mbstate_t int" to work
61383         around its lack.
61384
61385 2000-07-05  Paul Eggert  <eggert@twinsun.com>
61386         and Bruno Haible  <haible@clisp.cons.org>
61387
61388         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
61389
61390 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
61391
61392         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
61393         to strerror_r.
61394         Include <ctype.h> for use of isalpha.
61395
61396 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
61397
61398         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
61399         by allocating a larger buffer. Test the gethostname return value for
61400         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
61401         returns an error and ENAMETOOLONG isn't defined.
61402
61403 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
61404
61405         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
61406         dimension.
61407
61408 2000-07-04  Jim Meyering  <meyering@lucent.com>
61409
61410         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
61411         of the deprecated AC_CHECKING.
61412
61413 2000-07-04  Jim Meyering  <meyering@lucent.com>
61414
61415         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
61416         Reported by Bruno Haible.
61417
61418 2000-07-04  Jim Meyering  <meyering@lucent.com>
61419
61420         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
61421         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
61422         lacks mbrtowc.
61423
61424 2000-07-03  Paul Eggert  <eggert@twinsun.com>
61425
61426         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
61427         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
61428
61429 2000-07-03  Paul Eggert  <eggert@twinsun.com>
61430         and Bruno Haible  <haible@clisp.cons.org>
61431
61432         * lib/quotearg.c (mbrtowc):
61433         Assign to *pwc, and return 1 only if result is nonzero.
61434         (iswprint): Use ISPRINT when substituting our own mbrtowc.
61435
61436 2000-07-03  Jim Meyering  <meyering@lucent.com>
61437
61438         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
61439
61440 2000-07-03  Jim Meyering  <meyering@lucent.com>
61441
61442         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
61443         This is necessary to get a definition of e.g., UTMP_FILE on
61444         HP-UX 10.20.
61445         From Bob Proulx.
61446
61447 2000-07-02  Jim Meyering  <meyering@lucent.com>
61448
61449         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
61450
61451         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
61452         AC_LIBOBJ(function_name).
61453         * m4/chown.m4: Likewise.
61454         * m4/fnmatch.m4: Likewise.
61455         * m4/ftruncate.m4: Likewise.
61456         * m4/getgroups.m4: Likewise.
61457         * m4/getline.m4: Likewise.
61458         * m4/group-member.m4: Likewise.
61459         * m4/jm-macros.m4: Likewise.
61460         * m4/lstat.m4: Likewise.
61461         * m4/malloc.m4: Likewise.
61462         * m4/memcmp.m4: Likewise.
61463         * m4/nanosleep.m4: Likewise.
61464         * m4/putenv.m4: Likewise.
61465         * m4/realloc.m4: Likewise.
61466         * m4/regex.m4: Likewise.
61467         * m4/stat.m4: Likewise.
61468         * m4/strftime.m4: Likewise.
61469
61470 2000-07-02  Jim Meyering  <meyering@lucent.com>
61471
61472         * lib/quotearg.c (mbstate_t): Don't define here.
61473
61474 2000-07-02  Jim Meyering  <meyering@lucent.com>
61475
61476         * lib/nanosleep.c (SIGCONT): Define if not already defined.
61477
61478 2000-07-01  Jim Meyering  <meyering@lucent.com>
61479
61480         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
61481
61482 2000-07-01  Jim Meyering  <meyering@lucent.com>
61483
61484         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
61485         problem.
61486
61487 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
61488
61489         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
61490         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
61491
61492 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
61493
61494         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
61495         per change in ../m4/ls-mntd-fs.m4.
61496         (read_filesystem_list): Ignore symbolic links.
61497
61498 2000-06-29  Jim Meyering  <meyering@lucent.com>
61499
61500         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
61501         for declaration of strcmp.
61502
61503         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
61504
61505         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
61506         Avoid warning by casting result to `char *' to remove `const'.
61507
61508 2000-06-28  Jim Meyering  <meyering@lucent.com>
61509
61510         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
61511         included by quotearg.c, for which we perform this test.  From
61512         Bruno Haible.
61513
61514 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
61515
61516         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
61517         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
61518         <utmpx.h> exists, put readutmp.o into LIBOBJS.
61519
61520 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
61521
61522         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
61523
61524 2000-06-26  Paul Eggert  <eggert@twinsun.com>
61525
61526         savedir now sets errno on failure and invokes xmalloc to get memory.
61527         Fix a couple of other minor bugs while we're at it.
61528
61529         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
61530         (NAMLEN): Remove macro.
61531         (malloc, realloc): Remove decls.
61532         (stpcpy): Likewise.
61533         ("xalloc.h"): Include.
61534         (NAME_SIZE_DEFAULT): New macro.
61535         (savedir): Use xmalloc / xrealloc to allocate memory.
61536         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
61537         Skip "" directory entries.
61538         Use strlen to calculate directory entry length, since the old method
61539         is rarely used these days and isn't worth supporting.
61540         Don't use a pointer after freeing it.
61541         Check for integer overflow when calculating allocation size.
61542         Use memcpy to copy entries, instead of stpcpy.
61543         Set errno properly when returning NULL.
61544         Check for readdir error.
61545
61546 2000-06-26  Jim Meyering  <meyering@lucent.com>
61547
61548         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
61549
61550 2000-06-25  Jim Meyering  <meyering@lucent.com>
61551
61552         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
61553         Linux header bug when _XOPEN_SOURCE is defined to 500.
61554
61555 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
61556
61557         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
61558         deficiency.
61559
61560 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
61561
61562         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
61563         Include xalloc.h.
61564         Don't include <stdlib.h>.  Don't declare malloc, realloc.
61565
61566 2000-06-24  Jim Meyering  <meyering@lucent.com>
61567
61568         * m4/strerror_r.m4: Revive this file -- to try out an experimental
61569         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
61570         for which strerror does return char*, but which lacks a conveniently
61571         accessible declaration of the function.  If the compile-test says
61572         strerror_r doesn't work, then resort to a `run'-test that works on
61573         BeOS and segfaults on DEC Unix.
61574
61575 2000-06-24  Jim Meyering  <meyering@lucent.com>
61576
61577         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
61578
61579 2000-06-23  Paul Eggert  <eggert@twinsun.com>
61580
61581         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
61582         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
61583
61584 2000-06-23  Paul Eggert  <eggert@twinsun.com>
61585
61586         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
61587         (mbrtowc, mbstate_t): Define substitutes if
61588         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
61589         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
61590         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
61591
61592 2000-06-23  Jim Meyering  <meyering@lucent.com>
61593
61594         * m4/afs.m4: Add missing AC_MSG_RESULT.
61595         Reported by Bruno Haible.
61596
61597         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
61598         Suggestion from Bruno Haible.
61599
61600 2000-06-23  Jim Meyering  <meyering@lucent.com>
61601
61602         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
61603
61604 2000-06-21  Jim Meyering  <meyering@lucent.com>
61605
61606         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
61607
61608 2000-06-21  Jim Meyering  <meyering@lucent.com>
61609
61610         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
61611         (noinst_HEADERS): Add getstr.h.
61612
61613         * lib/getline.c (getstr): Move into a separate file.
61614         * lib/getstr.c (getstr): New file, extracted from getline.c, with
61615         the following changes: new parameter, delim2; both delim[12]
61616         parameters have type `int', not `char'.  The latter would lose
61617         with 8-bit delimiters.
61618         * lib/getstr.h: New file.
61619
61620 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61621
61622         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
61623         than 1024, return a memory chunk of least possible size, instead
61624         of size PATH_MAX + 2. In the loop, increment the size proportionally.
61625         Use free/xmalloc instead of xrealloc to avoid copying for very long
61626         paths.
61627
61628 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61629
61630         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
61631         the empty string.
61632
61633 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
61634
61635         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
61636         address, not strdup.  Include <stdlib.h> and don't declare free().
61637
61638 2000-06-19  Jim Meyering  <meyering@lucent.com>
61639
61640         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
61641
61642 2000-06-18  Jim Meyering  <meyering@lucent.com>
61643
61644         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
61645
61646         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
61647         `checking whether...' message to be consistent with that of the
61648         lstat test.
61649
61650 2000-06-18  Jim Meyering  <meyering@lucent.com>
61651
61652         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
61653         Besides, these days every porting target provides a mkdir function.
61654
61655         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
61656         needed. (this snippet comes from src/system.h).
61657
61658 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
61659
61660         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
61661
61662 2000-06-15  Paul Eggert  <eggert@twinsun.com>
61663
61664         * lib/human.c (adjust_value): New function.
61665         (human_readable_inexact): Apply rounding style even when
61666         printing approximate values.
61667
61668 2000-06-14  Paul Eggert  <eggert@twinsun.com>
61669
61670         * lib/human.c (human_readable_inexact): Allow an input block
61671         size that is not a multiple of the output block size, and vice versa.
61672         Reported by Piergiorgio Sartor.
61673
61674 2000-06-14  Paul Eggert  <eggert@twinsun.com>
61675
61676         * lib/getdate.y (get_date): Apply relative times after time
61677         zone indicator, not before.  Reported by Todd A. Jacobs.
61678
61679 2000-06-13  Jim Meyering  <meyering@lucent.com>
61680
61681         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
61682
61683         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
61684
61685 2000-06-12  Paul Eggert  <eggert@twinsun.com>
61686
61687         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
61688
61689 2000-06-12  Jim Meyering  <meyering@lucent.com>
61690
61691         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
61692         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
61693         optional argument.
61694         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
61695         the optional argument, `lib'.
61696
61697 2000-06-08  Jim Meyering  <meyering@lucent.com>
61698
61699         * m4/largefile.m4: Remove file (now that it's part of autoconf).
61700
61701 2000-06-04  Paul Eggert  <eggert@twinsun.com>
61702
61703         Rewrite largefile configuration so that we don't need to run
61704         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
61705         AC_CANONICAL_HOST in configure.in -- jmm]
61706
61707         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
61708         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
61709         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
61710         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
61711         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
61712         All uses changed.
61713         Instead of inspecting the output of getconf, try to compile the
61714         test program without and with the macro definition.
61715         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
61716         for getconf.  Instead, check for the needed flags by compiling
61717         test programs.
61718
61719 2000-06-04  Paul Eggert  <eggert@twinsun.com>
61720
61721         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
61722
61723 2000-06-04  Jim Meyering  <meyering@lucent.com>
61724
61725         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
61726         SunOS 4.1.4 for which gid_t is an unsigned type.
61727
61728 2000-06-03  Jim Meyering  <meyering@lucent.com>
61729
61730         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
61731         now that autoconf requires that.
61732
61733         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
61734         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
61735         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
61736
61737 2000-06-03  Jim Meyering  <meyering@lucent.com>
61738
61739         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
61740
61741 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
61742
61743         * m4/glibc21.m4: New file.
61744         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
61745
61746 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
61747
61748         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
61749         newer, don't install charset.alias.
61750         * lib/config.charset: Change the Linux/glibc rules so they become empty
61751         on glibc-2.1 or newer.
61752
61753 2000-06-02  Jim Meyering  <meyering@lucent.com>
61754
61755         * lib/mountlist.c: Back out last change.  Instead, do this...
61756         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
61757         me_dummy member using the same `ignore'-testing code.
61758         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
61759         fs_type strings.
61760         From Mark D. Roth.
61761
61762 2000-05-29  Jim Meyering  <meyering@lucent.com>
61763
61764         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
61765         mounts with the `ignore' attribute.  Based on a patch from
61766         Mark D. Roth.
61767
61768 2000-05-28  Jim Meyering  <meyering@lucent.com>
61769
61770         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
61771         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
61772         * m4/stat.m4: Likewise.
61773         * m4/lstat.m4: Likewise.
61774         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
61775
61776         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
61777         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
61778
61779 2000-05-26  Jim Meyering  <meyering@lucent.com>
61780
61781         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
61782
61783 2000-05-24  Jim Meyering  <meyering@lucent.com>
61784
61785         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
61786         autoconf requires that.
61787         * m4/lib-check.m4: Likewise.
61788         * m4/jm-macros.m4: Likewise.
61789         * m4/strftime.m4: Likewise.
61790
61791         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
61792         AC_CHECK_DECLS, now that autoconf requires that.
61793
61794 2000-05-22  Jim Meyering  <meyering@lucent.com>
61795
61796         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
61797         * m4/lstat.m4: Likewise.
61798
61799 2000-05-22  Jim Meyering  <meyering@lucent.com>
61800
61801         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
61802
61803 2000-05-20  Jim Meyering  <meyering@lucent.com>
61804
61805         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
61806         (jm_PREREQ): Use it.
61807
61808 2000-05-18  Jim Meyering  <meyering@lucent.com>
61809
61810         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
61811         back, too, since it may have been modified by allocate_entry.
61812         (hash_delete): Rewrite to use neither the assignment operator
61813         nor the comma operator in an if-expression.
61814
61815 2000-05-15  Paul Eggert  <eggert@twinsun.com>
61816
61817         * lib/closeout.c:
61818         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
61819         Remove; no longer needed.
61820         "quotearg.h": Add include.
61821         (file_name): Do not bother to explicitly initialize to NULL; it's less
61822         efficient on some hosts.
61823         (close_stdout_status): Remove test as to whether stdout was already
61824         closed; it breaks for the case "echo x | sort >&-".
61825         Quote file name colons.
61826         Do not assume that _("write error") lacks format strings.
61827
61828 2000-05-15  Jim Meyering  <meyering@lucent.com>
61829
61830         * lib/version-etc.c (version_etc_copyright): Update the copyright
61831         string used in all --version output.
61832
61833 2000-05-14  Jim Meyering  <meyering@lucent.com>
61834
61835         * lib/closeout.c (close_stdout_set_file_name): New function.
61836         (close_stdout_status): Use new file-scoped global.
61837         Return right away if fstat says the stdout file descriptor is invalid.
61838         * lib/closeout.h (close_stdout_set_file_name): Declare.
61839
61840 2000-05-10  Jim Meyering  <meyering@lucent.com>
61841
61842         * lib/closeout.c [default_exit_status]: New file-scoped variable.
61843         (close_stdout_set_status): New function.
61844         * lib/closeout.h (close_stdout_set_status): Declare.
61845
61846 2000-05-09  Jim Meyering  <meyering@lucent.com>
61847
61848         * m4/gettext.m4: Rename this...
61849         * m4/libintl.m4: ...to this.
61850
61851 2000-05-08  Jim Meyering  <meyering@lucent.com>
61852
61853         * lib/long-options.c: Don't include closeout.h.
61854         (parse_long_options): Don't call close_stdout for --version.
61855
61856 2000-05-06  Paul Eggert  <eggert@twinsun.com>
61857
61858         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
61859         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
61860         2.1.3 bug.  This avoids a clash when files like regex.c define
61861         _GNU_SOURCE.
61862
61863 2000-05-06  Jim Meyering  <meyering@lucent.com>
61864
61865         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
61866         (AC_REPLACE_FUNCS): Add strnlen.
61867
61868         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
61869         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
61870
61871         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
61872         AC_SEARCH_LIBS call for nanosleep.
61873         (LIB_NANOSLEEP): Set and AC_SUBST.
61874
61875 2000-05-06  Jim Meyering  <meyering@lucent.com>
61876
61877         * lib/strnlen.c: Undefine __strnlen and strnlen.
61878         [!weak_alias]: Define __strnlen to strnlen.
61879
61880         * lib/atexit.c: New file, from libiberty.
61881
61882 2000-05-06  Jim Meyering  <meyering@lucent.com>
61883
61884         * lib/closeout.c (close_stdout_status): Also check for errors on the
61885         stderr stream.
61886
61887 2000-05-05  Jim Meyering  <meyering@lucent.com>
61888
61889         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
61890         AC_SEARCH_LIBS call for clock_gettime.
61891         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
61892
61893         * m4/search-libs.m4: Update from autoconf.
61894
61895         su doesn't work on Solaris 2.6.
61896         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
61897         <shadow.h>.  Reported by Dragos Harabor.
61898
61899 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
61900
61901         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
61902         memcpy instead of xmalloc, xrealloc, path_concat.
61903         (locale_charset): Treat empty environment variables as absent.
61904         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
61905
61906 2000-05-04  Jim Meyering  <meyering@lucent.com>
61907
61908         * lib/getopt.c: Update from glibc.
61909         * lib/obstack.c: Likewise.
61910         * lib/obstack.h: Likewise.
61911         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
61912         file
61913
61914         * lib/regex.h: Likewise.
61915         * lib/strndup.c: Likewise.
61916         * lib/strnlen.c: New file, from glibc.
61917
61918 2000-05-03  Jim Meyering  <meyering@lucent.com>
61919
61920         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
61921
61922 2000-05-02  Paul Eggert  <eggert@twinsun.com>
61923
61924         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
61925         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
61926         compile-time test, rather than inspecting host and OS, to
61927         decide whether to define _LARGEFILE_SOURCE.
61928
61929 2000-05-01  Jim Meyering  <meyering@lucent.com>
61930
61931         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
61932
61933         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
61934         Based on a patch from Bruno Haible.
61935
61936 2000-05-01  Jim Meyering  <meyering@lucent.com>
61937
61938         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
61939
61940 2000-04-29  Jim Meyering  <meyering@lucent.com>
61941
61942         * lib/path-concat.c: Declare strdup only if it's not defined.
61943         * lib/canon-host.c: Likewise.
61944
61945 2000-04-28  Jim Meyering  <meyering@lucent.com>
61946
61947         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
61948         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
61949         is included first, then limits.h is included by locale.h by libintl.h.
61950         From John David Anglin.
61951
61952 2000-04-25  Jim Meyering  <meyering@lucent.com>
61953
61954         * lib/makepath.c (S_IRWXUGO): Define.
61955         (make_path): Always perform explicit chmod if MODE specifies any
61956         of the `special' permission bits.  Prompted by a bug report against
61957         install from Mate Wierdl and Joost van Baal.
61958
61959 2000-04-18  Jim Meyering  <meyering@lucent.com>
61960
61961         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
61962         (jm_PREREQ): Use it.
61963
61964 2000-04-18  Jim Meyering  <meyering@lucent.com>
61965
61966         * lib/README: New file.
61967
61968         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
61969         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
61970
61971 2000-04-17  Jim Meyering  <meyering@lucent.com>
61972
61973         Get it right :-)
61974         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
61975         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
61976         Suggestion from Akim Demaille.
61977
61978 2000-04-17  Jim Meyering  <meyering@lucent.com>
61979
61980         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
61981         the definition of it to rpl_strftime also defined-away the system's
61982         declaration.
61983
61984 2000-04-15  Jim Meyering  <meyering@lucent.com>
61985
61986         Use `C' to denote so-called `contiguous' files, the same way
61987         that tar does.
61988         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
61989         (ftypelet): Use S_ISCTG.
61990         From Michael Deutschmann.
61991
61992 2000-04-14  Jim Meyering  <meyering@lucent.com>
61993
61994         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
61995         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
61996         clobbered.
61997
61998 2000-04-14  Jim Meyering  <meyering@lucent.com>
61999
62000         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
62001
62002 2000-04-13  Jim Meyering  <meyering@lucent.com>
62003
62004         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
62005         AH_VERBATIM to insert required #ifndef into config.h.in.
62006         Suggestion from Akim Demaille.
62007
62008 2000-04-12  Jim Meyering  <meyering@lucent.com>
62009
62010         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
62011         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
62012         Christian Krackowizer.
62013
62014         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
62015         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
62016         (AC_SYS_LARGEFILE): Require.
62017         (AM_C_PROTOTYPES): Require.
62018
62019 2000-04-08  Jim Meyering  <meyering@lucent.com>
62020
62021         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
62022         names don't conflict.  Reported by Eli Zaretskii.
62023
62024 2000-04-07  Jim Meyering  <meyering@lucent.com>
62025
62026         * lib/putenv.c: Move inclusion of errno.h so it follows that of
62027         sys/types.h, to work around system header problems on AIX 3.2.5.
62028         From Bruno Haible.
62029
62030 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
62031
62032         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
62033         bug.  Deal with the different error behavior of Irix iconv.
62034
62035 2000-04-05  Paul Eggert  <eggert@twinsun.com>
62036
62037         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
62038         IRIX if the installer said otherwise.
62039
62040 2000-04-05  Jim Meyering  <meyering@lucent.com>
62041
62042         Portability tweaks required for ultrix4.3.
62043         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
62044         (jm_CHECK_DECLS): Add getutent to the list of functions.
62045         (_jm_DECL_HEADERS): Add utmpx.h.
62046         From John David Anglin.
62047
62048         * m4/strftime.m4: Back out the 2000-04-02 change.
62049         Instead of that change, simply undefine putenv in the test program.
62050
62051 2000-04-05  Jim Meyering  <meyering@lucent.com>
62052
62053         Portability tweaks required for ultrix4.3.
62054         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
62055         getutent.
62056         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
62057         * lib/canon-host.c: Declare strdup.
62058         * lib/path-concat.c: Likewise.
62059         From John David Anglin.
62060
62061 2000-04-04  Jim Meyering  <meyering@lucent.com>
62062
62063         Be more DOS 8.3-friendly.
62064         * lib/ref-add.sin: Renamed from ref-add.sed.in.
62065         * lib/ref-del.sin: Renamed from ref-del.sed.in.
62066         * lib/Makefile.am: Reflect renaming.
62067         Reported by Eli Zaretskii.
62068
62069         Use a temporary file name that won't clash with `charset.alias'
62070         in the DOS 8.3 name space.
62071         * lib/Makefile.am (charset_tmp): Define.
62072         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
62073         (uninstall-local): Likewise.
62074         Reported by Eli Zaretskii.
62075
62076 2000-04-03  Jim Meyering  <meyering@lucent.com>
62077
62078         * m4/gettext.m4: Fix typo in comment.
62079
62080         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
62081         textutils/configure.in).  Suggestion from Paul Eggert.
62082         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
62083
62084 2000-04-02  Paul Eggert  <eggert@twinsun.com>
62085
62086         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
62087         variable in the shell rather than using putenv, which isn't
62088         portable.  This avoids the configure-time inter-test dependency
62089         on the potentially-renamed putenv function.
62090
62091 2000-03-30  Paul Eggert  <eggert@twinsun.com>
62092
62093         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
62094         before checking struct stat.st_blksize, so that
62095         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
62096
62097 2000-03-29  Paul Eggert  <eggert@twinsun.com>
62098
62099         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
62100         since strftime.c uses HAVE_STRFTIME to decide whether to use
62101         the underlying strftime.
62102
62103 2000-03-29  Paul Eggert  <eggert@twinsun.com>
62104
62105         * lib/time/strftime.c (my_strftime): Make sure we call the system
62106         strftime, not ourselves, when invoking the underlying strftime.
62107
62108 2000-03-24  Jim Meyering  <meyering@lucent.com>
62109
62110         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
62111         (charset_alias): Define.
62112         (install-exec-local): Factor out common code.
62113         (uninstall-local): Split lines longer than 80.
62114         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
62115         (SUFFIXES): Define.
62116         (.sed.in.sed): New rule.  Don't redirect directly to $@.
62117         (CLEANFILES): Add ref-add.sed and ref-del.sed.
62118
62119 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
62120
62121         * lib/config.charset: Output a line containing "Packages using this
62122         file".
62123         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
62124         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
62125         ref-del.sed): New rules.
62126
62127 2000-03-17  Jim Meyering  <meyering@lucent.com>
62128
62129         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
62130         Otherwise, include <strings.h>
62131
62132 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
62133
62134         * lib/unicodeio.c (utf8_wctomb): New function.
62135         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
62136         format instead of in UCS-4 with platform dependent endianness.
62137
62138 2000-03-10  Jim Meyering  <meyering@lucent.com>
62139
62140         * m4/lib-check.m4: Look for getspnam in -lgen, too.
62141         From Marco Franzen.
62142
62143 2000-03-07  Paul Eggert  <eggert@twinsun.com>
62144
62145         * lib/savedir.c (savedir): Work even if directory size is
62146         negative; this can happen with some screwy NFS configurations.
62147
62148 2000-03-06  Jim Meyering  <meyering@lucent.com>
62149
62150         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
62151         if it's NULL (because we ran out of memory).  From Bruno Haible.
62152
62153 2000-03-05  Jim Meyering  <meyering@lucent.com>
62154
62155         * lib/localcharset.c ("path-concat.h"): Include.
62156         (get_charset_aliases): Use path_concat instead of ANSI string
62157         concatenation.
62158
62159         * lib/unicodeio.h (PARAMS): Define.
62160         Use it to guard prototype.
62161
62162 2000-03-04  Jim Meyering  <meyering@lucent.com>
62163
62164         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
62165         for lib/localcharset.c.
62166
62167 2000-03-04  Jim Meyering  <meyering@lucent.com>
62168
62169         * lib/Makefile.am (install-exec-local): Create $(libdir) before
62170         installing into it.
62171         (uninstall-local): Uncomment this rule so `make distcheck' works
62172         once again.
62173
62174         * lib/unicodeio.c (<errno.h>): Include it.
62175         (errno): Declare if not defined.
62176
62177         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
62178
62179         * lib/config.charset: New version, incorporating remarks from a linux
62180         i18n mailing list.  From Bruno Haible.
62181
62182 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
62183
62184         * m4/codeset.m4: New file.
62185         * m4/iconv.m4: New file.
62186         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
62187
62188 2000-03-03  Jim Meyering  <meyering@lucent.com>
62189
62190         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
62191
62192 2000-03-02  Jim Meyering  <meyering@lucent.com>
62193
62194         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
62195         the messages come out on separate lines.
62196
62197         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
62198         rather than jm_CHECK_DECLARATIONS.
62199         * m4/decl.m4: Remove now-unused file.
62200
62201         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
62202         geteuid.
62203
62204 2000-03-02  Jim Meyering  <meyering@lucent.com>
62205
62206         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
62207
62208 2000-03-01  Jim Meyering  <meyering@lucent.com>
62209
62210         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
62211         * lib/unicodeio.c: Likewise.
62212
62213 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
62214
62215         * lib/config.charset: New file.
62216         * lib/localcharset.c: New file.
62217         * lib/unicodeio.h, lib/unicodeio.c: New files.
62218         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
62219         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
62220         (noinst_HEADERS): Add unicodeio.h.
62221         (all-local, install-exec-local, charset.alias): New targets.
62222
62223 2000-02-28  Paul Eggert  <eggert@twinsun.com>
62224
62225         * lib/quotearg.c (ALERT_CHAR): New macro.
62226         (quotearg_buffer_restyled): Use it.
62227
62228 2000-02-27  Jim Meyering  <meyering@lucent.com>
62229
62230         * m4/check-decl.m4: Add getenv to the list.
62231
62232 2000-02-27  Jim Meyering  <meyering@lucent.com>
62233
62234         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
62235         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
62236
62237         * lib/backupfile.c: Guard inclusion of stdlib.h with
62238         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
62239         Declare malloc if needed.
62240
62241         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
62242         `#ifndef HAVE_DECL..'
62243         now that autoconf always defines the HAVE_DECL_ symbols.
62244         * lib/human.c: Likewise.
62245         * lib/same.c: Likewise.
62246         * lib/strtoumax.c: Likewise.
62247
62248         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
62249         declaration check was not run.
62250         * lib/hash.c: Likewise.
62251         * lib/human.c: Likewise.
62252         * lib/same.c: Likewise.
62253         * lib/strtoumax.c: Likewise.
62254
62255         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
62256         `.', then first look up the entire `.'-containing string as a login
62257         name.
62258
62259 2000-02-23  Jim Meyering  <meyering@lucent.com>
62260
62261         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
62262         in place of my hack.
62263
62264 2000-02-18  Paul Eggert  <eggert@twinsun.com>
62265
62266         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
62267         (textint): New typedef.
62268         (parser_control): Member year changed from int to textint.
62269         All uses changed.
62270         (YYSTYPE): Removed; replaced by %union with int and textint members.
62271         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
62272         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
62273         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
62274         (tSNUMBER, tUNUMBER): Now of type <textintval>.
62275         (date, number, to_year): Use width of number in digits, not its value,
62276         to determine whether it's a 2-digit year, or a 2-digit time.
62277         (yylex): Store number of digits of numeric tokens.
62278         Reported by John Kendall.
62279
62280         (parser_control): Changed from struct parser_control to typedef (for
62281         consistency).  All uses changed.
62282
62283         (tID): Removed; not used.
62284         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
62285
62286 2000-02-14  Paul Eggert  <eggert@twinsun.com>
62287
62288         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
62289         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
62290
62291 2000-02-12  Jim Meyering  <meyering@lucent.com>
62292
62293         * lib/userspec.c (ISDIGIT): Define it.
62294         (isdigit): Remove definition.
62295         (is_number): Use ISDIGIT, not isdigit.
62296         <libintl.h>: Include.
62297         (_ and N_): Define.
62298         (parse_user_spec): Mark translatable strings.
62299
62300 2000-02-10  Jim Meyering  <meyering@lucent.com>
62301
62302         With these changes, nanosleep.[ch] are finally enough like the other
62303         lib/* replacement files to compile on a few more losing systems.
62304
62305         * lib/nanosleep.h: Don't include config.h.
62306         Remove prototype from declaration of nanosleep.
62307         (PARAMS): Remove now-unneeded definition.
62308         * lib/nanosleep.c: #undef nanosleep.
62309         (rpl_nanosleep): Rename from nanosleep.
62310
62311 2000-02-10  Jim Meyering  <meyering@lucent.com>
62312
62313         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
62314         gnu_nanosleep to rpl_nanosleep.
62315
62316 2000-02-09  Jim Meyering  <meyering@lucent.com>
62317
62318         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
62319         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
62320
62321 2000-02-08  Akim Demaille  <akim@epita.fr>
62322
62323         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
62324         `[' and `]' and remove uses of `changequote'.
62325         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
62326         (AC_SYS_LARGEFILE): Likewise.
62327         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
62328         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
62329         of changequote.
62330         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
62331         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
62332         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
62333         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
62334
62335 2000-02-05  Jim Meyering  <meyering@lucent.com>
62336
62337         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
62338         Remove explicit use of AC_HEADER_TIME.  It is required by
62339         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
62340         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
62341         in autoconf whereby the expansion of the latter ended up preceding
62342         the expansion of its prerequisite, AC_HEADER_TIME.
62343         Reported by Volker Borchert.
62344
62345 2000-02-03  Jim Meyering  <meyering@lucent.com>
62346
62347         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
62348
62349 2000-02-03  Jim Meyering  <meyering@lucent.com>
62350
62351         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
62352         rather than with `#if HAVE_UTMPNAME'.
62353
62354 2000-02-02  Jim Meyering  <meyering@lucent.com>
62355
62356         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
62357         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
62358         Reported by Eli Zaretskii.
62359
62360 2000-02-01  Jim Meyering  <meyering@lucent.com>
62361
62362         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
62363
62364 2000-01-31  Jim Meyering  <meyering@lucent.com>
62365
62366         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
62367         functions.  Add the time.h and sys/time.h headers along with the
62368         AC_REQUIRE'ment of AC_HEADER_TIME.
62369
62370 2000-01-31  Jim Meyering  <meyering@lucent.com>
62371
62372         * lib/nanosleep.h (nanosleep): Guard declaration with
62373         `#if ! HAVE_DECL_NANOSLEEP'.
62374         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
62375         the declaration in that vendor's sys/timers.h.
62376         Reported by Christian Krackowizer.
62377
62378         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
62379         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
62380         (ISPRINT): Likewise.
62381         Reported by Tom Tromey.
62382
62383 2000-01-30  Jim Meyering  <meyering@lucent.com>
62384
62385         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
62386
62387         * m4/prereq.m4 (utmp_includes): Define.
62388         Check for ut_user and ut_name members in both struct utmpx
62389         and struct utmp.
62390
62391 2000-01-30  Jim Meyering  <meyering@lucent.com>
62392
62393         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
62394         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
62395         header files where only utmpx.ut_user is declared.
62396
62397         * lib/readutmp.h (UT_USER): Define.
62398
62399 2000-01-29  Jim Meyering  <meyering@lucent.com>
62400
62401         * m4/lib-check.m4: New file containing library-related checks from
62402         fileutils and sh-utils (textutils had none).
62403
62404 2000-01-28  Jim Meyering  <meyering@lucent.com>
62405
62406         * m4/perl.m4: Change format of warning message to look more like that
62407         from the missing script.  Suggestion from François Pinard.
62408
62409 2000-01-25  Jim Meyering  <meyering@lucent.com>
62410
62411         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
62412         well as time.h in the compile check.
62413         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
62414         Fix typo in cross-compiling case: s/yes/no/.
62415
62416 2000-01-23  Jim Meyering  <meyering@lucent.com>
62417
62418         * m4/jm-macros.m4: Move df-related tests here from
62419         fileutils/configure.in
62420
62421         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
62422         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
62423
62424         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
62425         s/space/ac_fsusage_space/.
62426         (jm_FILE_SYSTEM_USAGE): Take two parameters.
62427
62428         * m4/ftruncate.m4: New file (derived from part of
62429         fileutils/configure.in).
62430         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
62431         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
62432
62433         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
62434         AC_SUBST these here, rather than just in sh-util/configure.in, so
62435         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
62436         all the same.
62437         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
62438         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
62439         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
62440         (AC_SUBST(POW_LIBM)): Likewise.
62441         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
62442
62443 2000-01-23  Jim Meyering  <meyering@lucent.com>
62444
62445         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
62446         obstack.c.
62447
62448 2000-01-22  Jim Meyering  <meyering@lucent.com>
62449
62450         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
62451
62452         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
62453
62454         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
62455         configure.in
62456         (AC_CHECK_HEADERS): Likewise for sh-utils.
62457         (AC_CHECK_HEADERS): Likewise for textutils.
62458         Merge the three lists of headers.
62459
62460         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
62461         from fileutils' configure.in.
62462
62463         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
62464         code. Moved tests into their own function (_jm_DECL_HEADERS) in
62465         check-decl.m4.
62466
62467         * m4/check-decl.m4: Use #if rather than #ifdef.
62468         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
62469         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
62470         (_jm_DECL_HEADERS): Define new function.
62471         (jm_CHECK_DECLARATIONS): Require it.
62472
62473 2000-01-22  Jim Meyering  <meyering@lucent.com>
62474
62475         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
62476         [! HAVE_DECL_STRTOULL]: Declare strtoull.
62477         Required for some AIX systems.  Reported by Christian Krackowizer.
62478         [TESTING] (main): New function.
62479
62480         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
62481         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
62482         letters.
62483
62484         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
62485         iswprint.
62486
62487         * lib/strverscmp.c (ISDIGIT): Define.
62488         (strverscmp): Use ISDIGIT, not isdigit.
62489
62490 2000-01-19  Jim Meyering  <meyering@lucent.com>
62491
62492         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
62493         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
62494         defines `struct timespec' in <sys/time.h>
62495
62496         * m4/c-bs-a.m4: Remove uses of changequote altogether.
62497         Thanks to Akim for explaining.
62498
62499 2000-01-17  Paul Eggert  <eggert@twinsun.com>
62500
62501         * lib/nanosleep.c (nanosleep):
62502         Don't use SA_INTERRUPT to decide whether to call sigaction, as
62503         POSIX.1 doesn't require SA_INTERRUPT and some systems
62504         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
62505         it's been part of POSIX.1 since day 1 (in 1988).
62506
62507 2000-01-17  Jim Meyering  <meyering@lucent.com>
62508
62509         * lib/interlock: Remove unused file.  Reported by François Pinard.
62510
62511 2000-01-16  Paul Eggert  <eggert@twinsun.com>
62512
62513         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
62514         alert, backslash, formfeed, and vertical tab unnecessarily in
62515         shell quoting style.
62516
62517 2000-01-16  Jim Meyering  <meyering@lucent.com>
62518
62519         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
62520         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
62521         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
62522         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
62523
62524 2000-01-16  Jim Meyering  <meyering@lucent.com>
62525
62526         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
62527         because the latter didn't work.
62528
62529 2000-01-15  Jim Meyering  <meyering@lucent.com>
62530
62531         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
62532         (AC_REPLACE_FUNCS): Add memcpy and memset.
62533         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
62534         Add strpbrk.
62535         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
62536
62537 2000-01-12  Jim Meyering  <meyering@lucent.com>
62538
62539         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
62540         (jm_PREREQ): Use it.
62541         (jm_PREREQ_READUTMP): New macro.
62542         (jm_PREREQ): Use it.
62543
62544 2000-01-11  Paul Eggert  <eggert@twinsun.com>
62545
62546         Quote multibyte characters correctly.
62547         * m4/c-bs-a.m4: New file.
62548         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
62549         (jm_PREREQ): Use it.
62550
62551 2000-01-11  Paul Eggert  <eggert@twinsun.com>
62552
62553         * m4/uintmax_t.m4: Port to autoconf 2.13.
62554
62555 2000-01-08  Jim Meyering  <meyering@ascend.com>
62556
62557         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
62558         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
62559
62560 2000-01-04  Jim Meyering  <meyering@ascend.com>
62561
62562         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
62563         jm_STRUCT_DIRENT_D_TYPE.
62564         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
62565         jm_STRUCT_DIRENT_D_INO.
62566         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
62567         jm_STRUCT_UTIMBUF.
62568         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
62569         renamings.
62570         * m4/utime.m4: Likewise.
62571
62572         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
62573         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
62574
62575 2000-01-03  Paul Eggert  <eggert@twinsun.com>
62576
62577         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
62578         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
62579
62580 2000-01-02  Jim Meyering  <meyering@ascend.com>
62581
62582         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
62583         remember if this is necessary.
62584
62585 1999-12-26  Jim Meyering  <meyering@ascend.com>
62586
62587         * m4/jm-macros.m4: Use it here.
62588         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
62589
62590 1999-12-23  Jim Meyering  <meyering@ascend.com>
62591
62592         * m4/jm-macros.m4: Check for clock_gettime (moved from
62593         fileutils/configure.in)
62594         Check for gettimeofday.
62595
62596 1999-12-20  Jim Meyering  <meyering@ascend.com>
62597
62598         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
62599         autoconf-2.14a-1999-12-20.
62600
62601 1999-12-19  Jim Meyering  <meyering@ascend.com>
62602
62603         * m4/lstat-slash.m4: New file.
62604         * m4/jm-macros.m4: Use the new macro:
62605         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
62606
62607 1999-12-07  Jim Meyering  <meyering@ascend.com>
62608
62609         * m4/perl.m4: Require that File::Compare be available, too.
62610         Too many systems seem to lack it.
62611
62612         * m4/strftime.m4: Add checks for most of the cpp macros tested in
62613         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
62614
62615 1999-11-18  Paul Eggert  <eggert@twinsun.com>
62616
62617         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
62618         problem with the QNX 4.25 shell, which doesn't propagate exit
62619         status of failed commands inside shell assignments.
62620
62621 1999-11-17  Jim Meyering  <meyering@ascend.com>
62622
62623         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
62624
62625 1999-11-07  Jim Meyering  <meyering@ascend.com>
62626
62627         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
62628
62629 1999-11-06  Jim Meyering  <meyering@ascend.com>
62630
62631         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
62632         * m4/jm-macros.m4 (jm_MACROS): Use it here.
62633
62634 1999-11-05  Jim Meyering  <meyering@ascend.com>
62635
62636         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
62637         configure.in of textutils, fileutils, and sh-utils into this one
62638         (shared between those packages) file.
62639         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
62640         AC_STRUCT_ST_BLKSIZE.
62641
62642 1999-11-03  Jim Meyering  <meyering@ascend.com>
62643
62644         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
62645         of AC_CHECK_TYPE checks includes unistd.h.
62646         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
62647         Suggestion from Akim Demaille.
62648
62649 1999-10-30  Jim Meyering  <meyering@ascend.com>
62650
62651         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
62652         m4-quoted string.
62653         * m4/ls-mntd-fs.m4: Likewise.
62654         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
62655         * m4/jm-winsz1.m4: Likewise.
62656
62657         * m4/const.m4: Remove file, since the fix made it into the experimental
62658         version of autoconf.
62659         * m4/mktime.m4: Likewise.
62660
62661         * m4/check-type.m4: Remove file, now that the latest version of
62662         AC_CHECK_TYPE takes a third arg to specify additional #includes.
62663
62664         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
62665         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
62666         AC_CHECK_TYPE.
62667
62668 1999-10-04  Jim Meyering  <meyering@ascend.com>
62669
62670         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
62671
62672 1999-09-22  Paul Eggert  <eggert@twinsun.com>
62673
62674         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
62675         2.95.1 bug with HP-UX 10.20.
62676
62677 1999-09-17  Jim Meyering  <meyering@ascend.com>
62678
62679         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
62680         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
62681         due to missing strdup (against sh-utils-2.0).
62682
62683 1999-08-29  Jim Meyering  <meyering@ascend.com>
62684
62685         * m4/jm-macros.m4: Require jm_BISON.
62686         * m4/bison.m4: New file.
62687
62688 1999-08-17  Paul Eggert  <eggert@twinsun.com>
62689
62690         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
62691         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
62692
62693 1999-08-05  Jim Meyering  <meyering@ascend.com>
62694
62695         * m4/getline.m4: Rename test file from conftestdata to conftest.data
62696         to avoid conflicts with `conftest' on 8+3 filesystems.
62697         Suggestion from Eli Zaretskii.
62698
62699 1999-08-04  Jim Meyering  <meyering@ascend.com>
62700
62701         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
62702         fileutils and sh-utils (textutils's getline test was inadequate).
62703         (AM_FUNC_GETLINE): Run this test.
62704         (AC_CHECK_FUNCS): Check for getdelim.
62705         Reported by Bob Proulx.
62706
62707 1999-08-02  Jim Meyering  <meyering@ascend.com>
62708
62709         * m4/jm-macros.m4: Add a comment.
62710
62711 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62712
62713         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
62714         <inttypes.h> defines strtoumax as a macro (and not as a
62715         function).
62716
62717 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62718
62719         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
62720         that we can shift, multiply and divide unsigned long long
62721         values; Ultrix cc can't do it.
62722
62723 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62724
62725         * m4/mktime.m4: New file, which is a preview of what should appear
62726         in the next public autoconf release.
62727
62728 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62729
62730         * m4/lfs.m4: Remove this file.
62731         * m4/largefile.m4: New file.  It contains the old contents of
62732         lfs.m4, except that all names with prefix AC_LFS have been
62733         changed to use the prefix AC_SYS_LARGEFILE instead, to be
62734         compatible with future autoconf versions.  Also, some minor m4
62735         quoting problems have been fixed.
62736
62737 1999-08-01  Paul Eggert  <eggert@twinsun.com>
62738
62739         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
62740         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
62741         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
62742         and simplify the shell code.
62743
62744 1999-08-01  Jim Meyering  <meyering@ascend.com>
62745
62746         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
62747         m4.
62748
62749 1999-07-20  Jim Meyering  <meyering@ascend.com>
62750
62751         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
62752
62753 1999-07-15  Jim Meyering  <meyering@ascend.com>
62754
62755         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
62756
62757 1999-05-22  Jim Meyering  <meyering@ascend.com>
62758
62759         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
62760
62761 1999-05-20  Jim Meyering  <meyering@ascend.com>
62762
62763         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
62764         Add a colon after each `then' in case $4 is empty.
62765
62766 1999-05-16  Jim Meyering  <meyering@ascend.com>
62767
62768         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
62769
62770 1999-05-10  Jim Meyering  <meyering@ascend.com>
62771
62772         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
62773
62774         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
62775         AC_FUNC_MKTIME.
62776
62777 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
62778
62779         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
62780
62781 1999-05-04  Paul Eggert  <eggert@twinsun.com>
62782
62783         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
62784         not CPPFLAGS, so that linking works correctly in IRIX.
62785
62786 1999-04-30  Paul Eggert  <eggert@twinsun.com>
62787
62788         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
62789
62790 1999-04-20  Paul Eggert  <eggert@twinsun.com>
62791
62792         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
62793         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
62794         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
62795         jm_AC_TYPE_UNSIGNED_LONG_LONG.
62796         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
62797
62798         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
62799
62800 1999-04-20  Jim Meyering  <meyering@ascend.com>
62801
62802         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
62803         AC_REPLACE xstroull if necessary.  From Paul Eggert.
62804         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
62805
62806 1999-04-18  Jim Meyering  <meyering@ascend.com>
62807
62808         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
62809         * m4/jm-macros.m4: Use it.
62810
62811 1999-04-06  Jim Meyering  <meyering@ascend.com>
62812
62813         * m4/strftime.m4: Remove test for %f.
62814
62815 1999-03-29  Jim Meyering  <meyering@ascend.com>
62816
62817         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
62818         superset of the AC_TYPE_* checks in the textutils, fileutils,
62819         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
62820         AC_TYPE_PID_T.
62821
62822 1999-03-28  Jim Meyering  <meyering@ascend.com>
62823
62824         * m4/jm-macros.m4: Define GNU_PACKAGE here.
62825         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
62826         replaced e.g., in the *.sh files of the sh-utils.
62827
62828 1999-03-20  Jim Meyering  <meyering@ascend.com>
62829
62830         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
62831         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
62832         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
62833
62834 1999-03-19  Jim Meyering  <meyering@ascend.com>
62835
62836         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
62837
62838 1999-03-12  Jim Meyering  <meyering@ascend.com>
62839
62840         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
62841
62842 1999-03-07  Jim Meyering  <meyering@ascend.com>
62843
62844         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
62845         declared.
62846
62847 1999-02-17  Jim Meyering  <meyering@ascend.com>
62848
62849         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
62850         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
62851
62852 1999-02-07  Jim Meyering  <meyering@ascend.com>
62853
62854         * m4/group-member.m4: New file -- extracted from sh-utils'
62855         configure.in.
62856
62857         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
62858         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
62859
62860 1999-02-06  Jim Meyering  <meyering@ascend.com>
62861
62862         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
62863         * m4/fnmatch.m4: Likewise.
62864         * m4/getgroups.m4: Likewise.
62865         * m4/lstat.m4: Likewise.
62866         * m4/malloc.m4: Likewise.
62867         * m4/putenv.m4: Likewise.
62868         * m4/realloc.m4: Likewise.
62869         * m4/regex.m4: Likewise.
62870         * m4/stat.m4: Likewise.
62871         * m4/strftime.m4: Likewise.
62872         Suggestion from Alain Magloire.
62873
62874         * m4/chown.m4: Use `.$ac_objext', not `.o'.
62875         * m4/fnmatch.m4: Likewise.
62876         * m4/getgroups.m4: Likewise.
62877         * m4/getline.m4: Likewise.
62878         * m4/lstat.m4: Likewise.
62879         * m4/malloc.m4: Likewise.
62880         * m4/memcmp.m4: Likewise.
62881         * m4/putenv.m4: Likewise.
62882         * m4/realloc.m4: Likewise.
62883         * m4/regex.m4: Likewise.
62884         * m4/stat.m4: Likewise.
62885         * m4/strftime.m4: Likewise.
62886         Suggestion from Alain Magloire.
62887
62888         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
62889         an argument.
62890
62891         * m4/regex.m4: Add a run-time Test for proper operation of
62892         re_compile_pattern.
62893
62894 1999-01-31  Jim Meyering  <meyering@ascend.com>
62895
62896         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
62897
62898 1999-01-30  Jim Meyering  <meyering@ascend.com>
62899
62900         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
62901
62902         * m4/jm-mktime.m4: Make this a wrapper around the official
62903         AM_FUNC_MKTIME rather than my private copy, now that the official one
62904         is up to date.
62905         * m4/mktime.m4: Remove file.
62906
62907         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
62908         * m4/uptime.m4: Likewise.
62909         * m4/uintmax_t.m4: Likewise.
62910
62911 1999-01-28  Jim Meyering  <meyering@ascend.com>
62912
62913         * m4/jm-macros.m4: Use jm_AFS.
62914         * m4/afs.m4: New file (from fileutils' configure.in).
62915
62916         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
62917         * m4/chown.m4: Likewise.
62918         * m4/d-ino.m4: Likewise.
62919         * m4/d-type.m4: Likewise.
62920         * m4/fnmatch.m4: Likewise.
62921         * m4/getgroups.m4: Likewise.
62922         * m4/gettext.m4: Likewise.
62923         * m4/jm-mktime.m4: Likewise.
62924         * m4/jm-winsz2.m4: Likewise.
62925         * m4/lcmessage.m4: Likewise.
62926         * m4/ls-mntd-fs.m4: Likewise.
62927         * m4/malloc.m4: Likewise.
62928         * m4/memcmp.m4: Likewise.
62929         * m4/putenv.m4: Likewise.
62930         * m4/realloc.m4: Likewise.
62931         * m4/st_mtim.m4: Likewise.
62932         * m4/strftime.m4: Likewise.
62933
62934 1999-01-16  Jim Meyering  <meyering@ascend.com>
62935
62936         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
62937         (ARGMATCH_DIE_DECL): Define.
62938
62939 1999-01-12  Jim Meyering  <meyering@ascend.com>
62940
62941         * m4/Makefile.am.in: Rewrite to avoid using fmt.
62942         Reported by Lars Hecking.
62943
62944 1999-01-10  Jim Meyering  <meyering@ascend.com>
62945
62946         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
62947         gross kludge.
62948         * m4/inttypes_h.m4: Likewise.
62949         * m4/lstat.m4: Likewise.
62950         * m4/malloc.m4: Likewise.
62951         * m4/readdir.m4: Likewise.
62952         * m4/realloc.m4: Likewise.
62953         * m4/st_dm_mode.m4: Likewise.
62954         * m4/stat.m4: Likewise.
62955         * m4/utimbuf.m4: Likewise.
62956         * m4/utimes.m4: Likewise.
62957
62958         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
62959         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
62960         comments in config.h.in are meaningful.
62961
62962         * m4/jm-macros.m4: Require autoconf-2.13 here.
62963
62964         * m4/regex.m4: By default, don't use the included regex.c on systems
62965         with glibc 2.  Suggestion from Uli Drepper.
62966
62967 1999-01-02  Jim Meyering  <meyering@ascend.com>
62968
62969         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
62970
62971 1998-12-18  Jim Meyering  <meyering@ascend.com>
62972
62973         * m4/Makefile.am.in (Makefile.am): Simplify rule.
62974         Based on a suggestion from Lars Hecking.
62975
62976 1998-11-16  Paul Eggert  <eggert@twinsun.com>
62977
62978         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
62979
62980 1998-11-16  Jim Meyering  <meyering@ascend.com>
62981
62982         * m4/lfs.m4: Double-quote the `uname...` expression.
62983
62984 1998-11-14  Jim Meyering  <meyering@ascend.com>
62985
62986         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
62987         * m4/stat.m4: Likewise.
62988
62989 1998-11-03  Jim Meyering  <meyering@ascend.com>
62990
62991         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
62992         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
62993
62994 1998-10-18  Jim Meyering  <meyering@ascend.com>
62995
62996         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
62997
62998 1998-10-17  Jim Meyering  <meyering@ascend.com>
62999
63000         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
63001         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
63002         calls for those previously hard-coded headers.  Instead, take a new
63003         parameter.
63004         (jm_CHECK_DECLARATIONS): Reflect interface change.
63005         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
63006         (jm_CHECK_DECL_LOCALTIME_R): New macro.
63007
63008         * m4/mktime.m4: Test for spring-forward gap before long-running test.
63009
63010 1998-10-14  Jim Meyering  <meyering@ascend.com>
63011
63012         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
63013         instead of "TZ=America/Vancouver".  From Paul Eggert.
63014
63015 1998-10-11  Jim Meyering  <meyering@ascend.com>
63016
63017         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
63018         This adds a test for a recently added compatibility fix for mktime.c.
63019         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
63020
63021 1998-09-27  Jim Meyering  <meyering@ascend.com>
63022
63023         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
63024
63025         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
63026         ../configure.in, including a change from Gordon Matzigkeit to allow
63027         cross-compiling for the Hurd.
63028
63029         * m4/glibc.m4: New file/macro to test for the GNU C Library
63030         versions 1 and 2.  From Gordon Matzigkeit.
63031         Indent.
63032
63033 1998-09-21  Jim Meyering  <meyering@ascend.com>
63034
63035         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
63036
63037 1998-08-18  Paul Eggert  <eggert@twinsun.com>
63038
63039         Port nanosecond-resolution times to UnixWare 2.1.2 and
63040         pedantic Solaris 2.6.
63041
63042         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
63043         AC_STRUCT_ST_MTIM.
63044         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
63045         Generate name of ns member, instead of just 1 or undef.
63046         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
63047
63048 1998-08-15  Jim Meyering  <meyering@ascend.com>
63049
63050         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
63051         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
63052         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
63053         instead of jm_TYPE_SSIZE_T.
63054
63055 1998-08-12  Jim Meyering  <meyering@ascend.com>
63056
63057         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
63058
63059 1998-08-02  Jim Meyering  <meyering@ascend.com>
63060
63061         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
63062         in acconfig.h manually.
63063
63064 1998-07-31  Paul Eggert  <eggert@twinsun.com>
63065
63066         * m4/st_mtim.m4: New file.
63067
63068 1998-07-28  Jim Meyering  <meyering@ascend.com>
63069
63070         * m4/utimes.m4: Undef stat.
63071
63072 1998-07-25  Jim Meyering  <meyering@ascend.com>
63073
63074         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
63075         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
63076
63077 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
63078
63079         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
63080         uid and gid actually remain unchanged.
63081
63082 1998-07-07  Jim Meyering  <meyering@ascend.com>
63083
63084         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
63085
63086 1998-07-04  Jim Meyering  <meyering@ascend.com>
63087
63088         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
63089         to prove that this macro can be used in packages without regex.c.
63090
63091 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
63092
63093         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
63094         is to be used.
63095
63096 1998-07-03  Jim Meyering  <meyering@ascend.com>
63097
63098         * m4/gettext.m4: Add -lintl if it's found to be necessary.
63099
63100         * m4/gettext.m4: New file -- from gettext-0.10.35.
63101         * m4/lcmessage.m4: Likewise.
63102         * m4/progtest.m4: Likewise.
63103
63104         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
63105         * m4/jm-macros.m4: Require the new macro.
63106
63107 1998-06-29  Jim Meyering  <meyering@ascend.com>
63108
63109         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
63110         for the definition of NGROUPS (used in a system header included
63111         by sys/mount.h).
63112
63113 1998-06-28  Jim Meyering  <meyering@ascend.com>
63114
63115         * m4/ls-mntd-fs.m4: New file.
63116         * m4/fstypename.m4: New file.
63117
63118         * m4/jm-macros.m4: Require the new macro.
63119         * m4/jm-glibc-io.m4: New file.
63120
63121 1998-05-19  Jim Meyering  <meyering@ascend.com>
63122
63123         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
63124         * m4/lchown.m4: New file.
63125
63126         * m4/Makefile.am.in: New file.
63127         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
63128
63129 1998-05-14  Jim Meyering  <meyering@ascend.com>
63130
63131         * m4/Makefile.am (EXTRA_DIST): Add them.
63132         * m4/jm-macros.m4: New file.
63133         * m4/utimbuf.m4: New file.
63134
63135 1998-05-12  Jim Meyering  <meyering@ascend.com>
63136
63137         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
63138
63139 1998-05-11  Jim Meyering  <meyering@ascend.com>
63140
63141         * m4/isc-posix.m4: New file.
63142
63143 1998-05-10  Jim Meyering  <meyering@ascend.com>
63144
63145         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
63146
63147 1998-05-09  Jim Meyering  <meyering@ascend.com>
63148
63149         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
63150         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
63151         with automake.
63152
63153         * m4/ssize_t.m4: New file.
63154         * m4/mktime.m4: Remove file -- the new automake has this now.
63155
63156 1998-04-26  Jim Meyering  <meyering@ascend.com>
63157
63158         * m4/assert.m4: New file.
63159         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
63160
63161 1998-04-05  Jim Meyering  <meyering@ascend.com>
63162
63163         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
63164         (jm_PREREQ): Use it here.
63165
63166 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
63167
63168         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
63169         in acconfig.h.
63170
63171 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
63172
63173         * m4/prereq.m4: New file.
63174         * m4/error.m4: New file.
63175         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
63176
63177 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
63178
63179         * m4/getline.m4: Don't set am_cv_func_working_getline before the
63180         cache-check for the same variable -- that defeated the purpose of
63181         the test; the test program was never run.  This was a problem only
63182         on systems with losing getline functions -- HP-UX 10.20 is one.
63183         Reported by Bjorn Helgaas.
63184
63185 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
63186
63187         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
63188
63189 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
63190
63191         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
63192
63193         * m4/const.m4: New file.  Use an initializer in this declaration
63194         typedef int charset[2]; const charset x;
63195         Reported by Bob Glickstein.
63196
63197 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
63198
63199         * m4/chown.m4: Fix reversed types on -1 args to chown.
63200         From Kaveh Ghazi.
63201
63202 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
63203
63204         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
63205         Add lseek and memchr.
63206
63207         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
63208         T.E.Dickey <dickey@clark.net> said that some older preprocessors
63209         have a 20-character limit on names.
63210
63211 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
63212
63213         * m4/inttypes_h.m4: New file.
63214         * m4/uintmax_t.m4: New file.
63215         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
63216
63217
63218         -----
63219
63220         Local Variables:
63221         coding: utf-8
63222         End:
63223
63224         Copyright (C) 1997-2010 Free Software Foundation, Inc.
63225
63226         Copying and distribution of this file, with or without
63227         modification, are permitted provided the copyright notice
63228         and this notice are preserved.